0001558370-23-018043.txt : 20231108 0001558370-23-018043.hdr.sgml : 20231108 20231107174440 ACCESSION NUMBER: 0001558370-23-018043 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 85 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231108 DATE AS OF CHANGE: 20231107 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Primoris Services Corp CENTRAL INDEX KEY: 0001361538 STANDARD INDUSTRIAL CLASSIFICATION: WATER, SEWER, PIPELINE, COMM AND POWER LINE CONSTRUCTION [1623] IRS NUMBER: 204743916 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34145 FILM NUMBER: 231385300 BUSINESS ADDRESS: STREET 1: 2300 N. FIELD STREET, SUITE 1900 CITY: DALLAS STATE: TX ZIP: 75201 BUSINESS PHONE: 214-740-5600 MAIL ADDRESS: STREET 1: 2300 N. FIELD STREET, SUITE 1900 CITY: DALLAS STATE: TX ZIP: 75201 FORMER COMPANY: FORMER CONFORMED NAME: Primoris Services CORP DATE OF NAME CHANGE: 20080821 FORMER COMPANY: FORMER CONFORMED NAME: Rhapsody Acquisition Corp. DATE OF NAME CHANGE: 20060503 10-Q 1 prim-20230930x10q.htm 10-Q
http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent0001361538--12-312023Q3falsehttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent5335261153124899http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrentP15Yhttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent00013615382022-02-2800013615382021-11-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2023-07-012023-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2023-01-012023-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2022-07-012022-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2022-01-012022-09-300001361538us-gaap:CommonStockMember2023-07-012023-09-300001361538us-gaap:CommonStockMember2023-01-012023-09-300001361538us-gaap:CommonStockMember2022-07-012022-09-300001361538us-gaap:CommonStockMember2022-01-012022-09-300001361538us-gaap:RetainedEarningsMember2023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001361538us-gaap:RetainedEarningsMember2023-06-300001361538us-gaap:AdditionalPaidInCapitalMember2023-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-3000013615382023-06-300001361538us-gaap:RetainedEarningsMember2022-12-310001361538us-gaap:AdditionalPaidInCapitalMember2022-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001361538us-gaap:RetainedEarningsMember2022-09-300001361538us-gaap:AdditionalPaidInCapitalMember2022-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-300001361538us-gaap:RetainedEarningsMember2022-06-300001361538us-gaap:AdditionalPaidInCapitalMember2022-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-3000013615382022-06-300001361538us-gaap:RetainedEarningsMember2021-12-310001361538us-gaap:AdditionalPaidInCapitalMember2021-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001361538us-gaap:CommonStockMember2023-09-300001361538us-gaap:CommonStockMember2023-06-300001361538us-gaap:CommonStockMember2022-12-310001361538us-gaap:CommonStockMember2022-09-300001361538us-gaap:CommonStockMember2022-06-300001361538us-gaap:CommonStockMember2021-12-310001361538us-gaap:RestrictedStockUnitsRSUMember2023-07-012023-09-300001361538us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-09-300001361538us-gaap:RestrictedStockUnitsRSUMember2022-07-012022-09-300001361538us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-09-300001361538srt:MinimumMember2024-10-012023-09-300001361538srt:MaximumMember2024-10-012023-09-3000013615382023-10-012023-09-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2023-07-012023-09-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2023-07-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2023-07-012023-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2023-07-012023-09-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2023-07-012023-09-300001361538us-gaap:FixedPriceContractMember2023-07-012023-09-300001361538prim:UnitPriceContractsMember2023-07-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMember2023-07-012023-09-300001361538prim:MasterServiceAgreementCustomersMember2023-07-012023-09-300001361538prim:CostReimbursableContractsMember2023-07-012023-09-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2023-01-012023-09-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2023-01-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2023-01-012023-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2023-01-012023-09-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2023-01-012023-09-300001361538us-gaap:FixedPriceContractMember2023-01-012023-09-300001361538prim:UnitPriceContractsMember2023-01-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMember2023-01-012023-09-300001361538prim:MasterServiceAgreementCustomersMember2023-01-012023-09-300001361538prim:CostReimbursableContractsMember2023-01-012023-09-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2022-07-012022-09-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2022-07-012022-09-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2022-07-012022-09-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2022-07-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-07-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2022-07-012022-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-07-012022-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2022-07-012022-09-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2022-07-012022-09-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2022-07-012022-09-300001361538us-gaap:FixedPriceContractMember2022-07-012022-09-300001361538prim:UnitPriceContractsMember2022-07-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMember2022-07-012022-09-300001361538prim:MasterServiceAgreementCustomersMember2022-07-012022-09-300001361538prim:CostReimbursableContractsMember2022-07-012022-09-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2022-01-012022-09-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2022-01-012022-09-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2022-01-012022-09-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2022-01-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-01-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2022-01-012022-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-01-012022-09-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2022-01-012022-09-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2022-01-012022-09-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2022-01-012022-09-300001361538us-gaap:FixedPriceContractMember2022-01-012022-09-300001361538prim:UnitPriceContractsMember2022-01-012022-09-300001361538prim:NonMasterServiceAgreementCustomersMember2022-01-012022-09-300001361538prim:MasterServiceAgreementCustomersMember2022-01-012022-09-300001361538prim:CostReimbursableContractsMember2022-01-012022-09-300001361538prim:AlbertaScrewPilesLtdMember2022-03-012022-03-010001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-3000013615382022-01-012022-12-310001361538us-gaap:RevolvingCreditFacilityMember2022-08-010001361538us-gaap:LetterOfCreditMember2022-08-010001361538us-gaap:LetterOfCreditMember2023-09-300001361538prim:CreditFacilityWithCanadianBankMember2023-09-300001361538prim:ForeignLettersOfCreditMember2023-09-300001361538prim:UAndDSegmentMember2023-09-300001361538prim:EnergyRenewablesMember2023-09-300001361538prim:UAndDSegmentMember2022-12-310001361538prim:EnergyRenewablesMember2022-12-310001361538us-gaap:TradeNamesMember2023-09-300001361538us-gaap:CustomerRelationshipsMember2023-09-300001361538us-gaap:TradeNamesMember2022-12-310001361538us-gaap:CustomerRelationshipsMember2022-12-310001361538us-gaap:EmployeeStockMember2023-07-012023-09-300001361538us-gaap:EmployeeStockMember2023-01-012023-09-300001361538us-gaap:EmployeeStockMember2022-07-012022-09-300001361538us-gaap:EmployeeStockMember2022-01-012022-09-300001361538us-gaap:RetainedEarningsMember2023-07-012023-09-300001361538us-gaap:RetainedEarningsMember2023-01-012023-09-300001361538us-gaap:RetainedEarningsMember2022-07-012022-09-300001361538us-gaap:RetainedEarningsMember2022-01-012022-09-300001361538prim:SecondAgreementMemberus-gaap:InterestRateSwapMember2023-09-300001361538prim:FirstAgreementMemberus-gaap:InterestRateSwapMember2023-09-300001361538prim:SecondAgreementMemberus-gaap:InterestRateSwapMember2023-01-310001361538prim:FirstAgreementMemberus-gaap:InterestRateSwapMember2018-09-130001361538us-gaap:InterestRateSwapMember2023-07-012023-09-300001361538us-gaap:InterestRateSwapMember2023-01-012023-09-300001361538us-gaap:InterestRateSwapMember2022-07-012022-09-300001361538us-gaap:InterestRateSwapMember2022-01-012022-09-300001361538us-gaap:InterestRateSwapMemberus-gaap:LoansPayableMember2023-01-310001361538us-gaap:InterestRateSwapMemberus-gaap:LoansPayableMember2018-09-130001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-09-300001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001361538us-gaap:InterestRateSwapMember2023-09-300001361538us-gaap:InterestRateSwapMember2022-12-310001361538us-gaap:LoansPayableMember2022-08-010001361538us-gaap:RevolvingCreditFacilityMember2023-09-300001361538us-gaap:MortgagesMember2023-09-300001361538us-gaap:LoansPayableMember2023-09-300001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2023-09-300001361538us-gaap:RevolvingCreditFacilityMember2022-12-310001361538us-gaap:MortgagesMember2022-12-310001361538us-gaap:LoansPayableMember2022-12-310001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2022-12-310001361538us-gaap:InterestRateSwapMemberus-gaap:LoansPayableMember2023-01-012023-09-3000013615382023-08-022023-08-0200013615382023-05-032023-05-0300013615382023-02-222023-02-2200013615382022-11-032022-11-0300013615382022-08-032022-08-0300013615382022-05-042022-05-0400013615382022-02-242022-02-240001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-09-300001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-3100013615382022-09-3000013615382021-12-310001361538prim:PlhGroupIncMemberus-gaap:TradeNamesMember2022-08-010001361538prim:PlhGroupIncMemberus-gaap:CustomerRelationshipsMember2022-08-010001361538prim:AlbertaScrewPilesLtdMember2023-01-012023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001361538us-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-300001361538prim:SpecialPurposeEntityMemberus-gaap:AccountsReceivableMember2023-09-300001361538srt:MaximumMember2023-09-300001361538prim:NonUnitedStatesMember2022-01-012022-12-310001361538us-gaap:EmployeeStockMember2022-05-012022-05-310001361538prim:PlhGroupIncMember2023-01-012023-09-300001361538us-gaap:LandBuildingsAndImprovementsMember2022-06-222022-06-2200013615382023-10-012023-01-012023-09-300001361538prim:NonUnitedStatesMember2023-01-012023-09-300001361538prim:NonUnitedStatesMember2022-01-012022-09-300001361538prim:BCommConstructorLlcMember2022-06-082022-06-080001361538prim:UAndDSegmentMember2023-07-012023-09-300001361538prim:EnergyRenewablesMember2023-07-012023-09-300001361538prim:UAndDSegmentMember2023-01-012023-09-300001361538prim:EnergyRenewablesMember2023-01-012023-09-300001361538prim:UAndDSegmentMember2022-07-012022-09-300001361538prim:EnergyRenewablesMember2022-07-012022-09-3000013615382022-07-012022-09-300001361538prim:UAndDSegmentMember2022-01-012022-09-300001361538prim:EnergyRenewablesMember2022-01-012022-09-3000013615382022-01-012022-09-300001361538prim:LongTermRetentionPlanMember2023-01-012023-09-300001361538prim:LongTermRetentionPlanMember2022-01-012022-09-300001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2022-08-012022-08-010001361538us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-09-300001361538us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001361538prim:AlbertaScrewPilesLtdMember2022-03-010001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001361538prim:RenewableEnergyCustomerMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-07-012022-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-09-300001361538prim:TopTenCustomersMembersrt:MinimumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001361538prim:TopTenCustomersMembersrt:MaximumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001361538prim:PlhGroupIncMember2022-08-012022-08-010001361538prim:BCommConstructorLlcMember2022-06-080001361538prim:PlhGroupIncMember2022-08-010001361538prim:PlhGroupIncMember2022-10-012023-06-300001361538prim:PlhGroupIncMember2022-07-012022-09-300001361538prim:PlhGroupIncMember2022-01-012022-09-300001361538prim:AlbertaScrewPilesLtdMember2023-03-3100013615382023-09-3000013615382022-12-3100013615382023-07-012023-09-3000013615382023-11-0300013615382023-01-012023-09-30xbrli:sharesiso4217:USDxbrli:pureprim:itemprim:customerprim:instrumentiso4217:USDxbrli:sharesiso4217:CADprim:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

(Mark One)

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934.

For the quarterly period ended September 30, 2023

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934.

For the transition period from                    to                      .

Commission file number 001-34145

Primoris Services Corporation

(Exact name of registrant as specified in its charter)

Delaware

    

20-4743916

(State or Other Jurisdiction of

(I.R.S. Employer

Incorporation or Organization)

Identification No.)

2300 N. Field Street, Suite 1900

Dallas, Texas

75201

(Address of Principal Executive Offices)

(Zip Code)

Registrant’s telephone number, including area code: (214740-5600

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

Trading symbol(s)

Name of each exchange on which registered

Common Stock, $0.0001 par value

PRIM

New York Stock Exchange

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.  Yes   No 

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 (Section 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).  Yes   No 

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. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company”, and “emerging growth company” in Rule 12b-2 of the Exchange Act.:

Large accelerated filer  

    

Accelerated filer  

Non-accelerated filer  

Smaller reporting company  

Emerging growth company  

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.

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).  Yes    No 

At November 3, 2023, 53,360,411 shares of the registrant’s common stock, par value $0.0001 per share, were outstanding.

PRIMORIS SERVICES CORPORATION

INDEX

    

Page No.

Part I. Financial Information

Item 1. Financial Statements:

—Condensed Consolidated Balance Sheets at September 30, 2023 and December 31, 2022 (Unaudited)

3

—Condensed Consolidated Statements of Income for the three and nine months ended September 30, 2023 and 2022 (Unaudited)

4

—Condensed Consolidated Statements of Comprehensive Income for the three and nine months ended September 30, 2023 and 2022 (Unaudited)

5

—Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2023 and 2022 (Unaudited)

6

—Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2023 and 2022 (Unaudited)

8

—Notes to Condensed Consolidated Financial Statements (Unaudited)

10

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

27

Item 3. Quantitative and Qualitative Disclosures About Market Risk

40

Item 4. Controls and Procedures

40

Part II. Other Information

Item 1. Legal Proceedings

41

Item 5. Other Information

41

Item 6. Exhibits

41

Signatures

42

2

PART I.  FINANCIAL INFORMATION

ITEM 1.  FINANCIAL STATEMENTS

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

(Unaudited)

September 30,

December 31,

    

2023

    

2022

ASSETS

Current assets:

Cash and cash equivalents

$

160,736

$

248,692

Accounts receivable, net

 

851,612

 

663,119

Contract assets

 

743,836

 

616,224

Prepaid expenses and other current assets

 

134,967

 

176,350

Total current assets

 

1,891,151

 

1,704,385

Property and equipment, net

 

489,395

 

493,859

Operating lease assets

308,111

202,801

Intangible assets, net

 

232,752

 

249,381

Goodwill

 

857,650

 

871,808

Other long-term assets

 

24,112

 

21,786

Total assets

$

3,803,171

$

3,544,020

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current liabilities:

Accounts payable

$

500,093

$

534,956

Contract liabilities

 

387,767

 

275,947

Accrued liabilities

 

321,639

 

245,837

Dividends payable

 

3,203

 

3,187

Current portion of long-term debt

 

85,233

 

78,137

Total current liabilities

 

1,297,935

 

1,138,064

Long-term debt, net of current portion

 

1,013,519

 

1,065,315

Noncurrent operating lease liabilities, net of current portion

222,524

130,787

Deferred tax liabilities

 

29,235

 

57,101

Other long-term liabilities

 

43,150

 

43,915

Total liabilities

 

2,606,363

 

2,435,182

Commitments and contingencies (See Note 14)

Stockholders’ equity

Common stock—$0.0001 par value; 90,000,000 shares authorized; 53,352,611 and 53,124,899 issued and outstanding at September 30, 2023 and December 31, 2022, respectively

 

6

 

6

Additional paid-in capital

 

272,800

 

263,771

Retained earnings

 

926,569

 

847,681

Accumulated other comprehensive income

(2,567)

(2,620)

Total stockholders’ equity

 

1,196,808

 

1,108,838

Total liabilities and stockholders’ equity

$

3,803,171

$

3,544,020

See Accompanying Notes to Condensed Consolidated Financial Statements

3

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF INCOME

(In Thousands, Except Per Share Amounts)

(Unaudited)

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2023

    

2022

    

2023

    

2022

Revenue

$

1,529,486

$

1,284,128

$

4,199,760

$

3,091,461

Cost of revenue

 

1,355,591

 

1,129,221

 

3,768,869

 

2,787,960

Gross profit

 

173,895

 

154,907

 

430,891

 

303,501

Selling, general and administrative expenses

 

84,404

 

75,721

 

247,984

 

190,905

Transaction and related costs

1,084

12,706

4,677

18,228

Gain on sale and leaseback transaction

(40,084)

Operating income

 

88,407

 

66,480

 

178,230

 

134,452

Other income (expense):

Foreign exchange (loss) gain, net

(1)

(683)

1,301

(239)

Other income, net

 

467

 

128

 

1,540

 

274

Interest expense, net

 

(21,065)

 

(13,075)

 

(56,443)

 

(20,656)

Income before provision for income taxes

 

67,808

 

52,850

 

124,628

 

113,831

Provision for income taxes

 

(19,664)

 

(9,810)

 

(36,142)

 

(22,311)

Net income

48,144

43,040

88,486

91,520

Dividends per common share

$

0.06

$

0.06

$

0.18

$

0.18

Earnings per share:

Basic

$

0.90

$

0.81

$

1.66

$

1.72

Diluted

$

0.89

$

0.80

$

1.63

$

1.70

Weighted average common shares outstanding:

Basic

 

53,339

 

53,181

 

53,275

 

53,228

Diluted

 

54,351

 

53,748

 

54,171

 

53,778

See Accompanying Notes to Condensed Consolidated Financial Statements

4

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(In Thousands)

(Unaudited)

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2023

    

2022

    

2023

    

2022

Net income

$

48,144

$

43,040

$

88,486

$

91,520

Other comprehensive income, net of tax:

Foreign currency translation adjustments

(1,440)

 

(4,058)

53

(3,881)

Comprehensive income

$

46,704

$

38,982

$

88,539

$

87,639

See Accompanying Notes to Condensed Consolidated Financial Statements

5

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share and Per Share Amounts)

(Unaudited)

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Equity

Balance, June 30, 2023

 

53,328,873

$

6

$

269,031

$

881,628

$

(1,127)

$

1,149,538

Net income

 

 

 

 

48,144

 

48,144

Foreign currency translation adjustments, net of tax

(1,440)

(1,440)

Issuance of shares

15,074

 

 

479

 

 

479

Conversion of Restricted Stock Units, net of shares withheld for taxes

8,664

(278)

(278)

Stock-based compensation

 

 

 

3,568

 

 

3,568

Dividends declared ($0.06 per share)

 

 

 

 

(3,203)

 

(3,203)

Balance, September 30, 2023

 

53,352,611

$

6

$

272,800

$

926,569

$

(2,567)

$

1,196,808

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Equity

Balance, December 31, 2022

 

53,124,899

$

6

$

263,771

$

847,681

$

(2,620)

$

1,108,838

Net income

 

 

 

 

88,486

 

88,486

Foreign currency translation adjustments, net of tax

53

53

Issuance of shares

 

65,023

1,742

 

1,742

Conversion of Restricted Stock Units, net of shares withheld for taxes

162,689

(1,668)

(1,668)

Stock-based compensation

8,955

8,955

Dividends declared ($0.18 per share)

 

(9,598)

 

(9,598)

Balance, September 30, 2023

 

53,352,611

$

6

$

272,800

$

926,569

$

(2,567)

$

1,196,808

6

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Continued)

(In Thousands, Except Share and Per Share Amounts)

(Unaudited)

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

0

Equity

Balance, June 30, 2022

 

53,209,461

$

6

$

262,394

$

769,523

$

875

$

1,032,798

Net income

 

 

 

 

43,040

 

 

43,040

Foreign currency translation adjustments, net of tax

(4,058)

(4,058)

Issuance of shares

 

19,631

 

 

393

 

 

 

393

Conversion of Restricted Stock Units, net of shares withheld for taxes

11,215

(104)

(104)

Stock-based compensation

1,753

1,753

Purchase of stock

(129,200)

(2,620)

(2,620)

Dividends declared ($0.06 per share)

 

 

 

 

(3,194)

 

 

(3,194)

Balance, September 30, 2022

 

53,111,107

$

6

$

261,816

$

809,369

$

(3,183)

$

1,068,008

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

0

Equity

Balance, December 31, 2021

 

53,194,585

$

6

$

261,918

$

727,433

$

698

$

990,055

Net income

 

 

 

 

91,520

 

 

91,520

Foreign currency translation adjustments, net of tax

(3,881)

(3,881)

Issuance of shares

 

62,013

 

 

1,464

 

 

 

1,464

Conversion of Restricted Stock Units, net of shares withheld for taxes

131,709

(1,324)

(1,324)

Stock-based compensation

5,748

5,748

Purchase of stock

(277,200)

(5,990)

(5,990)

Dividends declared ($0.18 per share)

 

 

 

 

(9,584)

 

 

(9,584)

Balance, September 30, 2022

 

53,111,107

$

6

$

261,816

$

809,369

$

(3,183)

$

1,068,008

See Accompanying Notes to Condensed Consolidated Financial Statements

7

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

(Unaudited)

Nine Months Ended

September 30, 

    

2023

    

2022

Cash flows from operating activities:

Net income

$

88,486

$

91,520

Adjustments to reconcile net income to net cash used in operating activities (net of effect of acquisitions):

Depreciation and amortization

 

81,454

 

69,348

Stock-based compensation expense

 

8,955

 

5,748

Gain on sale of property and equipment

 

(29,603)

 

(17,987)

Gain on sale and leaseback transaction

(40,084)

Unrealized gain on interest rate swap

(3,001)

(5,616)

Other non-cash items

1,546

1,877

Changes in assets and liabilities:

Accounts receivable

 

(185,815)

 

(122,867)

Contract assets

 

(128,360)

 

(148,044)

Other current assets

 

32,961

 

(98,489)

Other long-term assets

633

1,975

Accounts payable

(34,855)

133,731

Contract liabilities

 

106,042

 

(10,364)

Operating lease assets and liabilities, net

 

3,114

 

(896)

Accrued liabilities

 

51,182

 

40,016

Other long-term liabilities

 

114

 

(1,903)

Net cash used in operating activities

 

(7,147)

 

(102,035)

Cash flows from investing activities:

Purchase of property and equipment

 

(82,500)

 

(75,696)

Proceeds from sale of assets

 

47,579

 

19,237

Proceeds from sale and leaseback transaction, net of related expenses

49,887

Cash paid for acquisitions, net of cash and restricted cash acquired

9,300

(478,438)

Net cash used in investing activities

 

(25,621)

 

(485,010)

Cash flows from financing activities:

Borrowings under revolving lines of credit

440,223

169,943

Payments on revolving lines of credit

 

(420,223)

 

(19,804)

Proceeds from issuance of long-term debt

 

 

469,531

Payments on long-term debt

 

(66,055)

 

(77,751)

Proceeds from issuance of common stock

681

596

Debt issuance costs

(6,643)

Dividends paid

 

(9,582)

 

(9,583)

Purchase of common stock

(5,990)

Other

(5,067)

 

(4,947)

Net cash (used in) provided by financing activities

 

(60,023)

 

515,352

Effect of exchange rate changes on cash, cash equivalents and restricted cash

346

(924)

Net change in cash, cash equivalents and restricted cash

 

(92,445)

 

(72,617)

Cash, cash equivalents and restricted cash at beginning of the period

 

258,991

 

205,643

Cash, cash equivalents and restricted cash at end of the period

$

166,546

$

133,026

See Accompanying Notes to Condensed Consolidated Financial Statements

8

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Continued)

(In Thousands)

(Unaudited)

SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION

Nine Months Ended September 30, 

    

2023

    

2022

Cash paid for interest

$

57,351

$

20,025

Cash paid for income taxes, net of refunds received

(6,622)

2,540

Leased assets obtained in exchange for new operating leases

181,328

40,144

SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES

Nine Months Ended September 30, 

    

2023

    

2022

Dividends declared and not yet paid

$

3,203

$

3,195

See Accompanying Notes to Condensed Consolidated Financial Statements

9

PRIMORIS SERVICES CORPORATION

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Dollars in Thousands, Except Share and Per Share Amounts)

(Unaudited)

Note 1—Nature of Business

Organization and operationsPrimoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments.

We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.

We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.

Reportable Segments — Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, and the Energy segment is made up of our former Energy/Renewables and Pipeline segments. See Note 15 – “Reportable Segments” for a brief description of the reportable segments and their operations.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

Note 2—Basis of Presentation

Interim condensed consolidated financial statements The interim condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 28, 2023, which contains our audited consolidated financial statements for the year ended December 31, 2022, have been omitted.

This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. 

10

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which is recorded as restricted cash at December 31, 2022. As of September 30, 2023 all of the restricted cash from the PLH acquisition had been released. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30,

    

2023

    

2022

Cash and cash equivalents

$

160,736

$

111,937

Restricted cash included in prepaid expenses and other current assets

5,810

21,089

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

166,546

$

133,026

    

    

December 31,

    

2022

    

2021

Cash and cash equivalents

$

248,692

$

200,512

Restricted cash included in prepaid expense and other current assets

10,299

5,131

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

258,991

$

205,643

Accounts Receivable Securitization Facility In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. The SPE owned $145.7 million of trade accounts receivable as of September 30, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheets. For the three and nine months ended September 30, 2023, we received $40.0 million and $65.0 million, respectively, in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statements of Cash Flows. As of September 30, 2023, we had $35.0 million available capacity under the Facility.

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 40% to 50% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

For the three and nine months ended September 30, 2022, approximately 53.3% and 48.4%, respectively, of total revenue was generated from our top ten customers. For the three months ended September 30, 2022, one renewable energy customer represented approximately 11.3% of total revenue and for the nine months ended September 30, 2022, no one customer accounted for more than 10% of our total revenue.

11

Note 3—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.

In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at September 30, 2023 and December 31, 2022 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2023:

Cash and cash equivalents

$

160,736

 

$

 

$

Interest rate swap

4,236

Liabilities as of September 30, 2023:

Contingent consideration

68

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.

The interest rate swaps are measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 – “Derivative Instruments” for additional information.

On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statements of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of a contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration liability.

Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

12

The March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “Acquisitions”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “Business Combinations” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration during the nine months ended September 30, 2023, related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.

Note 4—Acquisitions

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused specialty construction company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.

During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

13

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.

The intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. It is impractical to segregate and identify revenue and gross profit for PLH as we have integrated a material portion of PLH into our existing operations.

Supplemental Unaudited Pro Forma Information for the three and nine months ended September 30, 2022

The following pro forma information for the three and nine months ended September 30, 2022 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021. The supplemental pro forma information has been adjusted to include:

the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;

the pro forma impact of nonrecurring transaction and related costs directly attributable to the acquisition; and

the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using a tax rate of 18.6% and 19.6% for the three and nine months ended September 30, 2022, respectively.

14

The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH acquisition been completed on January 1, 2021. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (in thousands, except per share amounts):

Three Months Ended

Nine Months Ended

September 30, 2022

    

September 30, 2022

(unaudited)

(unaudited)

Revenue

$

1,339,477

$

3,485,099

Income before provision for income taxes

62,760

101,760

Net income

51,111

81,815

Weighted average common shares outstanding:

Basic

 

53,181

 

53,228

Diluted

 

53,748

 

53,778

Earnings per share:

Basic

$

0.96

$

1.54

Diluted

0.95

1.52

Acquisition of B Comm Holdco, LLC

On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million.

During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The fair values of the assets acquired and liabilities assumed consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per year.

Note 5—Revenue

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. A substantial portion of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we can’t reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

15

We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.

As of September 30, 2023, we had $5.0 billion of remaining performance obligations. We expect to recognize approximately 57.7% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.

Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected.

The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time.

Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.

As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three and nine months ended September 30, 2023, revenue recognized related to performance obligations satisfied in previous periods was $5.8 million and $7.0 million, respectively. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any

16

previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods.

At September 30, 2023, we had approximately $181.4 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $164.6 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2023.

In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.

The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability.

The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:

unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;

retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and

contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project.

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Unbilled revenue

$

505,002

$

420,511

Retention receivable

208,533

174,149

Contract materials (not yet installed)

 

30,301

 

21,564

$

743,836

$

616,224

Contract assets increased by $127.6 million compared to December 31, 2022 primarily due to higher unbilled revenue and retention receivable.

The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:

deferred revenue, which arises when billings are in excess of revenue recognized to date; and

the accrued loss provision.

17

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Deferred revenue

$

382,350

$

269,853

Accrued loss provision

 

5,417

 

6,094

$

387,767

$

275,947

Contract liabilities increased by $111.8 million compared to December 31, 2022 primarily due to higher deferred revenue.

Revenue recognized for the nine months ended September 30, 2023, that was included in the contract liability balance at December 31, 2022, was approximately $228.3 million.

The following tables present our revenue disaggregated into various categories.

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

505,301

$

139,338

$

644,639

Energy

78,725

806,122

884,847

Total

$

584,026

 

$

945,460

 

$

1,529,486

For the nine months ended September 30, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,354,642

$

459,126

$

1,813,768

Energy

222,649

2,163,343

2,385,992

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

For the three months ended September 30, 2022

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

516,363

 

$

96,645

 

$

613,008

Energy

89,484

581,636

671,120

Total

$

605,847

 

$

678,281

 

$

1,284,128

For the nine months ended September 30, 2022

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,226,511

 

$

221,346

 

 

1,447,857

Energy

224,879

1,418,725

1,643,604

Total

$

1,451,390

 

$

1,640,071

 

$

3,091,461

18

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

106,267

406,368

$

132,004

$

644,639

Energy

535,987

168,146

180,714

884,847

Total

$

642,254

 

$

574,514

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

290,320

$

1,131,044

$

392,404

$

1,813,768

Energy

1,548,206

446,704

391,082

2,385,992

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2022

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

58,602

 

$

397,204

 

$

157,202

 

$

613,008

Energy

440,041

152,501

78,578

671,120

Total

$

498,643

 

$

549,705

 

$

235,780

 

$

1,284,128

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2022

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

123,742

 

$

988,477

 

$

335,638

 

$

1,447,857

Energy

1,080,069

340,890

222,645

1,643,604

Total

$

1,203,811

 

$

1,329,367

 

$

558,283

 

$

3,091,461

(1)Includes time and material and cost reimbursable plus fee contracts.

Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.

Note 6—Goodwill and Intangible Assets

The change in goodwill by segment for the nine months ended September 30, 2023 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2022

716,284

155,524

871,808

Adjustments to identifiable assets acquired and liabilities assumed

 

(12,822)

(1,336)

(14,158)

Balance at September 30, 2023

$

703,462

$

154,188

$

857,650

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(28,716)

4,104

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(73,279)

228,648

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(101,995)

$

232,752

$

334,747

$

(85,366)

$

249,381

19

Amortization expense of intangible assets was $5.2 million and $6.7 million for the three months ended September 30, 2023 and 2022, respectively, and $16.6 million and $13.8 million for the nine months ended September 30, 2023 and 2022, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2023 (remaining three months)

$

5,204

2024

19,701

2025

 

17,661

2026

 

16,141

2027

 

15,604

Thereafter

 

158,441

$

232,752

Note 7—Accounts Payable and Accrued Liabilities

At September 30, 2023 and December 31, 2022, accounts payable included retention amounts of approximately $26.9 million and $21.5 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

140,770

$

114,053

Current operating lease liability

89,253

72,565

Casualty insurance reserves

 

18,890

 

19,935

Corporate income taxes and other taxes

 

39,853

 

16,213

Other

 

32,873

 

23,071

$

321,639

$

245,837

Note 8 — Credit Arrangements

Long-term debt and credit facilities consists of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Term loan

$

897,752

$

933,188

Revolving credit facility

120,000

100,000

Commercial equipment notes

68,089

98,064

Mortgage notes

 

19,838

 

20,483

Total debt

1,105,679

1,151,735

Unamortized debt issuance costs

(6,927)

(8,283)

Total debt, net

$

1,098,752

$

1,143,452

Less: current portion

 

(85,233)

 

(78,137)

Long-term debt, net of current portion

$

1,013,519

$

1,065,315

The weighted average interest rate on total debt outstanding at September 30, 2023 and December 31, 2022 was 6.9% and 6.2%, respectively.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. At September 30, 2023, commercial letters of credit outstanding were $37.8 million. In addition to the commercial letters of credit, there were $120.0 million of outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $167.2 million at September 30, 2023.

20

The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement at September 30, 2023.

On September 13, 2018, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $165.0 million of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 9 – “Derivative Instruments”.

On January 31, 2023, we entered into a second interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 2.25% at September 30, 2023. The interest rate swap matures on January 31, 2025. See Note 9 – “Derivative Instruments”.

Canadian Credit Facilities

We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. At September 30, 2023, commercial letters of credit outstanding were $0.7 million in Canadian dollars and there were no outstanding borrowings. Available capacity at September 30, 2023 was $13.3 million in Canadian dollars.

Note 9 — Derivative Instruments

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.

Interest Rate Risk. We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $300.0 million maturing on January 31, 2025.

Credit Risk. By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

Interest rate swap

Other long-term assets

4,236

21

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2023

    

2022

2023

    

2022

Interest rate swap

 

Interest expense, net

$

1,307

$

854

$

6,904

$

3,797

Cash flows from derivatives settled are reported as cash flows from operating activities.

Note 10—Income Taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.

The effective tax rate on income for the nine months ended September 30, 2023, and 2022 is 29.0% and 19.6%, respectively. For the first nine months of 2023, our tax rate differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. For the first nine months of 2022, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and the release of valuation allowances during the second and third quarters of 2022.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2019. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2017.

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.

Note 11—Dividends and Earnings Per Share

We paid cash dividends during 2023 and 2022 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.

22

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2023 and 2022 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

    

2022

    

2023

    

2022

 

Numerator:

Net income

$

48,144

$

43,040

$

88,486

$

91,520

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,339

 

53,181

 

53,275

 

53,228

Dilutive effect of stock-based awards

 

1,012

 

567

 

896

 

550

Weighted average shares for computation of diluted earnings per share

 

54,351

 

53,748

 

54,171

 

53,778

Earnings per share:

Basic

$

0.90

$

0.81

$

1.66

$

1.72

Diluted

$

0.89

$

0.80

$

1.63

$

1.70

Note 12—Stockholders’ Equity

Common stock

We issued 21,245 and 23,782 shares of common stock in the nine months ended September 30, 2023 and 2022, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million and $0.6 million in the nine months ended September 30, 2023 and 2022, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2023 were a portion of bonus amounts earned in 2022, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2022. The shares purchased in the nine months ended September 30, 2022 were for bonus amounts earned in 2021, and the number of shares was calculated at 75% of the average daily closing market price during December 2021.

During the three months ended September 30, 2023 and 2022, we issued 8,856 and 9,688 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the nine months ended September 30, 2023 and 2022, we issued 31,240 and 28,288 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.

During the three and nine months ended September 30, 2023, a total of 8,664 and 162,689 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 11,215 and 131,709 RSUs, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2022, respectively.

Employee Stock Purchase Plan

In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”) for which, eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share. For the three and nine months ended September 30, 2022, 9,943 shares were purchased at a discounted purchase price of $17.44 per share.

23

Share Purchase Plan

In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In February 2022, our Board of Directors replenished the limit to $25.0 million. During the nine months ended September 30, 2023 we did not purchase any shares of common stock. During the nine months ended September 30, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. As of September 30, 2023, we had $19.0 million remaining for purchase under the share purchase program. The share purchase plan expires on December 31, 2023.

Note 13—Leases

We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets.

Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.

Our leases have remaining lease terms that expire at various dates through 2031, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

2022

    

2023

2022

Operating lease expense (1)

$

31,370

$

19,101

$

79,352

$

54,123

________________________________________

(1)Includes short-term leases which are immaterial.

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2023

2022

Accrued liabilities

$

89,253

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

222,524

 

130,787

$

311,777

$

203,352

Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Condensed Consolidated Statements of Income for the nine months ended September 30, 2022.

24

Note 14—Commitments and Contingencies

Legal proceedings We are subject to claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential litigation loss.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding — At September 30, 2023 and December 31, 2022, we had bid and completion bonds issued and outstanding totaling approximately $6.0 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion at September 30, 2023 and December 31, 2022, respectively.

Note 15—Reportable Segments

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services segments.

Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

The following is a brief description of the reportable segments:

The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.

The Energy segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.

25

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

644,639

 

42.1%

$

613,008

 

47.7%

Energy

884,847

57.9%

671,120

52.3%

Total

$

1,529,486

 

100.0%

$

1,284,128

 

100.0%

For the nine months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

1,813,768

 

43.2%

$

1,447,857

 

46.8%

Energy

2,385,992

56.8%

1,643,604

53.2%

Total

$

4,199,760

 

100.0%

$

3,091,461

 

100.0%

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

64,654

 

10.0%

$

78,046

 

12.7%

Energy

109,241

12.3%

76,861

11.5%

Total

$

173,895

 

11.4%

$

154,907

 

12.1%

For the nine months ended September 30, 

2023

2022

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

164,244

 

9.1%

$

140,755

 

9.7%

Energy

266,647

11.2%

162,746

9.9%

Total

$

430,891

 

10.3%

$

303,501

 

9.8%

Segment Goodwill

The amount of goodwill recorded by each segment at September 30, 2023 and at December 31, 2022 is presented in Note 6 – “Goodwill and Intangible Assets”.

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 5.6% and 6.2% generated from sources outside of the United States during the nine months ended September 30, 2023 and 2022, respectively, principally in Canada. At September 30, 2023 and December 31, 2022, approximately 3.8% and 4.2%, respectively, of total assets were located outside of the United States, principally in Canada.

26

PRIMORIS SERVICES CORPORATION

MANAGEMENT’S DISCUSSION AND ANALYSIS

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

Forward Looking Statements

This Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023 (“Third Quarter 2023 Report”) contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), which are subject to the “safe harbor” created by those sections. Forward-looking statements include information concerning our possible or assumed future results of operations, business strategies, financing plans, competitive position, industry environment, growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements include all statements that are not historical facts and usually can be identified by terms such as “anticipates,” “believes,” “could,” “estimates,” “expects,” “intends,” “may,” “plans,” “potential,” “predicts,” “projects,” “should,” “will,” “would” or similar expressions.

Forward-looking statements include information concerning our possible or assumed future results of operations, business strategies, financing plans, competitive position, industry environment, potential growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements involve known and unknown risks, uncertainties and other factors which may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. Actual results may differ materially as a result of a number of factors, including, among other things, customer timing, project duration, weather, and general economic conditions; changes in our mix of customers, projects, contracts and business; regional or national and/or general economic conditions and demand for our services; price, volatility, and expectations of future prices of oil, natural gas, and natural gas liquids; variations and changes in the margins of projects performed during any particular quarter; increases in the costs to perform services caused by changing conditions; the termination, or expiration of existing agreements or contracts; the budgetary spending patterns of customers; inflation and other increases in construction costs that we may be unable to pass through to our customers; cost or schedule overruns on fixed-price contracts; availability of qualified labor for specific projects; changes in bonding requirements and bonding availability for existing and new agreements; the need and availability of letters of credit; increases in interest rates and slowing economic growth or recession; the instability in the banking system as a result of recent bank failures; costs we incur to support growth, whether organic or through acquisitions; the timing and volume of work under contract; losses experienced in our operations; the results of the review of prior period accounting on certain projects and the impact of adjustments to accounting estimates; developments in governmental investigations and/or inquiries; intense competition in the industries in which we operate; failure to obtain favorable results in existing or future litigation or regulatory proceedings, dispute resolution proceedings or claims, including claims for additional costs; failure of our partners, suppliers or subcontractors to perform their obligations; cyber-security breaches; failure to maintain safe worksites; risks or uncertainties associated with events outside of our control, including conflicts in the Gaza Strip and between Russia and Ukraine, severe weather conditions, public health crises and pandemics, political crises or other catastrophic events; client delays or defaults in making payments; the cost and availability of credit and restrictions imposed by credit facilities; failure to implement strategic and operational initiatives; risks or uncertainties associated with acquisitions, dispositions and investments; possible information technology interruptions or inability to protect intellectual property; the Company’s failure, or the failure of our agents or partners, to comply with laws; the Company's ability to secure appropriate insurance; new or changing legal requirements, including those relating to environmental, health and safety matters; the loss of one or a few clients that account for a significant portion of the Company's revenues; asset impairments; and risks arising from the inability to successfully integrate acquired businesses. We discuss many of these risks in detail in Part I, Item 1A “Risk Factors” of our Annual Report on Form 10-K for the year ended December 31, 2022 and our other filings with the Securities and Exchange Commission (“SEC”). You should read this Third Quarter 2023 Report, our Annual Report on Form 10-K for the year ended December 31, 2022 and our other filings with the SEC completely and with the understanding that our actual future results may be materially different from what we expect.

Given these uncertainties, you should not place undue reliance on these forward-looking statements. Also, forward-looking statements represent our management’s beliefs and assumptions only as of the date of this Third Quarter 2023 Report. We assume no obligation to update these forward-looking statements publicly, or to update the reasons actual results could differ materially from those anticipated in any forward-looking statements, even if new information becomes available.

27

The following discussion and analysis should be read in conjunction with the unaudited financial statements and the accompanying notes included in Part 1, Item 1 of this Third Quarter 2023 Report and our Annual Report on Form 10-K for the year ended December 31, 2022.

Introduction

We are one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, maintenance, replacement, fabrication and engineering services to a diversified base of customers.

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services segments. The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communication systems.

The Energy segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

We have completed major underground and industrial projects for a number of large natural gas transmission and petrochemical companies in the United States, major electrical and gas projects for a number of large utility companies in the United States, significant renewable energy projects for energy companies, as well as projects for our engineering customers. We enter into a large number of contracts each year, and the projects can vary in length from daily work orders to as long as 36 months, and occasionally longer, for completion on larger projects. Although we have not been dependent upon any one customer in any year, a small number of customers tend to constitute a substantial portion of our total revenue in any given year.

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. A portion of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we can’t reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.

28

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired. PLH is a utility-focused specialty construction company with concentration in key fast-growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the utility markets including power delivery, communications, and gas utilities. The total purchase price was funded through a combination of borrowings under our Third Amended and Restated Credit Agreement, dated as of August 1, 2022, which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and borrowings under our revolving credit facility, in which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to $325.0 million (the “Revolving Credit Facility”). We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment.

Acquisition of B Comm Holdco, LLC

On June 8, 2022, we acquired B Comm Holdco, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm was incorporated into our Utilities segment and is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our Master Services Agreement (“MSA”) revenue base and expand our communication services within the utility markets. The total purchase price was funded with borrowings under our Revolving Credit Facility.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired Alberta Screw Piles, Ltd. (“ASP”) for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one year periods ending March 1, 2023 and March 1, 2024, respectively. We incorporated the operations of ASP into our Energy segment.

Material trends and uncertainties

We generate our revenue from construction and engineering projects, as well as from providing a variety of specialty construction services. We depend in part on spending by companies in the communications, gas and electric utilities, energy, chemical, and oil and gas industries, as well as state departments of transportation and municipal water and wastewater customers. Over the past several years, each segment has benefited from demand for more efficient and more environmentally friendly energy and power facilities, more reliable gas and electric utility infrastructure, upgraded and expanded local highway and bridge needs, and from the activity level in the oil and gas industry. However, periodically, each of these industries and government agencies is adversely affected by macroeconomic conditions. Economic and other factors outside of our control may affect the amount and size of contracts we are awarded in any particular period.

We actively monitor the impact of the dynamic macroeconomic environment, including the impact of inflation and the instability in the banking sector, on all aspects of our business. We have experienced increased fuel and labor costs and anticipate that elevated levels of cost inflation could persist into 2024. In an effort to mitigate the impacts of inflation on our operations, we attempt to recover increases in the cost of labor, equipment, fuel and materials through price escalation provisions that allow us to adjust billing rates for certain major contracts annually; by considering the estimated effect of such increases when bidding or pricing new work; or by entering into back-to-back contracts with suppliers and subcontractors. However, the annual adjustment provided by certain contracts is typically subject to a cap and there can be an extended period of time between the impact of inflation on our costs and when billing rates are adjusted. In some cases, our actual cost increases have exceeded the contractual caps, and therefore negatively impacted our operations. We have been successful in renegotiating some of our major contracts to address the increased costs on future work and will continue to address this with our customers going forward.

Fluctuations in the market prices of oil, gas and other fuel sources have affected demand for our services. While we have seen a recovery in the price of oil and natural gas, the volatility in the prices of oil, gas, and liquid natural gas that has occurred in the past few years could create uncertainty with respect to demand for our oil and gas pipeline services, specifically in our pipeline services operations, both in the near term and for future projects. While the construction of gathering lines within the oil shale formations may remain at lower levels for an extended period, we believe that over time, the need for pipeline infrastructure for mid-stream and gas utility companies will result in a continuing need for our services.

29

The continuing changes in the regulatory environment have affected the demand for our services, either by increasing our work, delaying projects, or cancelling projects. For example, environmental laws and regulations have provided challenges to pipeline projects, resulting in delays or cancellations that impact the timing of revenue recognition. However, environmental laws and new pipeline regulations could increase the demand for our pipeline maintenance and integrity services. In addition, the regulatory environment in certain states has resulted in delays for the construction of gas-fired power plants. However, the increased demand for renewable resources is also creating demand for our construction and specialty services, such as the need for battery storage and the construction of utility scale and distributed generation solar facilities.

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. Our Revolving Credit Facility and Term Loan bear interest at a variable rate which exposes us to interest rate risk. From time to time, we may use certain derivative instruments to hedge our exposure to variable interest rates. As of September 30, 2023, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of September 30, 2023, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $7.2 million.

Seasonality, cyclicality and variability

Our results of operations are subject to quarterly variations. Some of the variation is the result of weather, particularly rain, ice, snow, and named storms, which can impact our ability to perform construction and specialty services. These seasonal impacts can affect revenue and profitability in all of our businesses. Any quarter can be affected either negatively, or positively by atypical weather patterns in any part of the country. In addition, demand for new projects in our Utilities segment tends to be lower during the early part of the calendar year due to clients’ internal budget cycles. As a result, we usually experience higher revenue and earnings in the second, third and fourth quarters of the year as compared to the first quarter.

Our project values range in size from several hundred dollars to several hundred million dollars. The bulk of our work is comprised of project sizes that average less than $3.0 million. We also perform construction projects which tend not to be seasonal, but can fluctuate from year to year based on customer timing, project duration, weather, and general economic conditions. Our business may be affected by declines, or delays in new projects, or by client project schedules. Because of the cyclical nature of our business, the financial results for any period may fluctuate from prior periods, and our financial condition and operating results may vary from quarter to quarter. Results from one quarter may not be indicative of our financial condition, or operating results for any other quarter, or for an entire year.

Critical Accounting Policies and Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the financial statements and that affect the amounts of revenue and expenses reported for each period. These estimates and assumptions must be made because certain information that is used in the preparation of our financial statements cannot be calculated with a high degree of precision from data available, is dependent on future events, or is not capable of being readily calculated based on generally accepted methodologies. Often, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ significantly from our estimates, and our estimates could change if they were made under different assumptions or conditions. Our critical accounting policies and estimates are described in Item 7 of our Annual Report on Form 10-K for the year ended December 31, 2022. There have been no material changes to our critical accounting policies and estimates since December 31, 2022.

30

Results of Operations

Consolidated Results

The following discussion compares the results of the three and nine months ended September 30, 2023, to the three and nine months ended September 30, 2022.

Revenue

Revenue was $1,529.5 million for the three months ended September 30, 2023, an increase of $245.4 million, or 19.1%, compared to the same period in 2022. The increase was primarily due to revenue growth in both our Energy and Utilities segments, and the acquisition of PLH in August 2022.

Revenue was $4,199.8 million for the nine months ended September 30, 2023, an increase of $1,108.3 million, or 35.9%, compared to the same period in 2022. The increase was primarily due to revenue growth in both segments, and the acquisitions of PLH and B Comm in August 2022 and June 2022, respectively.

Gross Profit

Gross profit was $173.9 million for the three months ended September 30, 2023, an increase of $19.0 million, or 12.3%, compared to the same period in 2022. The increase was primarily due to an increase in revenue and the acquisition of PLH. Gross profit as a percentage of revenue decreased to 11.4% for the three months ended September 30, 2023, compared to 12.1% for the same period in 2022 primarily driven by a decrease in margins in our Utilities segment, partially offset by an increase in margins in our Energy segment.

Gross profit was $430.9 million for the nine months ended September 30, 2023, an increase of $127.4 million, or 42.0%, compared to the same period in 2022. The increase was primarily due to an increase in revenue. Gross profit as a percentage of revenue increased to 10.3% for the nine months ended September 30, 2023, compared to 9.8% for the same period in 2022 driven by improved margins in our Energy segment.

Selling, general and administrative expenses

Selling, general and administrative (“SG&A”) expenses were $84.4 million during the three months ended September 30, 2023, an increase of $8.7 million, or 11.5% compared to 2022 primarily due to higher incentive compensation costs associated with improved operational performance and an increase in headcount. SG&A expenses as a percentage of revenue decreased to 5.5% compared to 5.9% for the corresponding period in 2022 due to increased revenue.

SG&A expenses were $248.0 million during the nine months ended September 30, 2023, an increase of $57.1 million, or 29.9% compared to 2022 primarily due to the acquisitions of PLH and B Comm. Also contributing to the increase was higher incentive compensation costs associated with improved operational performance and an increase in headcount. SG&A expenses as a percentage of revenue decreased to 5.9% compared to 6.2% for the corresponding period in 2022 primarily due to increased revenue.

Transaction and related costs

Transaction and related costs were $1.1 million and $12.7 million for the three months ended September 30, 2023, and 2022, respectively. The decrease was due to professional fees paid to advisors for the acquisition of PLH in 2022.

Transaction and related costs were $4.7 million and $18.2 million for the nine months ended September 30, 2023 and 2022, respectively. The decrease was due to professional fees paid to advisors for the acquisitions of B Comm and PLH in 2022.

31

Gain on Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings, and improvements were sold and leased back for an initial term of three years. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in “Gain on sale and leaseback transaction” on our Condensed Consolidated Statements of Income for the nine months ended September 30, 2022.

Other income and expense

Non-operating income and expense items for the three and nine months ended September 30, 2023, and 2022 were as follows (in thousands):

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2023

    

2022

    

2023

    

2022

Foreign exchange gain, net

$

(1)

$

(683)

$

1,301

$

(239)

Other income, net

 

467

 

128

 

1,540

 

274

Interest expense, net

 

(21,065)

 

(13,075)

 

(56,443)

 

(20,656)

Total other expense

$

(20,599)

$

(13,630)

$

(53,602)

$

(20,621)

Interest expense, net for the three months ended September 30, 2023, increased $8.0 million compared to the same period in 2022 primarily due to higher average debt balances from the borrowings incurred related to the PLH acquisition and higher average interest rates.

Interest expense, net for the nine months ended September 30, 2023, increased $35.8 million compared to the same period in 2022 primarily due to higher average debt balances from the borrowings incurred related to the PLH acquisition and higher average interest rates.

Provision for income taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as income tax expense.

The effective tax rate for the nine-month period ended September 30, 2023, of 29.0% differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. For the first nine months of 2022, our effective tax rate of 19.6% differed from the U.S. federal statutory rate of 21.0% primarily due to state income taxes net of the effects of a release in valuation allowances during the second and third quarters of 2022.

We recorded income tax expense for the nine months ended September 30, 2023, of $36.1 million compared to income tax expense of $22.3 million for the nine months ended September 30, 2022. The $13.8 million increase in income tax expense is primarily driven by a higher effective tax rate in 2023 and by a $10.8 million increase in pretax income.

32

Segment results

Utilities Segment

Revenue and gross profit for the Utilities segment for the three and nine months ended September 30, 2023, and 2022 were as follows:

Three Months Ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Utilities Segment

Revenue

$

644,639

$

613,008

Gross profit

64,654

 

10.0%

78,046

 

12.7%

Nine Months Ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Utilities Segment

Revenue

$

1,813,768

$

1,447,857

Gross profit

164,244

 

9.1%

140,755

 

9.7%

Revenue increased by $31.6 million, or 5.2%, for the three months ended September 30, 2023, compared to the same period in 2022, primarily due to increased activity in power delivery and the acquisition of PLH in 2022.

Revenue increased by $365.9 million, or 25.3%, for the nine months ended September 30, 2023, compared to the same period in 2022, primarily due to the acquisitions of PLH and B Comm in 2022 and increased activity in our power delivery and communications markets.

Gross profit for the three months ended September 30, 2023, decreased by $13.4 million, or 17.2%, compared to the same period in 2022, primarily due to a decrease in margins, partially offset by growth in revenue. Gross profit as a percentage of revenue decreased to 10.0% during the three months ended September 30, 2023, compared to 12.7% in the same period in 2022, primarily due to productivity issues on some legacy PLH projects that are nearing completion and a shift in the revenue mix in 2023.

Gross profit for the nine months ended September 30, 2023, increased by $23.5 million, or 16.7%, compared to the same period in 2022, primarily due to revenue growth, partially offset by a decrease in margins. Gross profit as a percentage of revenue decreased to 9.1% during the nine months ended September 30, 2023, compared to 9.7% in the same period in 2022, primarily due to productivity issues on some legacy PLH projects that are nearing completion, higher costs associated with a communication project in 2023, and a shift in the revenue mix in 2023.

33

Energy Segment

Revenue and gross profit for the Energy segment for the three and nine months ended September 30, 2023, and 2022 were as follows:

Three Months Ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Energy Segment

Revenue

$

884,847

$

671,120

Gross profit

109,241

 

12.3%

76,861

 

11.5%

Nine Months Ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Energy Segment

Revenue

$

2,385,992

$

1,643,604

Gross profit

266,647

 

11.2%

162,746

 

9.9%

Revenue increased by $213.7 million, or 31.8%, for the three months ended September 30, 2023, compared to the same period in 2022, primarily due to increased renewable energy, industrial, and pipeline activity.

Revenue increased by $742.4 million, or 45.2%, for the nine months ended September 30, 2023, compared to the same period in 2022, primarily due to increased renewable energy, industrial, and pipeline activity and the PLH acquisition.

Gross profit for the three months ended September 30, 2023, increased by $32.4 million, or 42.1%, compared to the same period in 2022, primarily due to higher revenue and margins. Gross profit as a percentage of revenue increased to 12.3% during the three months ended September 30, 2023, compared to 11.5% in the same period in 2022, primarily due to growth in high margin renewable energy work, strong performance on a pipeline project in the mid-Atlantic in 2023, and higher relative carrying costs for equipment and personnel in 2022 caused by lower than anticipated pipeline volumes.

Gross profit for the nine months ended September 30, 2023, increased by $103.9 million, or 63.8%, compared to the same period in 2022, primarily due to higher revenue and margins. Gross profit as a percentage of revenue increased to 11.2% during the nine months ended September 30, 2023, compared to 9.9% in the same period in 2022, primarily due to strong performance on a pipeline project in the mid-Atlantic in 2023, and higher costs on a separate pipeline project in the mid-Atlantic from unfavorable weather conditions experienced in 2022 and higher relative carrying costs for equipment and personnel in 2022 caused by lower than anticipated pipeline volumes.

34

Geographic area financial information

The majority of our revenue is derived from customers in the United States with approximately 5.6% generated from sources outside of the United States during the nine months ended September 30, 2023, principally in Canada.

Backlog

For companies in the construction industry, backlog can be an indicator of future revenue streams. Different companies define and calculate backlog in different manners. We define backlog as a combination of: (1) anticipated revenue from the uncompleted portions of existing contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value (“Fixed Backlog”), and (2) the estimated revenue on MSA work for the next four quarters (“MSA Backlog”). We do not include certain contracts in the calculation of backlog where scope, and therefore contract value, is not adequately defined.

The two components of backlog, Fixed Backlog and MSA Backlog, are detailed below.

Fixed Backlog

Fixed Backlog by reportable segment as of December 31, 2022 and September 30, 2023 and the changes in Fixed Backlog for the nine months ended September 30, 2023 are as follows (in millions):

    

Beginning Fixed

    

    

    

Ending Fixed

    

Revenue

    

Total Revenue

Backlog at

Net Contract

Revenue

Backlog at

Recognized from

for Nine Months

December 31, 

Additions to

Recognized from

September 30, 

Non-Fixed

ended September 30, 

Reportable Segment

2022

Fixed Backlog

Fixed Backlog

2023

00

00

 Backlog Projects

00

00

2023

Utilities

$

183.3

$

374.4

$

461.0

$

96.7

$

1,352.8

$

1,813.8

Energy

3,391.7

3,272.8

2,133.6

4,530.9

252.4

2,386.0

Total

$

3,575.0

$

3,647.2

$

2,594.6

$

4,627.6

$

1,605.2

$

4,199.8

Revenue recognized from non-Fixed Backlog projects shown above is generated by MSA projects and projects completed under time and material and cost reimbursable plus fee contracts where scope, and therefore contract value, is not adequately defined, or are generated from the sale of construction materials, such as rock or asphalt to outside third parties.

At September 30, 2023, our total Fixed Backlog was $4.63 billion representing an increase of $1.05 billion, or 29.4% compared to $3.58 billion at December 31, 2022.

MSA Backlog

The following table outlines historical MSA revenue for the past seven quarters (in millions):

Quarterly MSA Revenue

    

2022

    

2023

First Quarter

$

349.3

$

449.1

Second Quarter

496.2

 

544.1

Third Quarter

605.9

 

584.0

Fourth Quarter

571.6

MSA Backlog includes anticipated MSA revenue for the next twelve months. We estimate MSA revenue based on historical trends, anticipated seasonal impacts, inflation adjustments, and estimates of customer demand based on information from our customers.

35

The following table shows our estimated MSA Backlog at September 30, 2023 by reportable segment (in millions):

MSA Backlog

at September 30, 

Reportable Segment:

    

2023

Utilities

$

1,818.3

Energy

241.0

Total

$

2,059.3

Total Backlog

The following table shows total backlog (Fixed Backlog plus MSA Backlog), by reportable segment as of the quarter-end dates shown below (in millions):

    

    

    

    

Reportable Segment:

    

September 30, 2022

    

December 31, 2022

    

March 31, 2023

    

June 30, 2023

    

September 30, 2023

Utilities

$

1,888.8

$

1,833.2

$

1,957.1

$

1,979.9

$

1,915.0

Energy

 

3,583.5

 

3,650.3

 

3,602.2

 

4,609.3

 

4,771.9

Total

$

5,472.3

$

5,483.5

$

5,559.3

$

6,589.2

$

6,686.9

We expect that during the next four quarters, we will recognize as revenue approximately 69% of the total backlog at September 30, 2023, composed of backlog of approximately: 100% of the Utilities segment and 56% of the Energy segment.

Backlog should not be considered a comprehensive indicator of future revenue, as a percentage of our revenue is derived from projects that are not part of a backlog calculation. The backlog estimates include amounts from estimated MSA contracts, but our customers are not contractually obligated to purchase an amount of services from us under the MSAs. Any of our contracts may be terminated by our customers on relatively short notice. In the event of a project cancellation, we may be reimbursed for certain costs, but typically we have no contractual right to the total revenue reflected in backlog. Projects may remain in backlog for extended periods of time as a result of customer delays, regulatory requirements or project specific issues. Future revenue from certain projects completed under time and material and cost reimbursable plus fee contracts may not be included in our estimated backlog amount.

Liquidity and Capital Resources

Liquidity represents our ability to pay our liabilities when they become due, fund business operations, and meet our contractual obligations and execute our business plan. Our primary sources of liquidity are our cash balances at the beginning of each period and our cash flows from operating activities. If needed, we have availability under our lines of credit to augment liquidity needs. Our short-term and long-term cash requirements consist primarily of working capital, investments to support revenue growth and maintain our equipment and facilities, general corporate needs, and to service our debt obligations. At September 30, 2023, there was $120.0 million of outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $37.8 million, and available borrowing capacity was $167.2 million.

In June 2023, we entered into an Accounts Receivable Facility (the “Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity created specifically for this purpose. The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. As of September 30, 2023, we had $35.0 million in available capacity under the Facility.

In order to maintain sufficient liquidity, we evaluate our working capital requirements on a regular basis. We may elect to raise additional capital by issuing common stock, convertible notes, term debt or increasing the borrowing capacity under our credit facilities as necessary to fund our operations or to fund the acquisition of new businesses.

Our cash and cash equivalents totaled $160.7 million at September 30, 2023, compared to $248.7 million at December 31, 2022. We anticipate that our cash and investments on hand, existing borrowing capacity under our credit

36

facilities, and our future cash flows from operations will provide sufficient funds to enable us to meet our operating needs, our planned capital expenditures, and settle our commitments and contingencies for the next twelve months and the foreseeable future.

The construction industry is capital intensive, and we expect to continue to make capital expenditures to meet anticipated needs for our services. During the nine months ended September 30, 2023, we spent approximately $82.5 million for capital expenditures, which included $31.4 million for construction equipment. Capital expenditures for the remaining three months of 2023 are expected to total between $10 million and $20 million, which includes $5 million to $10 million for equipment.

Cash Flows

Cash flows during the nine months ended September 30, 2023 and 2022 are summarized as follows (in thousands):

Nine months ended

September 30, 

    

2023

    

2022

Change in cash:

Net cash used in operating activities

$

(7,147)

$

(102,035)

Net cash used in investing activities

 

(25,621)

 

(485,010)

Net cash (used in) provided by financing activities

 

(60,023)

 

515,352

Effect of exchange rate changes

346

(924)

Net change in cash, cash equivalents and restricted cash

$

(92,445)

$

(72,617)

Operating Activities

The cash flows used in operating activities for the nine months ended September 30, 2023 and 2022 were as follows (in thousands):

Nine months ended

September 30, 

    

2023

    

2022

    

Change

Operating Activities:

Net income

$

88,486

$

91,520

$

(3,034)

Depreciation and amortization

 

81,454

 

69,348

 

12,106

Gain on sale and leaseback transaction

 

 

(40,084)

 

40,084

Changes in assets and liabilities

(154,984)

(206,841)

51,857

Gain on sale of property and equipment

(29,603)

(17,987)

(11,616)

Other

 

7,500

 

2,009

 

5,491

Net cash used in operating activities

$

(7,147)

$

(102,035)

$

94,888

Net cash used by operating activities for the nine months ended September 30, 2023 was $7.1 million compared to $102.0 million used by operating activities for the nine months ended September 30, 2022. The change year-over-year was primarily due to improvement in the impact from the changes in assets and liabilities and an increase in net income (after adjusting for cash from gains reported in investing activities).

The significant components of the $155.0 million change in assets and liabilities for the nine months ended September 30, 2023 are summarized as follows:

Accounts receivable increased by $185.8 million, primarily due to increased revenue and the timing of collecting from our customers;
Contract assets increased by $128.4 million, primarily due to increased revenue;
Contract liabilities increased $106.0 million, primarily due to higher deferred revenue;
Other current assets decreased by $33.0 million due primarily to a $20.0 million income tax refund; and
Accounts payable and accrued liabilities increased $16.3 million primarily due to revenue growth and the timing of our payments to vendors.

37

The significant components of the $206.8 million change in assets and liabilities for the nine months ended September 30, 2022, are summarized as follows:

Contract assets increased by $148.0 million, primarily due to significant revenue growth in 2022;
Accounts receivable increased by $122.9 million, primarily due to increased revenue;
Other current assets increased by $98.5 million primarily due to a $82.1 million increase in prepaid material purchases related to our solar projects; and
Accounts payable and accrued liabilities increased $173.7 million primarily due to revenue growth and the timing of payments to our vendors.

Investing activities

For the nine months ended September 30, 2023, we used $25.6 million in cash for investing activities compared to $485.0 million for the nine months ended September 30, 2022.

During the nine months ended September 30, 2022, we used $478.4 million for acquisitions.

During the nine months ended September 30, 2023, we purchased property and equipment for $82.5 million compared to $75.7 million during the same period in the prior year. We believe the ownership or long-term leasing of equipment is generally preferable to renting equipment on a project-by-project basis, as this strategy helps to ensure the equipment is available for our projects when needed. In addition, this approach has historically resulted in lower overall equipment costs.

We periodically sell assets, typically to update our fleet. We received proceeds from the sale of assets of $47.6 million during the nine months ended September 30, 2023, compared to $19.2 million during the same period in the prior year. Additionally, we received proceeds of $49.9 million, net from a sale and leaseback transaction of land and buildings during the nine months ended September 30, 2022.

Financing activities

Financing activities used cash of $60.0 million for the nine months ended September 30, 2023, which was primarily due to the following:

Payments of long-term debt of $66.1 million;
Dividend payments to our stockholders of $9.6 million; and
Net borrowings on our credit facilities of $20.0 million.

Financing activities provided cash of $515.4 million for the nine months ended September 30, 2022, which was primarily due to the following:

Proceeds from the entry into an amended and upsized term loan of $462.9 million, net of debt issuance costs paid;
Net borrowings on our credit facilities of $150.1 million;
Payment of long-term debt of $77.8 million; and
Dividend payments to our stockholders of $9.6 million.

Credit Agreements

For a description of our credit agreements, see Note 8 — “Credit Arrangements” in Item 1, Financial Statements of this Third Quarter 2023 Report.

Common stock

For a discussion of items affecting our common stock, please see Note 12 — “Stockholders’ Equity” in Item 1, Financial Statements of this Third Quarter 2023 Report.

38

Off-balance sheet transactions

We enter into certain off-balance sheet arrangements in the ordinary course of business that result in risks not directly reflected on our balance sheet. We have no off-balance sheet financing arrangement with VIEs. The following represents transactions, obligations or relationships that could be considered material off-balance sheet arrangements.

At September 30, 2023, we had letters of credit outstanding of $38.2 million under the terms of our credit agreements. These letters of credit are used by our insurance carriers to ensure reimbursement for amounts that they are disbursing on our behalf, such as beneficiaries under our self-funded insurance program. In addition, from time to time, certain customers require us to post a letter of credit to ensure payments to our subcontractors or guarantee performance under our contracts. Letters of credit reduce our borrowing availability under our Amended Credit Agreement and our Canadian credit facilities. If these letters of credit were drawn on by the beneficiary, we would be required to reimburse the issuer of the letter of credit, and we may be required to record a charge to earnings for the reimbursement. As of the date of this Third Quarter 2023 Report, we do not believe that it is likely that any material claims will be made under a letter of credit;

In the ordinary course of our business, we may be required by our customers to post surety bid or completion bonds in connection with services that we provide. At September 30, 2023, we had bid and completion bonds issued and outstanding totaling approximately $6.0 billion. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion at September 30, 2023. As of the date of this Third Quarter 2023 Report, we do not anticipate that we would have to fund material claims under our surety arrangements;

Certain of our subsidiaries are parties to collective bargaining agreements with unions. In most instances, these agreements require that we contribute to multi-employer pension and health and welfare plans. For many plans, the contributions are determined annually and required future contributions cannot be determined since contribution rates depend on the total number of union employees and actuarial calculations based on the demographics of all participants. The Employee Retirement Income Security Act of 1974 (ERISA), as amended by the Multi-Employer Pension Amendments Act of 1980, subjects employers to potential liabilities in the event of an employer’s complete or partial withdrawal of an underfunded multi-employer pension plan. The Pension Protection Act of 2006 added new funding rules for multi-employer plans that are classified as “endangered”, “seriously endangered”, or “critical”. We do not currently anticipate withdrawal from any multi-employer pension plans. Withdrawal liabilities or requirements for increased future contributions could negatively impact our results of operations and liquidity;

We enter into employment agreements with certain employees which provide for compensation and benefits under certain circumstances and which may contain a change of control clause. We may be obligated to make payments under the terms of these agreements; and

From time to time, we make other guarantees, such as guaranteeing the obligations of our subsidiaries.

Effects of Inflation and Changing Prices

Our operations are affected by increases in prices, whether caused by inflation or other economic factors. We attempt to recover anticipated increases in the cost of labor, equipment, fuel and materials through price escalation provisions that allow us to adjust billing rates for certain major contracts annually; by considering the estimated effect of such increases when bidding or pricing new work; or by entering into back-to-back contracts with suppliers and subcontractors. However, the annual adjustment provided by certain contracts is typically subject to a cap and there can be an extended period of time between the impact of inflation on our costs and when billing rates are adjusted. In some cases, our actual cost increases have exceeded the contractual caps, and therefore negatively impacted our operations. We have been able to renegotiate some of our major contracts to address the increased costs on future work and will continue to address this with our customers going forward.

39

Item 3. Quantitative and Qualitative Disclosures About Market Risk

In the ordinary course of business, we are exposed to risks related to market conditions. These risks primarily include fluctuations in foreign currency exchange rates, interest rates and commodity prices. We may seek to manage these risks through the use of financial derivative instruments. These instruments may include foreign currency exchange contracts and interest rate swaps.

Interest rate risk. Our Revolving Credit Facility and Term Loan bear interest at a variable rate which exposes us to interest rate risk. From time to time, we may use certain derivative instruments to hedge our exposure to variable interest rates. As of September 30, 2023, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of September 30, 2023, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $7.2 million.

We do not execute transactions or use financial derivative instruments for trading or speculative purposes. We generally enter into transactions with counterparties that are financial institutions as a means to limit significant exposure with any one party.

Item 4. Controls and Procedures

Disclosure Controls and Procedures

As of September 30, 2023, we carried out an evaluation, under the supervision and with the participation of our management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), of the effectiveness of the design and operation of our “disclosure controls and procedures”, as such term is defined under Exchange Act Rules 13a-15(e) and 15d-15(e).

Based on this evaluation, our CEO and CFO concluded that, at September 30, 2023, the disclosure controls and procedures were effective at the reasonable assurance level to ensure that information required to be disclosed by us in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC, and accumulated and communicated to our management, including our CEO and CFO, as appropriate to allow timely decisions regarding required disclosure.

In designing and evaluating the disclosure controls and procedures, our management recognized that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives. In reaching a reasonable level of assurance, our management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their stated objectives.

Changes in Internal Control Over Financial Reporting

There were no changes to our internal control over financial reporting practices or processes that occurred during the quarter ended September 30, 2023 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

40

Part II. Other Information

Item 1. Legal Proceedings

See Note 14 — “Commitments and Contingencies”, included in the unaudited notes to our condensed consolidated financial statements included in item 1. Financial Statements of this Third Quarter 2023 Report.

Item 5. Other Information

None of our directors or officers (as defined in Rule 16a-1(f) under the Exchange Act) adopted or terminated a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation S-K) during the quarterly period covered by this report.

Item 6. Exhibits

The following exhibits are filed as part of this Quarterly Report on Form 10-Q.

Exhibit
Number

    

Description

31.1

Rule 13a-14(a)/15d-14(a) Certification by the Registrant’s Chief Executive Officer (*)

31.2

Rule 13a-14(a)/15d-14(a) Certification by the Registrant’s Chief Financial Officer (*)

32.1

Section 1350 Certification by the Registrant’s Chief Executive Officer (**)

32.2

Section 1350 Certification by the Registrant’s Chief Financial Officer (**)

101 INS

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 (*)

101 SCH

Inline XBRL Taxonomy Extension Schema Document (*)

101 CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document (*)

101 LAB

Inline XBRL Taxonomy Extension Label Linkbase Document (*)

101 PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document (*)

101 DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document (*)

104

Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)

(*)

Filed herewith.

(**)

Furnished herewith.

41

SIGNATURES

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.

PRIMORIS SERVICES CORPORATION

Date: November 7, 2023

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

42

EX-31.1 2 prim-20230930xex31d1.htm EX-31.1

Exhibit 31.1

RULE 13a-14(a)/15d-14(a) CERTIFICATION PURSUANT TO

SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Thomas E. McCormick, certify that:

1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2023, of Primoris Services Corporation;

2.Based on my knowledge, this Quarterly 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 Quarterly Report;

3.Based on my knowledge, the financial statements, and other financial information included in this Quarterly 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 Quarterly Report;

4.The registrant’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:

(a)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 Quarterly Report is being prepared;

(b)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 of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and

(d)Disclosed in this Quarterly Report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

(a)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’s ability to record, process, summarize and report financial information; and

(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 7, 2023

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-31.2 3 prim-20230930xex31d2.htm EX-31.2

Exhibit 31.2

RULE 13a-14(a)/15d-14(a) CERTIFICATION PURSUANT TO

SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Kenneth M. Dodgen, certify that:

1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2023, of Primoris Services Corporation;

2.Based on my knowledge, this Quarterly 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 Quarterly Report;

3.Based on my knowledge, the financial statements, and other financial information included in this Quarterly 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 Quarterly Report;

4.The registrant’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:

(a)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 Quarterly Report is being prepared;

(b)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 of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and

(d)Disclosed in this Quarterly Report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

(a)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’s ability to record, process, summarize and report financial information; and

(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 7, 2023

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-32.1 4 prim-20230930xex32d1.htm EX-32.1

Exhibit 32.1

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section 1350)

In connection with the Quarterly Report of Primoris Services Corporation (the “Company”) on Form 10-Q for the period ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Thomas E. McCormick, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

1.

The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2.

The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.

Date: November 7, 2023

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-32.2 5 prim-20230930xex32d2.htm EX-32.2

Exhibit 32.2

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section 1350)

In connection with the Quarterly Report of Primoris Services Corporation (the “Company”) on Form 10-Q for the period ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Kenneth M. Dodgen, Executive Vice President, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

1.

The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2.

The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.

Date: November 7, 2023

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-101.SCH 6 prim-20230930.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Basis of Presentation - Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisition - PLH (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Revenue - Contract assets (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Revenue - Contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Credit Arrangements (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) - Cal2 link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Dividends and Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Accounts Payable and Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Credit Arrangements link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Dividends and Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Reportable Segments link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Credit Arrangements (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Dividends and Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - Reportable Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Nature of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Basis of Presentation - Customer concentration (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisitions - PLH and FIH (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Acquisitions - B Comm Holdco, LLC (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Acquisitions - Alberta Screw Piles, Ltd (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - Acquisitions - Pro Forma Information (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Revenue - Performance obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Revenue - Performance obligations - Details (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Revenue - Performance obligations - Details Default (Details) link:presentationLink link:calculationLink link:definitionLink 40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Credit Arrangements - Narratives (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Commitments and Contingencies - Legal (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Reportable Segments (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Basis of Presentation (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 prim-20230930_cal.xml EX-101.CAL EX-101.DEF 8 prim-20230930_def.xml EX-101.DEF EX-101.LAB 9 prim-20230930_lab.xml EX-101.LAB EX-101.PRE 10 prim-20230930_pre.xml EX-101.PRE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Document and Entity Information - shares
9 Months Ended
Sep. 30, 2023
Nov. 03, 2023
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-34145  
Entity Registrant Name Primoris Services Corporation  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 20-4743916  
Entity Address, Address Line One 2300 N. Field Street, Suite 1900  
Entity Address, City or Town Dallas  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 75201  
City Area Code 214  
Local Phone Number 740-5600  
Title of 12(b) Security Common Stock, $0.0001 par value  
Trading Symbol PRIM  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   53,360,411
Entity Central Index Key 0001361538  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 160,736 $ 248,692
Accounts receivable, net 851,612 663,119
Contract assets 743,836 616,224
Prepaid expenses and other current assets 134,967 176,350
Total current assets 1,891,151 1,704,385
Property and equipment, net 489,395 493,859
Operating lease assets 308,111 202,801
Intangible assets, net 232,752 249,381
Goodwill 857,650 871,808
Other long-term assets 24,112 21,786
Total assets 3,803,171 3,544,020
Current liabilities:    
Accounts payable 500,093 534,956
Contract liabilities 387,767 275,947
Accrued liabilities 321,639 245,837
Dividends payable 3,203 3,187
Current portion of long-term debt 85,233 78,137
Total current liabilities 1,297,935 1,138,064
Long-term debt, net of current portion 1,013,519 1,065,315
Noncurrent operating lease liabilities, net of current portion 222,524 130,787
Deferred tax liabilities 29,235 57,101
Other long-term liabilities 43,150 43,915
Total liabilities 2,606,363 2,435,182
Commitments and contingencies (See Note 14)
Stockholders' equity    
Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,352,611 and 53,124,899 issued and outstanding at September 30, 2023 and December 31, 2022, respectively 6 6
Additional paid-in capital 272,800 263,771
Retained earnings 926,569 847,681
Accumulated other comprehensive income (2,567) (2,620)
Total stockholders' equity 1,196,808 1,108,838
Total liabilities and stockholders' equity $ 3,803,171 $ 3,544,020
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Sep. 30, 2023
Dec. 31, 2022
Stockholders' equity    
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized 90,000,000 90,000,000
Common stock, shares issued 53,352,611 53,124,899
Common stock, shares outstanding 53,352,611 53,124,899
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
CONDENSED CONSOLIDATED STATEMENTS OF INCOME        
Revenue $ 1,529,486 $ 1,284,128 $ 4,199,760 $ 3,091,461
Cost of revenue 1,355,591 1,129,221 3,768,869 2,787,960
Gross profit 173,895 154,907 430,891 303,501
Selling, general and administrative expenses 84,404 75,721 247,984 190,905
Transaction and related costs 1,084 12,706 4,677 18,228
Gain on sale and leaseback transaction       (40,084)
Operating income 88,407 66,480 178,230 134,452
Other income (expense):        
Foreign exchange gain, net (1) (683) 1,301 (239)
Other income, net 467 128 1,540 274
Interest expense, net (21,065) (13,075) (56,443) (20,656)
Income before provision for income taxes 67,808 52,850 124,628 113,831
Provision for income taxes (19,664) (9,810) (36,142) (22,311)
Net income $ 48,144 $ 43,040 $ 88,486 $ 91,520
Dividends per common share (in dollars per share) $ 0.06 $ 0.06 $ 0.18 $ 0.18
Earnings per share:        
Basic (in dollars per share) 0.90 0.81 1.66 1.72
Diluted (in dollars per share) $ 0.89 $ 0.80 $ 1.63 $ 1.70
Weighted average common shares outstanding:        
Basic (in shares) 53,339 53,181 53,275 53,228
Diluted (in shares) 54,351 53,748 54,171 53,778
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME        
Net Income (Loss) $ 48,144 $ 43,040 $ 88,486 $ 91,520
Other comprehensive income, net of tax:        
Foreign currency translation adjustments (1,440) (4,058) 53 (3,881)
Comprehensive income $ 46,704 $ 38,982 $ 88,539 $ 87,639
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Income
Total
Balance at Dec. 31, 2021 $ 6 $ 261,918 $ 727,433 $ 698 $ 990,055
Balance (in shares) at Dec. 31, 2021 53,194,585        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     91,520   91,520
Foreign currency translation adjustments, net of tax       (3,881) (3,881)
Issuance of shares   1,464     1,464
Issuance of shares (in shares) 62,013        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (1,324)     (1,324)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 131,709        
Stock-based compensation   5,748     5,748
Purchase of stock   (5,990)     (5,990)
Purchase of stock (in shares) (277,200)        
Dividends declared     (9,584)   (9,584)
Balance at Sep. 30, 2022 $ 6 261,816 809,369 (3,183) 1,068,008
Balance (in shares) at Sep. 30, 2022 53,111,107        
Balance at Jun. 30, 2022 $ 6 262,394 769,523 875 1,032,798
Balance (in shares) at Jun. 30, 2022 53,209,461        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     43,040   43,040
Foreign currency translation adjustments, net of tax       (4,058) (4,058)
Issuance of shares   393     393
Issuance of shares (in shares) 19,631        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (104)     (104)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 11,215        
Stock-based compensation   1,753     1,753
Purchase of stock   (2,620)     (2,620)
Purchase of stock (in shares) (129,200)        
Dividends declared     (3,194)   (3,194)
Balance at Sep. 30, 2022 $ 6 261,816 809,369 (3,183) 1,068,008
Balance (in shares) at Sep. 30, 2022 53,111,107        
Balance at Dec. 31, 2022 $ 6 263,771 847,681 (2,620) 1,108,838
Balance (in shares) at Dec. 31, 2022 53,124,899        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     88,486   88,486
Foreign currency translation adjustments, net of tax       53 53
Issuance of shares   1,742     1,742
Issuance of shares (in shares) 65,023        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (1,668)     (1,668)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 162,689        
Stock-based compensation   8,955     8,955
Dividends declared     (9,598)   (9,598)
Balance at Sep. 30, 2023 $ 6 272,800 926,569 (2,567) 1,196,808
Balance (in shares) at Sep. 30, 2023 53,352,611        
Balance at Jun. 30, 2023 $ 6 269,031 881,628 (1,127) 1,149,538
Balance (in shares) at Jun. 30, 2023 53,328,873        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     48,144   48,144
Foreign currency translation adjustments, net of tax       (1,440) (1,440)
Issuance of shares   479     479
Issuance of shares (in shares) 15,074        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (278)     (278)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 8,664        
Stock-based compensation   3,568     3,568
Dividends declared     (3,203)   (3,203)
Balance at Sep. 30, 2023 $ 6 $ 272,800 $ 926,569 $ (2,567) $ 1,196,808
Balance (in shares) at Sep. 30, 2023 53,352,611        
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended 9 Months Ended
Aug. 02, 2023
May 03, 2023
Feb. 22, 2023
Nov. 03, 2022
Aug. 03, 2022
May 04, 2022
Feb. 24, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY                      
Cash dividend declared (in dollars per share) $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.18 $ 0.18
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Cash flows from operating activities:    
Net income $ 88,486 $ 91,520
Adjustments to reconcile net income to net cash used in operating activities (net of effect of acquisitions):    
Depreciation and amortization 81,454 69,348
Stock-based compensation expense 8,955 5,748
Gain on sale of property and equipment (29,603) (17,987)
Gain on sale and leaseback transaction   (40,084)
Unrealized gain on interest rate swap (3,001) (5,616)
Other non-cash items 1,546 1,877
Changes in assets and liabilities:    
Accounts receivable (185,815) (122,867)
Contract assets (128,360) (148,044)
Other current assets 32,961 (98,489)
Other long-term assets 633 1,975
Accounts payable (34,855) 133,731
Contract liabilities 106,042 (10,364)
Operating lease assets and liabilities, net 3,114 (896)
Accrued liabilities 51,182 40,016
Other long-term liabilities 114 (1,903)
Net cash used in operating activities (7,147) (102,035)
Cash flows from investing activities:    
Purchase of property and equipment (82,500) (75,696)
Proceeds from sale of assets 47,579 19,237
Proceeds from sale and leaseback transaction, net of related expenses   49,887
Cash paid for acquisitions, net of cash and restricted cash acquired 9,300 (478,438)
Net cash used in investing activities (25,621) (485,010)
Cash flows from financing activities:    
Borrowings under revolving lines of credit 440,223 169,943
Payments on revolving lines of credit (420,223) (19,804)
Proceeds from issuance of long-term debt   469,531
Payments on long-term debt (66,055) (77,751)
Proceeds from issuance of common stock 681 596
Debt issuance costs   (6,643)
Dividends paid (9,582) (9,583)
Purchase of common stock   (5,990)
Other (5,067) (4,947)
Net cash (used in) provided by financing activities (60,023) 515,352
Effect of exchange rate changes on cash, cash equivalents and restricted cash 346 (924)
Net change in cash, cash equivalents and restricted cash (92,445) (72,617)
Cash, cash equivalents and restricted cash at beginning of the period 258,991 205,643
Cash, cash equivalents and restricted cash at end of the period 166,546 133,026
SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION    
Cash paid for interest 57,351 20,025
Cash paid for income taxes, net of refunds received (6,622) 2,540
Leased assets obtained in exchange for new operating leases 181,328 40,144
SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES    
Dividends declared and not yet paid $ 3,203 $ 3,195
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Nature of Business
9 Months Ended
Sep. 30, 2023
Nature of Business  
Nature of Business

Note 1—Nature of Business

Organization and operationsPrimoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments.

We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.

We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.

Reportable Segments — Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, and the Energy segment is made up of our former Energy/Renewables and Pipeline segments. See Note 15 – “Reportable Segments” for a brief description of the reportable segments and their operations.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation
9 Months Ended
Sep. 30, 2023
Basis of Presentation  
Basis of Presentation

Note 2—Basis of Presentation

Interim condensed consolidated financial statements The interim condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 28, 2023, which contains our audited consolidated financial statements for the year ended December 31, 2022, have been omitted.

This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. 

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which is recorded as restricted cash at December 31, 2022. As of September 30, 2023 all of the restricted cash from the PLH acquisition had been released. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30,

    

2023

    

2022

Cash and cash equivalents

$

160,736

$

111,937

Restricted cash included in prepaid expenses and other current assets

5,810

21,089

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

166,546

$

133,026

    

    

December 31,

    

2022

    

2021

Cash and cash equivalents

$

248,692

$

200,512

Restricted cash included in prepaid expense and other current assets

10,299

5,131

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

258,991

$

205,643

Accounts Receivable Securitization Facility In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. The SPE owned $145.7 million of trade accounts receivable as of September 30, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheets. For the three and nine months ended September 30, 2023, we received $40.0 million and $65.0 million, respectively, in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statements of Cash Flows. As of September 30, 2023, we had $35.0 million available capacity under the Facility.

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 40% to 50% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

For the three and nine months ended September 30, 2022, approximately 53.3% and 48.4%, respectively, of total revenue was generated from our top ten customers. For the three months ended September 30, 2022, one renewable energy customer represented approximately 11.3% of total revenue and for the nine months ended September 30, 2022, no one customer accounted for more than 10% of our total revenue.

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements
9 Months Ended
Sep. 30, 2023
Fair Value Measurements  
Fair Value Measurements

Note 3—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.

In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at September 30, 2023 and December 31, 2022 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2023:

Cash and cash equivalents

$

160,736

 

$

 

$

Interest rate swap

4,236

Liabilities as of September 30, 2023:

Contingent consideration

68

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.

The interest rate swaps are measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 – “Derivative Instruments” for additional information.

On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statements of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of a contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration liability.

Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

The March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “Acquisitions”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “Business Combinations” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration during the nine months ended September 30, 2023, related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions
9 Months Ended
Sep. 30, 2023
Acquisitions  
Acquisitions

Note 4—Acquisitions

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused specialty construction company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.

During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.

The intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. It is impractical to segregate and identify revenue and gross profit for PLH as we have integrated a material portion of PLH into our existing operations.

Supplemental Unaudited Pro Forma Information for the three and nine months ended September 30, 2022

The following pro forma information for the three and nine months ended September 30, 2022 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021. The supplemental pro forma information has been adjusted to include:

the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;

the pro forma impact of nonrecurring transaction and related costs directly attributable to the acquisition; and

the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using a tax rate of 18.6% and 19.6% for the three and nine months ended September 30, 2022, respectively.

The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH acquisition been completed on January 1, 2021. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (in thousands, except per share amounts):

Three Months Ended

Nine Months Ended

September 30, 2022

    

September 30, 2022

(unaudited)

(unaudited)

Revenue

$

1,339,477

$

3,485,099

Income before provision for income taxes

62,760

101,760

Net income

51,111

81,815

Weighted average common shares outstanding:

Basic

 

53,181

 

53,228

Diluted

 

53,748

 

53,778

Earnings per share:

Basic

$

0.96

$

1.54

Diluted

0.95

1.52

Acquisition of B Comm Holdco, LLC

On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million.

During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The fair values of the assets acquired and liabilities assumed consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per year.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue
9 Months Ended
Sep. 30, 2023
Revenue  
Revenue

Note 5—Revenue

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. A substantial portion of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we can’t reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.

As of September 30, 2023, we had $5.0 billion of remaining performance obligations. We expect to recognize approximately 57.7% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.

Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected.

The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time.

Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.

As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three and nine months ended September 30, 2023, revenue recognized related to performance obligations satisfied in previous periods was $5.8 million and $7.0 million, respectively. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any

previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods.

At September 30, 2023, we had approximately $181.4 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $164.6 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2023.

In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.

The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability.

The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:

unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;

retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and

contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project.

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Unbilled revenue

$

505,002

$

420,511

Retention receivable

208,533

174,149

Contract materials (not yet installed)

 

30,301

 

21,564

$

743,836

$

616,224

Contract assets increased by $127.6 million compared to December 31, 2022 primarily due to higher unbilled revenue and retention receivable.

The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:

deferred revenue, which arises when billings are in excess of revenue recognized to date; and

the accrued loss provision.

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Deferred revenue

$

382,350

$

269,853

Accrued loss provision

 

5,417

 

6,094

$

387,767

$

275,947

Contract liabilities increased by $111.8 million compared to December 31, 2022 primarily due to higher deferred revenue.

Revenue recognized for the nine months ended September 30, 2023, that was included in the contract liability balance at December 31, 2022, was approximately $228.3 million.

The following tables present our revenue disaggregated into various categories.

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

505,301

$

139,338

$

644,639

Energy

78,725

806,122

884,847

Total

$

584,026

 

$

945,460

 

$

1,529,486

For the nine months ended September 30, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,354,642

$

459,126

$

1,813,768

Energy

222,649

2,163,343

2,385,992

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

For the three months ended September 30, 2022

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

516,363

 

$

96,645

 

$

613,008

Energy

89,484

581,636

671,120

Total

$

605,847

 

$

678,281

 

$

1,284,128

For the nine months ended September 30, 2022

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,226,511

 

$

221,346

 

 

1,447,857

Energy

224,879

1,418,725

1,643,604

Total

$

1,451,390

 

$

1,640,071

 

$

3,091,461

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

106,267

406,368

$

132,004

$

644,639

Energy

535,987

168,146

180,714

884,847

Total

$

642,254

 

$

574,514

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

290,320

$

1,131,044

$

392,404

$

1,813,768

Energy

1,548,206

446,704

391,082

2,385,992

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2022

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

58,602

 

$

397,204

 

$

157,202

 

$

613,008

Energy

440,041

152,501

78,578

671,120

Total

$

498,643

 

$

549,705

 

$

235,780

 

$

1,284,128

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2022

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

123,742

 

$

988,477

 

$

335,638

 

$

1,447,857

Energy

1,080,069

340,890

222,645

1,643,604

Total

$

1,203,811

 

$

1,329,367

 

$

558,283

 

$

3,091,461

(1)Includes time and material and cost reimbursable plus fee contracts.

Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

Note 6—Goodwill and Intangible Assets

The change in goodwill by segment for the nine months ended September 30, 2023 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2022

716,284

155,524

871,808

Adjustments to identifiable assets acquired and liabilities assumed

 

(12,822)

(1,336)

(14,158)

Balance at September 30, 2023

$

703,462

$

154,188

$

857,650

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(28,716)

4,104

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(73,279)

228,648

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(101,995)

$

232,752

$

334,747

$

(85,366)

$

249,381

Amortization expense of intangible assets was $5.2 million and $6.7 million for the three months ended September 30, 2023 and 2022, respectively, and $16.6 million and $13.8 million for the nine months ended September 30, 2023 and 2022, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2023 (remaining three months)

$

5,204

2024

19,701

2025

 

17,661

2026

 

16,141

2027

 

15,604

Thereafter

 

158,441

$

232,752

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Payable and Accrued Liabilities
9 Months Ended
Sep. 30, 2023
Accounts Payable and Accrued Liabilities  
Accounts Payable and Accrued Liabilities

Note 7—Accounts Payable and Accrued Liabilities

At September 30, 2023 and December 31, 2022, accounts payable included retention amounts of approximately $26.9 million and $21.5 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

140,770

$

114,053

Current operating lease liability

89,253

72,565

Casualty insurance reserves

 

18,890

 

19,935

Corporate income taxes and other taxes

 

39,853

 

16,213

Other

 

32,873

 

23,071

$

321,639

$

245,837

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Credit Arrangements
9 Months Ended
Sep. 30, 2023
Credit Arrangements  
Credit Arrangements

Note 8 — Credit Arrangements

Long-term debt and credit facilities consists of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Term loan

$

897,752

$

933,188

Revolving credit facility

120,000

100,000

Commercial equipment notes

68,089

98,064

Mortgage notes

 

19,838

 

20,483

Total debt

1,105,679

1,151,735

Unamortized debt issuance costs

(6,927)

(8,283)

Total debt, net

$

1,098,752

$

1,143,452

Less: current portion

 

(85,233)

 

(78,137)

Long-term debt, net of current portion

$

1,013,519

$

1,065,315

The weighted average interest rate on total debt outstanding at September 30, 2023 and December 31, 2022 was 6.9% and 6.2%, respectively.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. At September 30, 2023, commercial letters of credit outstanding were $37.8 million. In addition to the commercial letters of credit, there were $120.0 million of outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $167.2 million at September 30, 2023.

The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement at September 30, 2023.

On September 13, 2018, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $165.0 million of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 9 – “Derivative Instruments”.

On January 31, 2023, we entered into a second interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 2.25% at September 30, 2023. The interest rate swap matures on January 31, 2025. See Note 9 – “Derivative Instruments”.

Canadian Credit Facilities

We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. At September 30, 2023, commercial letters of credit outstanding were $0.7 million in Canadian dollars and there were no outstanding borrowings. Available capacity at September 30, 2023 was $13.3 million in Canadian dollars.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Derivative Instruments
9 Months Ended
Sep. 30, 2023
Derivative Instruments  
Derivative Instruments

Note 9 — Derivative Instruments

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.

Interest Rate Risk. We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $300.0 million maturing on January 31, 2025.

Credit Risk. By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

Interest rate swap

Other long-term assets

4,236

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2023

    

2022

2023

    

2022

Interest rate swap

 

Interest expense, net

$

1,307

$

854

$

6,904

$

3,797

Cash flows from derivatives settled are reported as cash flows from operating activities.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes
9 Months Ended
Sep. 30, 2023
Income Taxes  
Income Taxes

Note 10—Income Taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.

The effective tax rate on income for the nine months ended September 30, 2023, and 2022 is 29.0% and 19.6%, respectively. For the first nine months of 2023, our tax rate differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. For the first nine months of 2022, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and the release of valuation allowances during the second and third quarters of 2022.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2019. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2017.

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Dividends and Earnings Per Share
9 Months Ended
Sep. 30, 2023
Dividends and Earnings Per Share  
Dividends and Earnings Per Share

Note 11—Dividends and Earnings Per Share

We paid cash dividends during 2023 and 2022 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2023 and 2022 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

    

2022

    

2023

    

2022

 

Numerator:

Net income

$

48,144

$

43,040

$

88,486

$

91,520

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,339

 

53,181

 

53,275

 

53,228

Dilutive effect of stock-based awards

 

1,012

 

567

 

896

 

550

Weighted average shares for computation of diluted earnings per share

 

54,351

 

53,748

 

54,171

 

53,778

Earnings per share:

Basic

$

0.90

$

0.81

$

1.66

$

1.72

Diluted

$

0.89

$

0.80

$

1.63

$

1.70

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity
9 Months Ended
Sep. 30, 2023
Stockholders' Equity  
Stockholders' Equity

Note 12—Stockholders’ Equity

Common stock

We issued 21,245 and 23,782 shares of common stock in the nine months ended September 30, 2023 and 2022, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million and $0.6 million in the nine months ended September 30, 2023 and 2022, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2023 were a portion of bonus amounts earned in 2022, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2022. The shares purchased in the nine months ended September 30, 2022 were for bonus amounts earned in 2021, and the number of shares was calculated at 75% of the average daily closing market price during December 2021.

During the three months ended September 30, 2023 and 2022, we issued 8,856 and 9,688 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the nine months ended September 30, 2023 and 2022, we issued 31,240 and 28,288 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.

During the three and nine months ended September 30, 2023, a total of 8,664 and 162,689 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 11,215 and 131,709 RSUs, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2022, respectively.

Employee Stock Purchase Plan

In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”) for which, eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share. For the three and nine months ended September 30, 2022, 9,943 shares were purchased at a discounted purchase price of $17.44 per share.

Share Purchase Plan

In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In February 2022, our Board of Directors replenished the limit to $25.0 million. During the nine months ended September 30, 2023 we did not purchase any shares of common stock. During the nine months ended September 30, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. As of September 30, 2023, we had $19.0 million remaining for purchase under the share purchase program. The share purchase plan expires on December 31, 2023.

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Leases
9 Months Ended
Sep. 30, 2023
Leases  
Leases

Note 13—Leases

We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets.

Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.

Our leases have remaining lease terms that expire at various dates through 2031, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

2022

    

2023

2022

Operating lease expense (1)

$

31,370

$

19,101

$

79,352

$

54,123

________________________________________

(1)Includes short-term leases which are immaterial.

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2023

2022

Accrued liabilities

$

89,253

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

222,524

 

130,787

$

311,777

$

203,352

Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Condensed Consolidated Statements of Income for the nine months ended September 30, 2022.

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies.  
Commitments and Contingencies

Note 14—Commitments and Contingencies

Legal proceedings We are subject to claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential litigation loss.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding — At September 30, 2023 and December 31, 2022, we had bid and completion bonds issued and outstanding totaling approximately $6.0 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion at September 30, 2023 and December 31, 2022, respectively.

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments
9 Months Ended
Sep. 30, 2023
Reportable Segments  
Reportable Segments

Note 15—Reportable Segments

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services segments.

Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

The following is a brief description of the reportable segments:

The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.

The Energy segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

644,639

 

42.1%

$

613,008

 

47.7%

Energy

884,847

57.9%

671,120

52.3%

Total

$

1,529,486

 

100.0%

$

1,284,128

 

100.0%

For the nine months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

1,813,768

 

43.2%

$

1,447,857

 

46.8%

Energy

2,385,992

56.8%

1,643,604

53.2%

Total

$

4,199,760

 

100.0%

$

3,091,461

 

100.0%

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

64,654

 

10.0%

$

78,046

 

12.7%

Energy

109,241

12.3%

76,861

11.5%

Total

$

173,895

 

11.4%

$

154,907

 

12.1%

For the nine months ended September 30, 

2023

2022

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

164,244

 

9.1%

$

140,755

 

9.7%

Energy

266,647

11.2%

162,746

9.9%

Total

$

430,891

 

10.3%

$

303,501

 

9.8%

Segment Goodwill

The amount of goodwill recorded by each segment at September 30, 2023 and at December 31, 2022 is presented in Note 6 – “Goodwill and Intangible Assets”.

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 5.6% and 6.2% generated from sources outside of the United States during the nine months ended September 30, 2023 and 2022, respectively, principally in Canada. At September 30, 2023 and December 31, 2022, approximately 3.8% and 4.2%, respectively, of total assets were located outside of the United States, principally in Canada.

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2023
Basis of Presentation  
Restricted cash

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which is recorded as restricted cash at December 31, 2022. As of September 30, 2023 all of the restricted cash from the PLH acquisition had been released. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30,

    

2023

    

2022

Cash and cash equivalents

$

160,736

$

111,937

Restricted cash included in prepaid expenses and other current assets

5,810

21,089

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

166,546

$

133,026

    

    

December 31,

    

2022

    

2021

Cash and cash equivalents

$

248,692

$

200,512

Restricted cash included in prepaid expense and other current assets

10,299

5,131

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

258,991

$

205,643

Accounts Receivable Securitization Facility

Accounts Receivable Securitization Facility In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. The SPE owned $145.7 million of trade accounts receivable as of September 30, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheets. For the three and nine months ended September 30, 2023, we received $40.0 million and $65.0 million, respectively, in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statements of Cash Flows. As of September 30, 2023, we had $35.0 million available capacity under the Facility.

Customer concentration

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 40% to 50% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

For the three and nine months ended September 30, 2022, approximately 53.3% and 48.4%, respectively, of total revenue was generated from our top ten customers. For the three months ended September 30, 2022, one renewable energy customer represented approximately 11.3% of total revenue and for the nine months ended September 30, 2022, no one customer accounted for more than 10% of our total revenue.

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation (Tables)
9 Months Ended
Sep. 30, 2023
Basis of Presentation  
Schedule of reconciliation of cash, cash equivalents and restricted cash The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30,

    

2023

    

2022

Cash and cash equivalents

$

160,736

$

111,937

Restricted cash included in prepaid expenses and other current assets

5,810

21,089

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

166,546

$

133,026

    

    

December 31,

    

2022

    

2021

Cash and cash equivalents

$

248,692

$

200,512

Restricted cash included in prepaid expense and other current assets

10,299

5,131

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

258,991

$

205,643

XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2023
Fair Value Measurements  
Schedule of financial assets and liabilities which are required to be measured at fair value

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at September 30, 2023 and December 31, 2022 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2023:

Cash and cash equivalents

$

160,736

 

$

 

$

Interest rate swap

4,236

Liabilities as of September 30, 2023:

Contingent consideration

68

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions (Tables) - PLH Group Inc
9 Months Ended
Sep. 30, 2023
Acquisitions  
Summary of the cash paid for acquisitions

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

Summary of the identifiable assets acquired and liabilities assumed

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

Schedule of pro forma results

Three Months Ended

Nine Months Ended

September 30, 2022

    

September 30, 2022

(unaudited)

(unaudited)

Revenue

$

1,339,477

$

3,485,099

Income before provision for income taxes

62,760

101,760

Net income

51,111

81,815

Weighted average common shares outstanding:

Basic

 

53,181

 

53,228

Diluted

 

53,748

 

53,778

Earnings per share:

Basic

$

0.96

$

1.54

Diluted

0.95

1.52

XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue (Tables)
9 Months Ended
Sep. 30, 2023
Revenue  
Schedule of contract assets

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Unbilled revenue

$

505,002

$

420,511

Retention receivable

208,533

174,149

Contract materials (not yet installed)

 

30,301

 

21,564

$

743,836

$

616,224

Schedule of contract liabilities

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Deferred revenue

$

382,350

$

269,853

Accrued loss provision

 

5,417

 

6,094

$

387,767

$

275,947

Schedule of revenue disaggregation by various categories

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

505,301

$

139,338

$

644,639

Energy

78,725

806,122

884,847

Total

$

584,026

 

$

945,460

 

$

1,529,486

For the nine months ended September 30, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,354,642

$

459,126

$

1,813,768

Energy

222,649

2,163,343

2,385,992

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

For the three months ended September 30, 2022

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

516,363

 

$

96,645

 

$

613,008

Energy

89,484

581,636

671,120

Total

$

605,847

 

$

678,281

 

$

1,284,128

For the nine months ended September 30, 2022

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,226,511

 

$

221,346

 

 

1,447,857

Energy

224,879

1,418,725

1,643,604

Total

$

1,451,390

 

$

1,640,071

 

$

3,091,461

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

106,267

406,368

$

132,004

$

644,639

Energy

535,987

168,146

180,714

884,847

Total

$

642,254

 

$

574,514

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

290,320

$

1,131,044

$

392,404

$

1,813,768

Energy

1,548,206

446,704

391,082

2,385,992

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2022

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

58,602

 

$

397,204

 

$

157,202

 

$

613,008

Energy

440,041

152,501

78,578

671,120

Total

$

498,643

 

$

549,705

 

$

235,780

 

$

1,284,128

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2022

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

123,742

 

$

988,477

 

$

335,638

 

$

1,447,857

Energy

1,080,069

340,890

222,645

1,643,604

Total

$

1,203,811

 

$

1,329,367

 

$

558,283

 

$

3,091,461

(1)Includes time and material and cost reimbursable plus fee contracts.
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets  
Schedule of goodwill by reporting unit

The change in goodwill by segment for the nine months ended September 30, 2023 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2022

716,284

155,524

871,808

Adjustments to identifiable assets acquired and liabilities assumed

 

(12,822)

(1,336)

(14,158)

Balance at September 30, 2023

$

703,462

$

154,188

$

857,650

Summary of intangible asset categories, amounts and the average amortization periods

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(28,716)

4,104

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(73,279)

228,648

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(101,995)

$

232,752

$

334,747

$

(85,366)

$

249,381

Schedule of estimated future amortization expense for intangible assets Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2023 (remaining three months)

$

5,204

2024

19,701

2025

 

17,661

2026

 

16,141

2027

 

15,604

Thereafter

 

158,441

$

232,752

XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Payable and Accrued Liabilities (Tables)
9 Months Ended
Sep. 30, 2023
Accounts Payable and Accrued Liabilities  
Summary of accrued liabilities

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

140,770

$

114,053

Current operating lease liability

89,253

72,565

Casualty insurance reserves

 

18,890

 

19,935

Corporate income taxes and other taxes

 

39,853

 

16,213

Other

 

32,873

 

23,071

$

321,639

$

245,837

XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Credit Arrangements (Tables)
9 Months Ended
Sep. 30, 2023
Credit Arrangements  
Schedule of long-term debt and credit facilities

Long-term debt and credit facilities consists of the following (in thousands):

September 30, 

December 31, 

    

2023

    

2022

Term loan

$

897,752

$

933,188

Revolving credit facility

120,000

100,000

Commercial equipment notes

68,089

98,064

Mortgage notes

 

19,838

 

20,483

Total debt

1,105,679

1,151,735

Unamortized debt issuance costs

(6,927)

(8,283)

Total debt, net

$

1,098,752

$

1,143,452

Less: current portion

 

(85,233)

 

(78,137)

Long-term debt, net of current portion

$

1,013,519

$

1,065,315

XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Derivative Instruments (Tables)
9 Months Ended
Sep. 30, 2023
Derivative Instruments  
Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

Interest rate swap

Other long-term assets

4,236

Schedule of derivative instruments within the Condensed Consolidated Statements of Income

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2023

    

2022

2023

    

2022

Interest rate swap

 

Interest expense, net

$

1,307

$

854

$

6,904

$

3,797

XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Dividends and Earnings Per Share (Tables)
9 Months Ended
Sep. 30, 2023
Dividends and Earnings Per Share  
Schedule of cash dividends paid or declared

We paid cash dividends during 2023 and 2022 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

Schedule of computation of basic and diluted earnings per share

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2023 and 2022 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

    

2022

    

2023

    

2022

 

Numerator:

Net income

$

48,144

$

43,040

$

88,486

$

91,520

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,339

 

53,181

 

53,275

 

53,228

Dilutive effect of stock-based awards

 

1,012

 

567

 

896

 

550

Weighted average shares for computation of diluted earnings per share

 

54,351

 

53,748

 

54,171

 

53,778

Earnings per share:

Basic

$

0.90

$

0.81

$

1.66

$

1.72

Diluted

$

0.89

$

0.80

$

1.63

$

1.70

XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Leases (Tables)
9 Months Ended
Sep. 30, 2023
Leases  
Summary of components of lease expense

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2023

2022

    

2023

2022

Operating lease expense (1)

$

31,370

$

19,101

$

79,352

$

54,123

________________________________________

(1)Includes short-term leases which are immaterial.
Summary of operating lease liabilities

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2023

2022

Accrued liabilities

$

89,253

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

222,524

 

130,787

$

311,777

$

203,352

XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments (Tables)
9 Months Ended
Sep. 30, 2023
Reportable Segments  
Schedule of revenue and gross profit by segment

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

644,639

 

42.1%

$

613,008

 

47.7%

Energy

884,847

57.9%

671,120

52.3%

Total

$

1,529,486

 

100.0%

$

1,284,128

 

100.0%

For the nine months ended September 30, 

2023

2022

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

1,813,768

 

43.2%

$

1,447,857

 

46.8%

Energy

2,385,992

56.8%

1,643,604

53.2%

Total

$

4,199,760

 

100.0%

$

3,091,461

 

100.0%

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2023

2022

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

64,654

 

10.0%

$

78,046

 

12.7%

Energy

109,241

12.3%

76,861

11.5%

Total

$

173,895

 

11.4%

$

154,907

 

12.1%

For the nine months ended September 30, 

2023

2022

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

164,244

 

9.1%

$

140,755

 

9.7%

Energy

266,647

11.2%

162,746

9.9%

Total

$

430,891

 

10.3%

$

303,501

 

9.8%

XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Nature of Business (Details) - segment
9 Months Ended 12 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Nature of Business    
Number of reportable segments 2 3
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation - Restricted Cash (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Sep. 30, 2022
Dec. 31, 2021
Basis of Presentation        
Cash and cash equivalents $ 160,736 $ 248,692 $ 111,937 $ 200,512
Restricted cash included in prepaid expense and other current assets $ 5,810 $ 10,299 $ 21,089 $ 5,131
Restricted Cash, Statement of Financial Position Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current
Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows $ 166,546 $ 258,991 $ 133,026 $ 205,643
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation - Accounts Receivable Securitization Facility (Details)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Facility term   1 year
Accounts receivable from securitization $ 35.0 $ 35.0
Sale of accounts receivable   65.0
Cash proceeds from facility 40.0 65.0
Special Purpose Entity | Accounts receivable, net    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Trade accounts receivables 145.7 145.7
Maximum    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Accounts receivable from securitization $ 100.0 $ 100.0
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Basis of Presentation - Customer concentration (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2023
customer
Sep. 30, 2022
customer
Sep. 30, 2023
item
customer
Sep. 30, 2022
customer
Customer concentration        
Number of top customers     10  
Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item     1  
Revenues | Customer concentration | Top ten customers        
Customer concentration        
Percentage of concentration risk 44.10% 53.30% 38.20% 48.40%
Number of customers 10 10 10 10
Revenues | Customer concentration | Top ten customers | Minimum        
Customer concentration        
Minimum percentage of revenues generated by top ten customers     40.00%  
Revenues | Customer concentration | Top ten customers | Maximum        
Customer concentration        
Minimum percentage of revenues generated by top ten customers     50.00%  
Revenues | Customer concentration | Renewable energy customer        
Customer concentration        
Percentage of concentration risk   11.30%    
Number of customers   1    
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Mar. 01, 2022
ASP      
Liabilities      
Contingent consideration     $ 2,800
Contingent consideration      
Earnout     3,200
Estimated fair value of the contingent consideration     $ 2,800
Change in fair value of contingent consideration liability during year $ (900)    
Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1)      
Assets      
Cash and cash equivalents 160,736 $ 248,692  
Recurring | Significant Unobservable Inputs (Level 3)      
Liabilities      
Contingent consideration 68 925  
Recurring | Interest rate swap | Significant Other Observable Inputs (Level2)      
Assets      
Derivative asset $ 4,236 $ 1,235  
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions - PLH and FIH (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Aug. 01, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Jun. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Acquisitions              
Net cash paid       $ (9,300)   $ 478,438  
Identifiable assets acquired and liabilities assumed              
Goodwill   $ 857,650   857,650     $ 871,808
Transaction and related costs   $ 1,084 $ 12,706 4,677   $ 18,228  
Adjustments to goodwill       $ (14,158)      
PLH Group Inc              
Acquisitions              
Total purchase consideration $ 472,193            
Less cash and restricted cash acquired (43,152)            
Net cash paid 429,041            
Identifiable assets acquired and liabilities assumed              
Cash, cash equivalents and restricted cash 43,152            
Accounts receivable 74,739            
Contract assets 74,700            
Prepaid expenses and other current assets 10,858            
Property, plant and equipment 51,824            
Operating lease assets 16,340            
Deferred tax assets 21,731            
Other long-term assets 6,466            
Accounts payable and accrued liabilities (105,427)            
Contract liabilities (49,629)            
Long-term debt (including current portion) (3,313)            
Noncurrent operating lease liabilities, net of current (12,004)            
Other long-term liabilities (7,445)            
Total identifiable net assets 210,892            
Goodwill 261,301            
Total 472,193            
Increase in contract liabilities         $ 24,100    
Change in deferred taxes         18,800    
Increase (decrease) in working capital         (9,300)    
Increase (decrease) to intangible assets         (13,700)    
Increase (decrease) in fixed assets         (11,700)    
Adjustments to goodwill         $ 34,800    
PLH Group Inc | Customer relationships              
Identifiable assets acquired and liabilities assumed              
Intangible assets $ 77,300            
Useful life 15 years            
PLH Group Inc | Tradename              
Identifiable assets acquired and liabilities assumed              
Intangible assets $ 11,600            
Useful life 1 year 10 months 24 days            
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions - B Comm Holdco, LLC (Details) - USD ($)
$ in Thousands
9 Months Ended
Jun. 08, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Acquisitions        
Net cash paid   $ (9,300) $ 478,438  
Preliminary estimated fair values        
Goodwill   $ 857,650   $ 871,808
B Comm Holdco, LLC        
Acquisitions        
Net cash paid $ 36,000      
Goodwill is expected to be deductible for income tax purposes (in years) 15 years      
Preliminary estimated fair values        
Estimated fair values of the assets acquired and liabilities assumed, fixed assets $ 4,800      
Estimated fair values of the assets acquired and liabilities assumed, working capital 13,200      
Intangible assets 10,200      
Goodwill $ 10,000      
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions - Alberta Screw Piles, Ltd (Details) - USD ($)
$ in Thousands
Mar. 01, 2022
Sep. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Preliminary estimated fair values        
Goodwill   $ 857,650   $ 871,808
ASP        
Acquisitions        
Total purchase consideration $ 4,100      
Earnout 3,200      
Estimated fair value of the contingent consideration $ 2,800      
Preliminary estimated fair values        
Estimated fair values of the assets acquired and liabilities assumed, fixed assets and working capital     $ 2,600  
Goodwill     $ 4,800  
Goodwill expected to be deductible rate     5.00%  
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Acquisitions - Pro Forma Information (Details) - PLH Group Inc - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2022
Pro forma results    
Tax rate 18.60% 19.60%
Revenue $ 1,339,477 $ 3,485,099
Income before provision for income taxes 62,760 101,760
Net Income $ 51,111 $ 81,815
Weighted average common shares outstanding:    
Basic (in shares) 53,181 53,228
Diluted (in shares) 53,748 53,778
Earnings per share:    
Basic (in dollars per share) $ 0.96 $ 1.54
Diluted (in dollars per share) $ 0.95 $ 1.52
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Performance obligations (Details)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
Revenue    
Remaining performance obligations $ 5,000.0 $ 5,000.0
Revenue recognized from performance obligations satisfied in previous periods 5.8 7.0
Amount of contract modifications included in the expected contract value. $ 181.4 181.4
Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis   $ 164.6
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Performance obligations - Details (Details)
9 Months Ended
Sep. 30, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 12 months
Percentage of remaining performance obligation expected to be recognized in period 57.70%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01 | Minimum  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01 | Maximum  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 18 months
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Contract assets (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Revenue    
Unbilled revenue $ 505,002 $ 420,511
Retention receivable 208,533 174,149
Contract materials (not yet installed) 30,301 21,564
Contract assets 743,836 $ 616,224
Increase (decrease) in contract assets $ 127,600  
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Contract liabilities (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Revenue    
Deferred revenue $ 382,350 $ 269,853
Accrued loss provision 5,417 6,094
Contract liabilities 387,767 $ 275,947
Increase in contract liabilities 111,800  
Revenue recognized included in contract liability at beginning of period $ 228,300  
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue        
Revenue $ 1,529,486 $ 1,284,128 $ 4,199,760 $ 3,091,461
Fixed price        
Disaggregation of Revenue        
Revenue 642,254 498,643 1,838,526 1,203,811
Unit price        
Disaggregation of Revenue        
Revenue 574,514 549,705 1,577,748 1,329,367
Cost reimbursable        
Disaggregation of Revenue        
Revenue 312,718 235,780 783,486 558,283
MSA        
Disaggregation of Revenue        
Revenue 584,026 605,847 1,577,291 1,451,390
Non-MSA        
Disaggregation of Revenue        
Revenue 945,460 678,281 2,622,469 1,640,071
Utilities        
Disaggregation of Revenue        
Revenue 644,639 613,008 1,813,768 1,447,857
Utilities | Fixed price        
Disaggregation of Revenue        
Revenue 106,267 58,602 290,320 123,742
Utilities | Unit price        
Disaggregation of Revenue        
Revenue 406,368 397,204 1,131,044 988,477
Utilities | Cost reimbursable        
Disaggregation of Revenue        
Revenue 132,004 157,202 392,404 335,638
Utilities | MSA        
Disaggregation of Revenue        
Revenue 505,301 516,363 1,354,642 1,226,511
Utilities | Non-MSA        
Disaggregation of Revenue        
Revenue 139,338 96,645 459,126 221,346
Energy        
Disaggregation of Revenue        
Revenue 884,847 671,120 2,385,992 1,643,604
Energy | Fixed price        
Disaggregation of Revenue        
Revenue 535,987 440,041 1,548,206 1,080,069
Energy | Unit price        
Disaggregation of Revenue        
Revenue 168,146 152,501 446,704 340,890
Energy | Cost reimbursable        
Disaggregation of Revenue        
Revenue 180,714 78,578 391,082 222,645
Energy | MSA        
Disaggregation of Revenue        
Revenue 78,725 89,484 222,649 224,879
Energy | Non-MSA        
Disaggregation of Revenue        
Revenue $ 806,122 $ 581,636 $ 2,163,343 $ 1,418,725
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Goodwill (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Goodwill  
Goodwill, Beginning Balance $ 871,808
Adjustments to identifiable assets acquired and liabilities assumed (14,158)
Goodwill, Ending Balance 857,650
Utilities  
Goodwill  
Goodwill, Beginning Balance 716,284
Adjustments to identifiable assets acquired and liabilities assumed (12,822)
Goodwill, Ending Balance 703,462
Energy  
Goodwill  
Goodwill, Beginning Balance 155,524
Adjustments to identifiable assets acquired and liabilities assumed (1,336)
Goodwill, Ending Balance $ 154,188
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Intangible assets          
Gross Carrying Amount $ 334,747   $ 334,747   $ 334,747
Accumulated Amortization (101,995)   (101,995)   (85,366)
Intangible assets, net 232,752   232,752   249,381
Amortization expense of intangible assets 5,200 $ 6,700 16,600 $ 13,800  
Tradenames          
Intangible assets          
Gross Carrying Amount 32,820   32,820   32,820
Accumulated Amortization (28,716)   (28,716)   (25,611)
Intangible assets, net 4,104   4,104   7,209
Customer relationships          
Intangible assets          
Gross Carrying Amount 301,927   301,927   301,927
Accumulated Amortization (73,279)   (73,279)   (59,755)
Intangible assets, net $ 228,648   $ 228,648   $ 242,172
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Future Amortization (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Estimated future amortization expense for intangible assets    
2023 (remaining six months) $ 5,204  
2024 19,701  
2025 17,661  
2026 16,141  
2027 15,604  
Thereafter 158,441  
Intangible assets, net $ 232,752 $ 249,381
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Payable and Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Accounts Payable and Accrued Liabilities    
Retention amounts included in accounts payable $ 26,900 $ 21,500
Accrued liabilities    
Payroll and related employee benefits 140,770 114,053
Current operating lease liability 89,253 72,565
Casualty insurance reserves 18,890 19,935
Corporate income taxes and other taxes 39,853 16,213
Other 32,873 23,071
Total accrued liabilities $ 321,639 $ 245,837
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.3
Credit Arrangements (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Credit Agreements    
Total debt $ 1,105,679 $ 1,151,735
Unamortized debt issuance costs (6,927) (8,283)
Total debt, net 1,098,752 1,143,452
Less: current portion (85,233) (78,137)
Long-term debt, net of current portion 1,013,519 1,065,315
Term loan    
Credit Agreements    
Total debt 897,752 933,188
Revolving credit facility    
Credit Agreements    
Total debt 120,000 100,000
Commercial equipment notes    
Credit Agreements    
Total debt 68,089 98,064
Mortgage notes    
Credit Agreements    
Total debt $ 19,838 $ 20,483
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.23.3
Credit Arrangements - Narratives (Details) - USD ($)
$ in Thousands
9 Months Ended
Aug. 01, 2022
Sep. 30, 2023
Sep. 30, 2022
Jan. 31, 2023
Dec. 31, 2022
Sep. 13, 2018
Credit Agreements            
Weighted average interest rate (as a percent)   6.90%     6.20%  
Payments on long-term debt   $ (66,055) $ (77,751)      
Aggregate principal amount   1,098,752     $ 1,143,452  
Unamortized debt issuance costs   (6,927)     (8,283)  
Interest rate swap            
Credit Agreements            
Notional Amount   300,000     $ 121,700  
Credit Agreement.            
Credit Agreements            
Percentage of credit agreement, threshold restriction of total assets 20.00%          
Revolving credit facility            
Credit Agreements            
Maximum borrowing capacity $ 325,000          
Borrowings outstanding   120,000        
Available borrowing capacity   $ 167,200        
Term loan            
Credit Agreements            
Principal amount 945,000          
Term loan | Interest rate swap            
Credit Agreements            
Notional Amount       $ 300,000   $ 165,000
Derivative fixed interest rate (as a percent)       4.095%   2.89%
Basis spread on variable rate (as a percent)   2.25%        
Commercial letters of credit            
Credit Agreements            
Maximum borrowing capacity $ 325,000          
Borrowings outstanding   $ 37,800        
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.23.3
Credit Arrangements- Canadian Credit Facilities (Details)
$ in Millions
Sep. 30, 2023
CAD ($)
Canadian Credit Facility  
Credit Agreements  
Maximum borrowing capacity $ 14.0
Available borrowing capacity 13.3
Borrowings outstanding 0.0
Foreign letters of credit  
Credit Agreements  
Letters of credit outstanding $ 0.7
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.23.3
Derivative Instruments (Details)
$ in Millions
9 Months Ended
Sep. 30, 2023
USD ($)
instrument
Jan. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Sep. 13, 2018
USD ($)
Derivative Instruments        
Number of instruments used for trading | instrument 0      
Interest rate swap        
Derivative Instruments        
Notional Amount $ 300.0   $ 121.7  
Interest rate swap | First agreement        
Derivative Instruments        
Notional Amount 115.5     $ 165.0
Interest rate swap | Second agreement        
Derivative Instruments        
Notional Amount $ 300.0 $ 300.0    
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.23.3
Derivative Instruments - Derivative contract and instruments (Details) - Interest rate swap - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Derivative Instruments          
Derivative assets, current         $ 1,235
Derivative Asset, Current, Statement of Financial Position [Extensible Enumeration] Prepaid Expense and Other Assets, Current   Prepaid Expense and Other Assets, Current   Prepaid Expense and Other Assets, Current
Derivative assets, noncurrent $ 4,236   $ 4,236    
Derivative Asset, Noncurrent, Statement of Financial Position [Extensible Enumeration] Other Assets, Noncurrent   Other Assets, Noncurrent   Other Assets, Noncurrent
Amount of (gain) loss recognized on derivatives, net $ 1,307 $ 854 $ 6,904 $ 3,797  
Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Interest Income (Expense), Nonoperating, Net Interest Income (Expense), Nonoperating, Net Interest Income (Expense), Nonoperating, Net Interest Income (Expense), Nonoperating, Net  
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes (Details)
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Income Taxes    
Effective income tax rate reconciliation (in percent) 29.00% 19.60%
U.S. federal statutory income tax rate (as a percent) 21.00% 21.00%
Minimum period of statute of limitations of state and foreign jurisdictions 3 years  
Maximum period of statute of limitations of state and foreign jurisdictions 5 years  
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.23.3
Dividends and Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Aug. 02, 2023
May 03, 2023
Feb. 22, 2023
Nov. 03, 2022
Aug. 03, 2022
May 04, 2022
Feb. 24, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Earnings Per Share                      
Cash dividend declared (in dollars per share) $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.18 $ 0.18
Numerator:                      
Net Income (Loss)               $ 48,144 $ 43,040 $ 88,486 $ 91,520
Denominator:                      
Weighted average shares for computation of basic earnings per share               53,339 53,181 53,275 53,228
Dilutive effect of stock-based awards               1,012 567 896 550
Weighted average shares for computation of diluted earnings per share               54,351 53,748 54,171 53,778
Earnings per share:                      
Basic earnings per share (in dollars per share)               $ 0.90 $ 0.81 $ 1.66 $ 1.72
Diluted earnings per share (in dollars per share)               $ 0.89 $ 0.80 $ 1.63 $ 1.70
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Common Stock        
Proceeds from issuance of common stock     $ 681 $ 596
RSUs        
Common Stock        
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 8,664 11,215 162,689 131,709
LTR Plan        
Common Stock        
Shares of common stock issued under the long-term incentive plan     21,245 23,782
Amount received in exchange for shares of common stock under a long term incentive plan     $ 300 $ 600
Percentage of average market closing prices used in determining number of common stock that could be purchased by participants     75.00% 75.00%
Equity Plan | Independent Directors        
Common Stock        
Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors 8,856 9,688 31,240 28,288
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
May 31, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Feb. 28, 2022
Nov. 30, 2021
Secondary Offering              
Proceeds from issuance of common stock       $ 681 $ 596    
Treasury Stock, Value [Abstract]              
Aggregate purchase price up to which shares can be acquired under share purchase program           $ 25,000 $ 25,000
Number of shares purchased and cancelled under share purchase program         277,200    
Amount paid for shares purchased under share purchase program         $ 6,000    
Amount paid for shares purchased and cancelled under share purchase program (per share)         $ 21.61    
Amount remaining for purchase under share purchase program   $ 19,000   $ 19,000      
Employee Stock Purchase Plan              
Employee Stock Purchase Plan              
Purchase price of stock 90.00%            
Purchase in annual report period 30 days            
Purchase of quarterly report period 30 days            
Shares of common stock issued under the long-term incentive plan   6,218 9,943 12,538 9,943    
Stock purchase price   $ 29.86 $ 17.44 $ 25.85 $ 17.44    
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.23.3
Leases - Components of Lease Expense and Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Jun. 22, 2022
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Options to extend leases       true    
Aggregate sales price, net of closing costs       $ 47,579 $ 19,237  
Gain on sale and leaseback transaction         (40,084)  
Components of lease expense            
Operating lease expense   $ 31,370 $ 19,101 79,352 $ 54,123  
Operating lease liabilities            
Accrued liabilities   $ 89,253   $ 89,253   $ 72,565
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]   Accrued Liabilities, Current   Accrued Liabilities, Current   Accrued Liabilities, Current
Noncurrent operating lease liabilities, net of current portion   $ 222,524   $ 222,524   $ 130,787
Operating lease liabilities   $ 311,777   $ 311,777   $ 203,352
Land, buildings and improvements            
Aggregate sales price, net of closing costs $ 49,900          
Initial term 3 years          
Aggregate initial annual rent payment $ 1,200          
Percentage of annual rent increases 3.00%          
Gain on sale and leaseback transaction $ 40,100          
Maximum            
Renewal term   5 years   5 years    
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies - Legal (Details) - USD ($)
$ in Billions
Sep. 30, 2023
Dec. 31, 2022
Commitments and Contingencies.    
Bid and completion bonds issued and outstanding $ 6.0 $ 4.3
Remaining performance obligation on the bonded projects. $ 2.7 $ 1.7
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments (Details)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2022
USD ($)
Sep. 30, 2023
USD ($)
segment
Sep. 30, 2022
USD ($)
Dec. 31, 2022
segment
Segment reporting information          
Number of reportable segments | segment     2   3
Revenue $ 1,529,486 $ 1,284,128 $ 4,199,760 $ 3,091,461  
% of Total Revenue 100.00% 100.00% 100.00% 100.00%  
Gross Profit $ 173,895 $ 154,907 $ 430,891 $ 303,501  
% of Segment Revenue 11.40% 12.10% 10.30% 9.80%  
Utilities          
Segment reporting information          
Revenue $ 644,639 $ 613,008 $ 1,813,768 $ 1,447,857  
% of Total Revenue 42.10% 47.70% 43.20% 46.80%  
Gross Profit $ 64,654 $ 78,046 $ 164,244 $ 140,755  
% of Segment Revenue 10.00% 12.70% 9.10% 9.70%  
Energy          
Segment reporting information          
Revenue $ 884,847 $ 671,120 $ 2,385,992 $ 1,643,604  
% of Total Revenue 57.90% 52.30% 56.80% 53.20%  
Gross Profit $ 109,241 $ 76,861 $ 266,647 $ 162,746  
% of Segment Revenue 12.30% 11.50% 11.20% 9.90%  
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Revenue and Total Assets by Geographic Area (Details)
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Revenues and total assets by geographic area          
% of Revenue 100.00% 100.00% 100.00% 100.00%  
Non-United States          
Revenues and total assets by geographic area          
% of Revenue     5.60% 6.20%  
% of total assets     3.80%   4.20%
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Pay vs Performance Disclosure        
Net Income (Loss) $ 48,144 $ 43,040 $ 88,486 $ 91,520
XML 78 R68.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements
3 Months Ended
Sep. 30, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 79 prim-20230930x10q_htm.xml IDEA: XBRL DOCUMENT 0001361538 2022-02-28 0001361538 2021-11-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2023-07-01 2023-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2023-01-01 2023-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2022-07-01 2022-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2022-01-01 2022-09-30 0001361538 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001361538 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001361538 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001361538 us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001361538 2023-06-30 0001361538 us-gaap:RetainedEarningsMember 2022-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001361538 us-gaap:RetainedEarningsMember 2022-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001361538 us-gaap:RetainedEarningsMember 2022-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001361538 2022-06-30 0001361538 us-gaap:RetainedEarningsMember 2021-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001361538 us-gaap:CommonStockMember 2023-09-30 0001361538 us-gaap:CommonStockMember 2023-06-30 0001361538 us-gaap:CommonStockMember 2022-12-31 0001361538 us-gaap:CommonStockMember 2022-09-30 0001361538 us-gaap:CommonStockMember 2022-06-30 0001361538 us-gaap:CommonStockMember 2021-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2023-07-01 2023-09-30 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-09-30 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2022-07-01 2022-09-30 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-09-30 0001361538 srt:MinimumMember 2024-10-01 2023-09-30 0001361538 srt:MaximumMember 2024-10-01 2023-09-30 0001361538 2023-10-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember 2023-07-01 2023-09-30 0001361538 prim:UnitPriceContractsMember 2023-07-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember 2023-07-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember 2023-01-01 2023-09-30 0001361538 prim:UnitPriceContractsMember 2023-01-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember 2023-01-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 us-gaap:FixedPriceContractMember 2022-07-01 2022-09-30 0001361538 prim:UnitPriceContractsMember 2022-07-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2022-07-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2022-07-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember 2022-07-01 2022-09-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 us-gaap:FixedPriceContractMember 2022-01-01 2022-09-30 0001361538 prim:UnitPriceContractsMember 2022-01-01 2022-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2022-01-01 2022-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2022-01-01 2022-09-30 0001361538 prim:CostReimbursableContractsMember 2022-01-01 2022-09-30 0001361538 prim:AlbertaScrewPilesLtdMember 2022-03-01 2022-03-01 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001361538 2022-01-01 2022-12-31 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-08-01 0001361538 us-gaap:LetterOfCreditMember 2022-08-01 0001361538 us-gaap:LetterOfCreditMember 2023-09-30 0001361538 prim:CreditFacilityWithCanadianBankMember 2023-09-30 0001361538 prim:ForeignLettersOfCreditMember 2023-09-30 0001361538 prim:UAndDSegmentMember 2023-09-30 0001361538 prim:EnergyRenewablesMember 2023-09-30 0001361538 prim:UAndDSegmentMember 2022-12-31 0001361538 prim:EnergyRenewablesMember 2022-12-31 0001361538 us-gaap:TradeNamesMember 2023-09-30 0001361538 us-gaap:CustomerRelationshipsMember 2023-09-30 0001361538 us-gaap:TradeNamesMember 2022-12-31 0001361538 us-gaap:CustomerRelationshipsMember 2022-12-31 0001361538 us-gaap:EmployeeStockMember 2023-07-01 2023-09-30 0001361538 us-gaap:EmployeeStockMember 2023-01-01 2023-09-30 0001361538 us-gaap:EmployeeStockMember 2022-07-01 2022-09-30 0001361538 us-gaap:EmployeeStockMember 2022-01-01 2022-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001361538 us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001361538 prim:SecondAgreementMember us-gaap:InterestRateSwapMember 2023-09-30 0001361538 prim:FirstAgreementMember us-gaap:InterestRateSwapMember 2023-09-30 0001361538 prim:SecondAgreementMember us-gaap:InterestRateSwapMember 2023-01-31 0001361538 prim:FirstAgreementMember us-gaap:InterestRateSwapMember 2018-09-13 0001361538 us-gaap:InterestRateSwapMember 2023-07-01 2023-09-30 0001361538 us-gaap:InterestRateSwapMember 2023-01-01 2023-09-30 0001361538 us-gaap:InterestRateSwapMember 2022-07-01 2022-09-30 0001361538 us-gaap:InterestRateSwapMember 2022-01-01 2022-09-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:LoansPayableMember 2023-01-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:LoansPayableMember 2018-09-13 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 us-gaap:InterestRateSwapMember 2023-09-30 0001361538 us-gaap:InterestRateSwapMember 2022-12-31 0001361538 us-gaap:LoansPayableMember 2022-08-01 0001361538 us-gaap:RevolvingCreditFacilityMember 2023-09-30 0001361538 us-gaap:MortgagesMember 2023-09-30 0001361538 us-gaap:LoansPayableMember 2023-09-30 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2023-09-30 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-12-31 0001361538 us-gaap:MortgagesMember 2022-12-31 0001361538 us-gaap:LoansPayableMember 2022-12-31 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2022-12-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:LoansPayableMember 2023-01-01 2023-09-30 0001361538 2023-08-02 2023-08-02 0001361538 2023-05-03 2023-05-03 0001361538 2023-02-22 2023-02-22 0001361538 2022-11-03 2022-11-03 0001361538 2022-08-03 2022-08-03 0001361538 2022-05-04 2022-05-04 0001361538 2022-02-24 2022-02-24 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 2022-09-30 0001361538 2021-12-31 0001361538 prim:PlhGroupIncMember us-gaap:TradeNamesMember 2022-08-01 0001361538 prim:PlhGroupIncMember us-gaap:CustomerRelationshipsMember 2022-08-01 0001361538 prim:AlbertaScrewPilesLtdMember 2023-01-01 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001361538 prim:SpecialPurposeEntityMember us-gaap:AccountsReceivableMember 2023-09-30 0001361538 srt:MaximumMember 2023-09-30 0001361538 prim:NonUnitedStatesMember 2022-01-01 2022-12-31 0001361538 us-gaap:EmployeeStockMember 2022-05-01 2022-05-31 0001361538 prim:PlhGroupIncMember 2023-01-01 2023-09-30 0001361538 us-gaap:LandBuildingsAndImprovementsMember 2022-06-22 2022-06-22 0001361538 2023-10-01 2023-01-01 2023-09-30 0001361538 prim:NonUnitedStatesMember 2023-01-01 2023-09-30 0001361538 prim:NonUnitedStatesMember 2022-01-01 2022-09-30 0001361538 prim:BCommConstructorLlcMember 2022-06-08 2022-06-08 0001361538 prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 prim:EnergyRenewablesMember 2023-07-01 2023-09-30 0001361538 prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 prim:EnergyRenewablesMember 2023-01-01 2023-09-30 0001361538 prim:UAndDSegmentMember 2022-07-01 2022-09-30 0001361538 prim:EnergyRenewablesMember 2022-07-01 2022-09-30 0001361538 2022-07-01 2022-09-30 0001361538 prim:UAndDSegmentMember 2022-01-01 2022-09-30 0001361538 prim:EnergyRenewablesMember 2022-01-01 2022-09-30 0001361538 2022-01-01 2022-09-30 0001361538 prim:LongTermRetentionPlanMember 2023-01-01 2023-09-30 0001361538 prim:LongTermRetentionPlanMember 2022-01-01 2022-09-30 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2022-08-01 2022-08-01 0001361538 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001361538 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 prim:AlbertaScrewPilesLtdMember 2022-03-01 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001361538 prim:RenewableEnergyCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-09-30 0001361538 prim:TopTenCustomersMember srt:MinimumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001361538 prim:TopTenCustomersMember srt:MaximumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001361538 prim:PlhGroupIncMember 2022-08-01 2022-08-01 0001361538 prim:BCommConstructorLlcMember 2022-06-08 0001361538 prim:PlhGroupIncMember 2022-08-01 0001361538 prim:PlhGroupIncMember 2022-10-01 2023-06-30 0001361538 prim:PlhGroupIncMember 2022-07-01 2022-09-30 0001361538 prim:PlhGroupIncMember 2022-01-01 2022-09-30 0001361538 prim:AlbertaScrewPilesLtdMember 2023-03-31 0001361538 2023-09-30 0001361538 2022-12-31 0001361538 2023-07-01 2023-09-30 0001361538 2023-11-03 0001361538 2023-01-01 2023-09-30 shares iso4217:USD pure prim:item prim:customer prim:instrument iso4217:USD shares iso4217:CAD prim:segment http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent 0001361538 --12-31 2023 Q3 false http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent 53352611 53124899 http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent P15Y http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent 10-Q true 2023-09-30 false 001-34145 Primoris Services Corporation DE 20-4743916 2300 N. Field Street, Suite 1900 Dallas TX 75201 214 740-5600 Common Stock, $0.0001 par value PRIM NYSE Yes Yes Large Accelerated Filer false false false 53360411 160736000 248692000 851612000 663119000 743836000 616224000 134967000 176350000 1891151000 1704385000 489395000 493859000 308111000 202801000 232752000 249381000 857650000 871808000 24112000 21786000 3803171000 3544020000 500093000 534956000 387767000 275947000 321639000 245837000 3203000 3187000 85233000 78137000 1297935000 1138064000 1013519000 1065315000 222524000 130787000 29235000 57101000 43150000 43915000 2606363000 2435182000 0.0001 0.0001 90000000 90000000 53352611 53124899 6000 6000 272800000 263771000 926569000 847681000 -2567000 -2620000 1196808000 1108838000 3803171000 3544020000 1529486000 1284128000 4199760000 3091461000 1355591000 1129221000 3768869000 2787960000 173895000 154907000 430891000 303501000 84404000 75721000 247984000 190905000 1084000 12706000 4677000 18228000 40084000 88407000 66480000 178230000 134452000 -1000 -683000 1301000 -239000 467000 128000 1540000 274000 -21065000 -13075000 -56443000 -20656000 67808000 52850000 124628000 113831000 19664000 9810000 36142000 22311000 48144000 43040000 88486000 91520000 0.06 0.06 0.18 0.18 0.90 0.81 1.66 1.72 0.89 0.80 1.63 1.70 53339000 53181000 53275000 53228000 54351000 53748000 54171000 53778000 48144000 43040000 88486000 91520000 -1440000 -4058000 53000 -3881000 46704000 38982000 88539000 87639000 53328873 6000 269031000 881628000 -1127000 1149538000 48144000 48144000 -1440000 -1440000 15074 479000 479000 8664 -278000 -278000 3568000 3568000 0.06 3203000 3203000 53352611 6000 272800000 926569000 -2567000 1196808000 53124899 6000 263771000 847681000 -2620000 1108838000 88486000 88486000 53000 53000 65023 1742000 1742000 162689 -1668000 -1668000 8955000 8955000 0.18 9598000 9598000 53352611 6000 272800000 926569000 -2567000 1196808000 53209461 6000 262394000 769523000 875000 1032798000 43040000 43040000 -4058000 -4058000 19631 393000 393000 11215 -104000 -104000 1753000 1753000 129200 2620000 2620000 0.06 3194000 3194000 53111107 6000 261816000 809369000 -3183000 1068008000 53194585 6000 261918000 727433000 698000 990055000 91520000 91520000 -3881000 -3881000 62013 1464000 1464000 131709 -1324000 -1324000 5748000 5748000 277200 5990000 5990000 0.18 9584000 9584000 53111107 6000 261816000 809369000 -3183000 1068008000 88486000 91520000 81454000 69348000 8955000 5748000 29603000 17987000 40084000 3001000 5616000 1546000 1877000 185815000 122867000 128360000 148044000 -32961000 98489000 -633000 -1975000 -34855000 133731000 106042000 -10364000 -3114000 896000 51182000 40016000 114000 -1903000 -7147000 -102035000 82500000 75696000 47579000 19237000 49887000 -9300000 478438000 -25621000 -485010000 440223000 169943000 420223000 19804000 469531000 66055000 77751000 681000 596000 6643000 9582000 9583000 5990000 -5067000 -4947000 -60023000 515352000 346000 -924000 -92445000 -72617000 258991000 205643000 166546000 133026000 57351000 20025000 -6622000 2540000 181328000 40144000 3203000 3195000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 1—Nature of Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Organization and operations</span><b style="font-weight:bold;"> — </b>Primoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Reportable Segments </span>— Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The current reportable segments include the Utilities segment and the Energy segment, and the Energy segment is made up of our former Energy/Renewables and Pipeline segments. See Note 15 – “<i style="font-style:italic;">Reportable Segments</i>” for a brief description of the reportable segments and their operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 2—Basis of Presentation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Interim condensed consolidated financial statements</span> <b style="font-weight:bold;">—</b> The interim condensed consolidated financial statements for the three and nine months ended September 30, 2023 and 2022 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 28, 2023, which contains our audited consolidated financial statements for the year ended December 31, 2022, have been omitted. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restricted cash </span><b style="font-weight:bold;">— </b>Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which is recorded as restricted cash at December 31, 2022. As of September 30, 2023 all of the restricted cash from the PLH acquisition had been released. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 111,937</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__cHRQTlchk6qs7r57-HQAw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,089</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 133,026</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 200,512</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_BOFRDhTjA0CLUMJeoPp9JQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,131</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 205,643</p></td></tr></table></div><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable Securitization Facility </span>—<span style="font-style:italic;font-weight:bold;"> </span>In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. The SPE owned $145.7 million of trade accounts receivable as of September 30, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheets. For the three and nine months ended September 30, 2023, we received $40.0 million and $65.0 million, respectively, in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statements of Cash Flows. As of September 30, 2023, we had $35.0 million available capacity under the Facility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 40% to 50% of total revenue; however, the companies that comprise the top ten customers vary from year to year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2022, approximately 53.3% and 48.4%, respectively, of total revenue was generated from our top ten customers. For the three months ended September 30, 2022, one renewable energy customer represented approximately 11.3% of total revenue and for the nine months ended September 30, 2022, no one customer accounted for more than 10% of our total revenue. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restricted cash </span><b style="font-weight:bold;">— </b>Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which is recorded as restricted cash at December 31, 2022. As of September 30, 2023 all of the restricted cash from the PLH acquisition had been released. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 111,937</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__cHRQTlchk6qs7r57-HQAw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,089</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 133,026</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 200,512</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_BOFRDhTjA0CLUMJeoPp9JQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,131</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 205,643</p></td></tr></table></div> The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 111,937</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__cHRQTlchk6qs7r57-HQAw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,089</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 133,026</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 200,512</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_BOFRDhTjA0CLUMJeoPp9JQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,131</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 205,643</p></td></tr></table></div> 160736000 111937000 5810000 21089000 166546000 133026000 248692000 200512000 10299000 5131000 258991000 205643000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable Securitization Facility </span>—<span style="font-style:italic;font-weight:bold;"> </span>In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The total outstanding balance of trade accounts receivable that have been sold and derecognized is $65.0 million as of September 30, 2023. The SPE owned $145.7 million of trade accounts receivable as of September 30, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheets. For the three and nine months ended September 30, 2023, we received $40.0 million and $65.0 million, respectively, in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statements of Cash Flows. As of September 30, 2023, we had $35.0 million available capacity under the Facility.</p> P1Y 100000000.0 65000000.0 145700000 40000000.0 65000000.0 35000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 40% to 50% of total revenue; however, the companies that comprise the top ten customers vary from year to year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2022, approximately 53.3% and 48.4%, respectively, of total revenue was generated from our top ten customers. For the three months ended September 30, 2022, one renewable energy customer represented approximately 11.3% of total revenue and for the nine months ended September 30, 2022, no one customer accounted for more than 10% of our total revenue. </p> 10 1 0.40 0.50 10 0.441 0.382 10 10 0.533 0.484 10 10 1 0.113 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 3—Fair Value Measurements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">ASC Topic 820, “<i style="font-style:italic;">Fair Value Measurements and Disclosures</i>” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at September 30, 2023 and December 31, 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:51.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at Reporting Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of September 30, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of September 30, </b><b style="font-weight:bold;white-space:pre-wrap;">2023: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 68</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December 31, 2022:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2022: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 925</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The interest rate swaps are measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 – “<i style="font-style:italic;">Derivative Instruments</i>” for additional information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statements of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of a contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “<i style="font-style:italic;">Acquisitions</i>”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “<i style="font-style:italic;">Business Combinations</i>” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration during the nine months ended September 30, 2023, related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at September 30, 2023 and December 31, 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:51.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at Reporting Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of September 30, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of September 30, </b><b style="font-weight:bold;white-space:pre-wrap;">2023: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 68</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December 31, 2022:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2022: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 925</p></td></tr></table> 160736000 4236000 68000 248692000 1235000 925000 3200000 2800000 -900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 4—Acquisitions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Acquisition of PLH</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). <span style="background:#ffffff;">PLH is a utility-focused specialty construction company with concentrations in growing regions of the </span>United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.<span style="font-size:12pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:80.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 472,193</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,152)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 429,041</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:80.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,152</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 74,739</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 74,700</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,858</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,824</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,340</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,731</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 77,300</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,600</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,466</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (105,427)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,629)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,313)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,004)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,445)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 210,892</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 261,301</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 472,193</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. It is impractical to segregate and identify revenue and gross profit for PLH as we have integrated a material portion of PLH into our existing operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'EYInterstate Light';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-style:italic;">Supplemental Unaudited Pro Forma Information for the three and nine months ended September 30, 2022</i></p><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'EYInterstate Light';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';">The following pro forma information for the three and nine months ended September 30, 2022 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021. The supplemental pro forma information has been adjusted to include: </span></p><p style="font-family:'EYInterstate Light';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'EYInterstate Light';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:12pt;">• </span><span style="font-family:'Times New Roman','Times','serif';">the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment; </span></p><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'EYInterstate Light';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:12pt;">• </span><span style="font-family:'Times New Roman','Times','serif';">the pro forma impact of nonrecurring transaction and related costs directly attributable to the acquisition; and </span></p><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'EYInterstate Light';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:12pt;">•</span><span style="font-family:'Times New Roman','Times','serif';">the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using a tax rate of </span><span style="font-family:'Times New Roman','Times','serif';">18.6%</span><span style="font-family:'Times New Roman','Times','serif';"> and </span><span style="font-family:'Times New Roman','Times','serif';">19.6%</span><span style="font-family:'Times New Roman','Times','serif';"> for the three and nine months ended September 30, 2022, respectively.</span></p><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH acquisition been completed on January 1, 2021. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (in thousands, except per share amounts):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:96.19%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,339,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,485,099</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 62,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 101,760</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,111</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 81,815</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares outstanding:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,228</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,778</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.54</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.52</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Acquisition of B Comm Holdco, LLC</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a <span style="-sec-ix-hidden:Hidden_e6emxwMRqE2jCvhGFsYoGA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15-year</span></span> period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Acquisition of Alberta Screw Piles, Ltd.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The fair values of the assets acquired and liabilities assumed consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per year.</p> 429000000.0 24100000 18800000 -13700000 -9300000 -11700000 34800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:80.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 472,193</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,152)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 429,041</p></td></tr></table> 472193000 43152000 429041000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:80.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,152</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 74,739</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 74,700</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,858</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,824</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,340</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,731</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 77,300</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,600</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,466</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (105,427)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,629)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,313)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,004)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,445)</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 210,892</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 261,301</p></td></tr><tr><td style="vertical-align:bottom;width:80.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 472,193</p></td></tr></table> 43152000 74739000 74700000 10858000 51824000 16340000 21731000 77300000 11600000 6466000 105427000 49629000 3313000 12004000 7445000 210892000 261301000 472193000 77300000 11600000 P15Y P1Y10M24D 0.186 0.196 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:96.19%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,339,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,485,099</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 62,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 101,760</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,111</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 81,815</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares outstanding:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,228</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,778</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.54</p></td></tr><tr><td style="vertical-align:bottom;width:44.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.52</p></td></tr></table> 1339477000 3485099000 62760000 101760000 51111000 81815000 53181000 53228000 53748000 53778000 0.96 1.54 0.95 1.52 36000000.0 4800000 13200000 10200000 10000000.0 4100000 3200000 2800000 2600000 4800000 0.05 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 5—Revenue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. A substantial portion of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we can’t reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of September 30, 2023, we had $5.0 billion of remaining performance obligations. We expect to recognize approximately 57.7% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three and nine months ended September 30, 2023, revenue recognized related to performance obligations satisfied in previous periods was $5.8 million and $7.0 million, respectively. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">At September 30, 2023, we had approximately $181.4 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $164.6 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 420,511</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 208,533</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 174,149</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,564</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 743,836</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 616,224</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets increased by $127.6 million compared to December 31, 2022 primarily due to higher unbilled revenue and retention receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:56.2pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">deferred revenue, which arises when billings are in excess of revenue recognized to date; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:56.2pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the accrued loss provision.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 382,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 269,853</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,094</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 387,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 275,947</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities increased by $111.8 million compared to December 31, 2022 primarily due to higher deferred revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized for the nine months ended September 30, 2023, that was included in the contract liability balance at December 31, 2022, was approximately $228.3 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The following tables present our revenue disaggregated into various categories.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">MSA and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 139,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 806,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 584,026</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 945,460</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,354,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 459,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,163,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,291</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,469</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 516,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,645</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 581,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 605,847</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 678,281</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,226,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 221,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 224,879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,418,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,451,390</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,640,071</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 106,267</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 406,368</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 132,004</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 535,987</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 168,146</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 180,714</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 642,254</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 574,514</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:10pt;margin:0pt;"> </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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 312,718</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 290,320</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,131,044</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 392,404</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,548,206</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 446,704</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 391,082</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,838,526</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,748</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 783,486</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,602</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 397,204</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:10pt;margin:0pt;"> </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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,202</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 440,041</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 152,501</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,578</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 498,643</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 549,705</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,780</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 123,742</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 988,477</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:10pt;margin:0pt;"> </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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 335,638</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,080,069</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 340,890</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,645</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,203,811</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,329,367</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 558,283</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.</p> 5000000000.0 0.577 P12M P12M P18M 5800000 7000000.0 181400000 164600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 420,511</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 208,533</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 174,149</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 30,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,564</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 743,836</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 616,224</p></td></tr></table> 505002000 420511000 208533000 174149000 30301000 21564000 743836000 616224000 127600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 382,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 269,853</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,094</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 387,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 275,947</p></td></tr></table> 382350000 269853000 5417000 6094000 387767000 275947000 111800000 228300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">MSA and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 139,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 806,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 584,026</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 945,460</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,354,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 459,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,163,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,291</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,469</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 516,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,645</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 581,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 605,847</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 678,281</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,226,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 221,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 224,879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,418,725</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td></tr><tr><td style="vertical-align:top;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,451,390</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,640,071</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 106,267</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 406,368</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 132,004</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 535,987</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 168,146</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 180,714</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 642,254</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 574,514</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:10pt;margin:0pt;"> </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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 312,718</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 290,320</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,131,044</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 392,404</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,548,206</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 446,704</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 391,082</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,838,526</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,748</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 783,486</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,602</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 397,204</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:10pt;margin:0pt;"> </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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,202</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 440,041</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 152,501</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,578</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 498,643</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 549,705</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 235,780</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</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:37.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 123,742</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 988,477</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:10pt;margin:0pt;"> </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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 335,638</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:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,080,069</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 340,890</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,645</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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td></tr><tr><td style="vertical-align:top;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </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:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,203,811</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,329,367</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;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:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 558,283</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table> 505301000 139338000 644639000 78725000 806122000 884847000 584026000 945460000 1529486000 1354642000 459126000 1813768000 222649000 2163343000 2385992000 1577291000 2622469000 4199760000 516363000 96645000 613008000 89484000 581636000 671120000 605847000 678281000 1284128000 1226511000 221346000 1447857000 224879000 1418725000 1643604000 1451390000 1640071000 3091461000 106267000 406368000 132004000 644639000 535987000 168146000 180714000 884847000 642254000 574514000 312718000 1529486000 290320000 1131044000 392404000 1813768000 1548206000 446704000 391082000 2385992000 1838526000 1577748000 783486000 4199760000 58602000 397204000 157202000 613008000 440041000 152501000 78578000 671120000 498643000 549705000 235780000 1284128000 123742000 988477000 335638000 1447857000 1080069000 340890000 222645000 1643604000 1203811000 1329367000 558283000 3091461000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 6—Goodwill and Intangible Assets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The change in goodwill by segment for the nine months ended September 30, 2023 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Utilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 716,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 155,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 871,808</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Adjustments to identifiable assets acquired and liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,822)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,336)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,158)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:97.12%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:17.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,611)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,209</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 301,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (73,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 228,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 301,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (59,755)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 242,172</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 334,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (101,995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 232,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 334,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85,366)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 249,381</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense of intangible assets was $5.2 million and $6.7 million for the three months ended September 30, 2023 and 2022, respectively, and $16.6 million and $13.8 million for the nine months ended September 30, 2023 and 2022, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023 (remaining three months)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,204</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,661</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,141</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,604</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 158,441</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 232,752</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The change in goodwill by segment for the nine months ended September 30, 2023 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Utilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 716,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 155,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 871,808</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Adjustments to identifiable assets acquired and liabilities assumed</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,822)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,336)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,158)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at September 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 716284000 155524000 871808000 -12822000 -1336000 -14158000 703462000 154188000 857650000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:97.12%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:17.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,611)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,209</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 301,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (73,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 228,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 301,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (59,755)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 242,172</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 334,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (101,995)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 232,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 334,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85,366)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 249,381</p></td></tr></table> 32820000 28716000 4104000 32820000 25611000 7209000 301927000 73279000 228648000 301927000 59755000 242172000 334747000 101995000 232752000 334747000 85366000 249381000 5200000 6700000 16600000 13800000 Estimated future amortization expense for intangible assets is as follows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023 (remaining three months)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,204</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,701</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,661</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,141</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,604</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 158,441</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 232,752</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 5204000 19701000 17661000 16141000 15604000 158441000 232752000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 7—Accounts Payable and Accrued Liabilities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">At September 30, 2023 and December 31, 2022, accounts payable included retention amounts of approximately $26.9 million and $21.5 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 114,053</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,935</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,213</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,873</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,071</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 321,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 245,837</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 26900000 21500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,770</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 114,053</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,935</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,213</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 32,873</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,071</p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 321,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 245,837</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 140770000 114053000 89253000 72565000 18890000 19935000 39853000 16213000 32873000 23071000 321639000 245837000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8 — Credit Arrangements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consists of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">​</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:73.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 897,752</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 933,188</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120,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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 100,000</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 68,089</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 98,064</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,838</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,105,679</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;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,151,735</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,927)</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,283)</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,098,752</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,143,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85,233)</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (78,137)</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,013,519</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,065,315</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The weighted average interest rate on total debt outstanding at September 30, 2023 and December 31, 2022 was 6.9% and 6.2%, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. At September 30, 2023, commercial letters of credit outstanding were $37.8 million. In addition to the commercial letters of credit, there were $120.0 million of outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $167.2 million at September 30, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement at September 30, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On September 13, 2018, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $165.0 million of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 9 – “<i style="font-style:italic;">Derivative Instruments</i>”.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On January 31, 2023, we entered into a second interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 2.25% at September 30, 2023. The interest rate swap matures on January 31, 2025. See Note 9 – “<i style="font-style:italic;">Derivative Instruments</i>”.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Canadian Credit Facilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. At September 30, 2023, commercial letters of credit outstanding were $0.7 million in Canadian dollars and there were no outstanding borrowings. Available capacity at September 30, 2023 was $13.3 million in Canadian dollars.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consists of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">​</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:73.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </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:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 897,752</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 933,188</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120,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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 100,000</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 68,089</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 98,064</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,838</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 20,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,105,679</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;margin:0pt;"><span style="visibility:hidden;">​</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,151,735</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,927)</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,283)</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,098,752</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;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,143,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (85,233)</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (78,137)</p></td></tr><tr><td style="vertical-align:bottom;width:73.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,013,519</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,065,315</p></td></tr></table> 897752000 933188000 120000000 100000000 68089000 98064000 19838000 20483000 1105679000 1151735000 6927000 8283000 1098752000 1143452000 85233000 78137000 1013519000 1065315000 0.069 0.062 945000000.0 325000000.0 325000000.0 37800000 120000000.0 167200000 0.20 165000000.0 0.0289 300000000.0 0.04095 0.0225 14000000.0 700000 0 13300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9 — Derivative Instruments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Interest Rate Risk. </span>We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $300.0 million maturing on January 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Credit Risk. </span>By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</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:32.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_9OFm8xEZzkGNegsFrq2_hg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_KaUc0DfIz0OhJokaQUo3VA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other long-term assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></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:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location of Gain</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></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:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized on Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></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:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:21.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_M-4jybKM9kKYokGzxwXzWw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest expense, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 854</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,797</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Cash flows from derivatives settled are reported as cash flows from operating activities.</p> 0 165000000.0 300000000.0 300000000.0 121700000 115500000 300000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</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:32.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_9OFm8xEZzkGNegsFrq2_hg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_KaUc0DfIz0OhJokaQUo3VA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other long-term assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p> 1235000 4236000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></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:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location of Gain</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></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:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized on Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></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:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;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:21.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_M-4jybKM9kKYokGzxwXzWw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest expense, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 854</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;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,797</p></td></tr></table> -1307000 -854000 -6904000 -3797000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10—Income Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The effective tax rate on income for the nine months ended September 30, 2023, and 2022 is 29.0% and 19.6%, respectively. For the first nine months of 2023, our tax rate differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. For the first nine months of 2022, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and the release of valuation allowances during the second and third quarters of 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;background:#ffffff;"> </span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">O</span>ur U.S. federal income tax returns are generally no longer subject to examination for tax years before 2019. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2017.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.</p> 0.290 0.196 0.210 0.210 P3Y P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 11—Dividends and Earnings Per Share</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2023 and 2022 as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 13, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 22, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 14, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 3, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 14, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 29, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 13, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2023 and 2022 (in thousands, except per share amounts).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.37%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of stock-based awards</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted earnings per share</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.70</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2023 and 2022 as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:14.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 13, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 22, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 14, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 3, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 14, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 29, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 13, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr></table> 0.06 0.06 0.06 0.06 0.06 0.06 0.06 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2023 and 2022 (in thousands, except per share amounts).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.37%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 43,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of stock-based awards</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted earnings per share</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.70</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> 48144000 43040000 88486000 91520000 53339000 53181000 53275000 53228000 1012000 567000 896000 550000 54351000 53748000 54171000 53778000 0.90 0.81 1.66 1.72 0.89 0.80 1.63 1.70 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:54.7pt;text-indent:-54.7pt;margin:0pt;"><b style="font-weight:bold;">Note 12—Stockholders’ Equity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Common stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We issued 21,245 and 23,782 shares of common stock in the nine months ended September 30, 2023 and 2022, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million and $0.6 million in the nine months ended September 30, 2023 and 2022, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2023 were a portion of bonus amounts earned in 2022, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2022. The shares purchased in the nine months ended September 30, 2022 were for bonus amounts earned in 2021, and the number of shares was calculated at 75% of the average daily closing market price during December 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the three months ended September 30, 2023 and 2022, we issued 8,856 and 9,688 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the nine months ended September 30, 2023 and 2022, we issued 31,240 and 28,288 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the three and nine months ended September 30, 2023, a total of 8,664 and 162,689 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 11,215 and 131,709 RSUs, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> </span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”) for which, eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share. For the three and nine months ended September 30, 2022, 9,943 shares were purchased at a discounted purchase price of $17.44 per share.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Share Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In February 2022, our Board of Directors replenished the limit to $25.0 million. During the nine months ended September 30, 2023 we did not purchase any shares of common stock. During the nine months ended September 30, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. As of September 30, 2023, we had $19.0 million remaining for purchase under the share purchase program. The share purchase plan expires on December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 21245 23782 300000 600000 0.75 0.75 8856 9688 31240 28288 8664 162689 11215 131709 0.90 P30D P30D 6218 29.86 12538 25.85 9943 9943 17.44 17.44 25000000.0 25000000.0 277200 6000000.0 21.61 19000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 13—Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our leases have remaining lease terms that expire at various dates through 2031, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense are 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:40.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,352</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,123</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes short-term leases which are immaterial. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets 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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_6CUy6sk44kyh7-R77kZZdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,787</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 311,777</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 203,352</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Sale and Leaseback Transaction</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Condensed Consolidated Statements of Income for the nine months ended September 30, 2022.</p> true P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense are 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:40.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,352</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,123</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes short-term leases which are immaterial. </span></td></tr></table> 31370000 19101000 79352000 54123000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets 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:62.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_6CUy6sk44kyh7-R77kZZdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,787</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 311,777</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</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:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 203,352</p></td></tr></table> 89253000 72565000 222524000 130787000 311777000 203352000 49900000 P3Y 1200000 0.030 -40100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 14—Commitments and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Legal proceedings </span><b style="font-weight:bold;">— </b>We are subject to claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential litigation loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Management is unable to ascertain the ultimate outcome of claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Bonding —</span> At September 30, 2023 and December 31, 2022, we had bid and completion bonds issued and outstanding totaling approximately $6.0 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion at September 30, 2023 and December 31, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 6000000000.0 4300000000 2700000000 1700000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 15—Reportable Segments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a brief description of the reportable segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Energy segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:20.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:75.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">42.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">47.7%</p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">57.9%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">52.3%</p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:72.46%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:20.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:75.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">43.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">46.8%</p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">56.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">53.2%</p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.67%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:71.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 64,654</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.7%</p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.3%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.5%</p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 173,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.1%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:71.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 164,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.7%</p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 266,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 162,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.9%</p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 430,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.3%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 303,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.8%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Goodwill</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The amount of goodwill recorded by each segment at September 30, 2023 and at December 31, 2022 is presented in Note 6 – “<i style="font-style:italic;">Goodwill and Intangible Assets”</i>. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Geographic Region — Revenue and Total Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The majority of our revenue is derived from customers in the United States with approximately 5.6% and 6.2% generated from sources outside of the United States during the nine months ended September 30, 2023 and 2022, respectively, principally in Canada. At September 30, 2023 and December 31, 2022, approximately 3.8% and 4.2%, respectively, of total assets were located outside of the United States, principally in Canada.</p> 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:20.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:75.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td 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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 644,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">42.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 613,008</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">47.7%</p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 884,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">57.9%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 671,120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td 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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">52.3%</p></td></tr><tr><td style="vertical-align:bottom;width:20.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,284,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:72.46%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:20.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:75.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:36.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,813,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">43.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,447,857</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">46.8%</p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,385,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">56.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,643,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">53.2%</p></td></tr><tr><td style="vertical-align:bottom;width:20.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,091,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.67%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:71.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 64,654</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.7%</p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.3%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.5%</p></td></tr><tr><td style="vertical-align:bottom;width:24.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 173,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.1%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:71.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:33.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 164,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.7%</p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 266,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 162,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.9%</p></td></tr><tr><td style="vertical-align:bottom;width:24.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 430,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.3%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 303,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.8%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 644639000 0.421 613008000 0.477 884847000 0.579 671120000 0.523 1529486000 1.000 1284128000 1.000 1813768000 0.432 1447857000 0.468 2385992000 0.568 1643604000 0.532 4199760000 1.000 3091461000 1.000 64654000 0.100 78046000 0.127 109241000 0.123 76861000 0.115 173895000 0.114 154907000 0.121 164244000 0.091 140755000 0.097 266647000 0.112 162746000 0.099 430891000 0.103 303501000 0.098 0.056 0.062 0.038 0.042 false false false false EXCEL 80 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )*-9U<'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "2C6=791CI\N\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O28=*J'KBV-/"H(#Q;>0W+9@DX;DI-VW-ZU;A^@'\#%W__SN M=W"-#E+W$9]C'S"2Q70SNLXGJ<.:'8F"!$CZB$ZE,B=\;N[[Z!3E9SQ 4/I# M'1!$5=V"0U)&D8()6(2%R-K&:*DC*NKC&6_T@@^?L9MA1@-VZ-!3 EYR8.TT M,9S&KH$K8((11I>^"V@6XES]$SMW@)V38[)+:AB&%W%7:]L7O[ MCXTO@FT#O^ZB_0)02P,$% @ DHUG5YE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" "2C6=7?2L2$,X% #_'@ & 'AL+W=OCI3 D>%D%)W&.>-^PE/$H[H_/BVE2-SF5NXB@54T5TGB1< MO5R)6*XO.K2SO? 0+9;&7NB-SC.^$#-A?L^F"LYZE4H8)2+5D4R)$O.+SB7] M,/:9#2B>^",2:_WJF%@K3U)^M2>3\*+CV1*)6 3&2G#X6XFQB&.K!.7X9R/: MJ=YI U\?;]5O"_-@YHEK,9;QGU%HEA>=TPX)Q9SGL7F0ZU_%QM# Z@4RUL4O M69?/]OL=$N3:R&03#"5(HK3\Y\^;BG@5X/L- 6P3P-X%T*8W^)L OS!:EJRP M=/,*+@;09P979FJ4&U5"$;^-[4,JJJ&Q; MU"N&"LY$=DQ\[X@PC_F.\HSQ\'NY.B:>[PI_4QR_JCF_T//;U9RKPDK!OEO0 M=M@/.N.!N.A C]1"K41G],-W=.C]['+[C<3>>.]7WON8>NW]\243+J=X./6Z MGUV6T*B6E@:5I<%^EC[G7!FAXA?R(#*IC,L>+F54[JJ4,1K5TMZPLC?1[M^G_8'+G-H:$MS9Y6YLWW,/8A% MI TDT)![GCC;**XS55$B5:3)# H8!4*3L530")I&YC$JU](T]>HYV-O']B0- MZE(>D9F!_DFD@K+GJ5$O\!\ZZV*'^O6-RS$>U-;R*^R@^UA^Y,]D$D)_C>91 M4!)'(LG#%DP'SJ-/I(1B*UA!%TU4 M%$0=+/4P^.GT=@IE8S4P,IYIM$LG-<[#DZ4(THN(. MH?LO,R<@X6%M_=6 Q/8"I'&NE/V<*;]ABD3"-)([UV-V*'YQKN*,\:BV/FLP M8GN!T22%;^YR3<]^E_*M<:=/7+')YR&HA]74P_:B'OO=!D0/)+"0RCD"[="Y MXPK:^F40"! "F;"4=#H^!/^PFG_87OPS2P#0R%6NX;9VMUM.I.+2[8;/00U,-JZF$XM&P3N1202,P>+M-L M[Q#TPVKZ83BX;$?:-U/[K%CU)I]R RR;VAG4Z?@;<N3S6!,3V6C4:PXBJ /4F:2B>R6_"G<9=BT<>]8=TX)\Z/1R"=EA- M.PR'E>UT>1MIB[1?!) 9MM2Y0Z[;I:SK.[]$\,B61OT:?_P=BSK;=<[73F_A MHG.$W2'6M)"+A[7U6".0CP/+>X^;I>MFE[C<9[?'0^"/7^./C\/*)1@,2Y,Q M=XXQ.P0:1U4\[O\:Z[W:8K037K'SJDE@ER;+W<;J:K6[>UGL:?;JQ\NMX8_< MSI>:Q&(.H=[Q"0QXJMQM+4^,S(H-RR=IC$R*PZ7@H5#V ;@_E])L3^P+JCWO MT;]02P,$% @ DHUG5ZZM3(Z2!@ OQH !@ !X;"]W;W)KJW4 ]2E=Y]-8MBH M29PFW@7NU]\X&Y)L[!BJZX>6)#LS>68\GF?&.7D0U?=ZS;E$CWE6U*>SM93E M\7Q>QVN>L_I(E+R 7^Y$E3,)M]7]O"XKSI)&*<_FQ''\><[28K8X:9Y=5XL3 ML9%96O#K"M6;/&?5TP>>B8?3&9X]/_B:WJ^E>C!?G)3LGJ^X_%9>5W W[ZPD M:P,'Y]3JA0:B;]3_E /KI%RY5:([^KF++*Z^1\]M++.#,6;6HJ\508$>5KL_K+'-A #!>Q.*)!6@;Q6 M@;8*3>3F.V2-6TLFV>*D$@^H4M)@35TTL6FTP9NT4,NXDA7\FH*>7)Q?72XO M+E<72P17JZLOGY=G-W#SX>S+V>7Y!5I]NKBX6:%#]&VU1&_?O$-O4%J@F[78 MU*Q(ZI.Y! S*TCQNW_=A]SXR\;X5+X\0=0X0<0@UJ)_;U9<\!G7+W MW[#OO#=Y]XN,[?E*.U^IS?KBG-5K!*N&8G7!?VS2+>,J[DSYC2E5"K8+ M0!%0_V2^'?JCBQ$W]"/2B>TA=3NDKA7I61R+#0"#.A%S0'F;\0-4<&D"NK/D M#1"$'O8Q&0'5Q7R?8AR9@7H=4,\>4E'("BI1FS\F?)[VXL"EH19(7> M8T8>=,@#*_(;(5GV"I"!_O8PPMC#(Y0&N<"!A?#,,,,.9OA"@(%0*_G4!%9M MJ1(H3DXF:ZBA<,.(1MX(K$$L J@3R1IU6",KUBM RF1:W*., _%9@AII[Z=. MB/$XIKH85.70P6:8V.DIR;$"_5Q(5MRGL.M;C)/Q; WM0: D\,:[WR2G0CH% M=<">V KU3R&2AS3+C."PH30%_F!GM. ,<@$.G7 "7,]MV$HGBZMFHV>BN#^4 MO,HM"]X:VH\/UHJH20P'H3\!M"FW6:WP*-Z0H8.Q<$X(TV"GNLZ9*(: MX9Z1L/NJ1B%+V6V:I3+EYFX!6YGM9]N%7V5MW^F>W;"=WCH>+MF3(F&CPSIS M>8[C1'2\- 8YH!-O*GEZBL-VCNLX>+ T1J Z4=$P"#0^,\A!18G<8 )HSVC8 M3FD0S6K#DQ=QZE1%"?9I-,:IRQ'7"^D4SI[2L)W3ENDV33AT]]9EUSF*$D=; M=(,4#J<0]D2&[4SVO!E+436SH+@;5+F$WYJY0J>KT"-4@ZR+!2&>BBKI28W8 M26V_H7DA!XC.5YA$043'G8))$$-M]"<:1](S&[$SVY>]@#8,K.(<[X?>"%[G M,^Q@ZN%Q!AL%?8_BB::,#*8Z._-=BN(9J!AU/8/(_Y13!NHCQ!LTZ*U/NARF M3C"5\Z3G2&+GR"6_XX R09(]OI@^.@V2B.C)HXMY 9[JWTC/E<0^OHW[CI?0 MZK.9"SDP;I.,8M%DKO0D1^PDM]N8+V'4V8OXCD_]IU*-%[LQ+@;>@[3F10R8T=L5Y^A22(ZP^\[H@=6ZN95 QB.,_V]H/P(] M@9+ VH.MI(B_KT66\*K^HYFVY)/152L/__21S2^RMN]TS\;$SL9JV8'B:N7[ MX1OG"'HK#,1*3^H7K-*C7C;^1:5.F_/'F//'I /7+@8]SD M#-QBXAZ$4832NE;-2',@L)$U3%R)*I),HA4O)<]O80L_G],U4DL>MT_;X[<# M!&\K>7,.FYD70J?_\;F'560_9'U[0.SMP5F2I*J.P[96IQ^':8%B5J:PS8T@ M#6-L &.L5G\,O[)V4 -_X\@?3N,M7).@$X9T8FRG@V/:UTS# T)J MMM^K'="/9,VSLDG0."O/!U\7U*>=OUAUGQ8U]%-WH.DU9'T$$H.*L.VS26X;"R<.MM/"?OUL)T0M"PRD]4/C:]]S M?,Y-?!UM&+\3!8!$#R6MQ,0JI*Q/;%MD!918C%@-E5I9,EYBJ4*^LD7- ><& M5%+;1ZR1E%2PX$@T98GYXRE0MIE8KO4T<4U6A=03=AS5 M> 4IR!_U@JO([EER4D(E"*L0A^7$FKHG2:CS3<)/ ANQ-4;:R2UC=SHXSR>6 MHP4!A4QJ!JP>:TB 4DVD9-QWG%:_I09NCY_8OQGORLLM%I P^HODLIA81Q;* M88D;*J_9Y@PZ/X'FRQ@5YA]MVMSPT$)9(R0K.[!24)*J?>*'K@Y; '?\ L#K M -Y; 7X'\(W15IFQ-<,2QQ%G&\1UMF+3 U,;@U9N2*7?8BJY6B4*)^/DZG(V MOTSG,Z1&Z=7%^6QZHX+3Z<7T,IFC]&P^OTG1W@)SJ&0!DF28[J,OZ".RD2C4 MK(ALJ71H-COK]CQM]_1>V#.%>H1\YP!YCNX?-?DB-9=ESWAOW7V..$E:4Z04+[/D UYFB-:0-HCU0H9Y1B+E -O'V_ M^T.E:/D/#;_N$^O8&3F.XT;V>MOD/]-VY(][^>-WR&\_0H0;63!.?D,^I+[WA^_6J2T!(7.6D6@V)#M\J>BAQ4+2]U=?TG?(=\Q6I!**P5%!G=*@X>-NG MVT"RVK2Z6R95XS3#0EUMP'6"6E\R)I\"W3W[RS+^ U!+ P04 " "2C6=7 M^Z2Y'% & #"'0 & 'AL+W=OMG%27XUV4JYOYA.\^56['A^GNY%HMZLTVS' MI;K--M-\GPF^*H-V\918EC/=\2B9S"[+9P_9[#(]R#A*Q$.&\L-NQ[-_KD6< M/E]-\.3UP9=HLY7%@^GLM:U1(>4K3[\7-S>IJ8A4U$K%8RH*"JY^CF(LX+IA4/?ZN22>G M,HO ]O4K^^=2O!+SQ',Q3^-OT4INKR;>!*W$FA]B^25]_D/4@NR";YG&>?D_ M>JZQU@0M#[E,=W6PJL$N2JI?_E(GHA6@>. 4@<0/8#U!- Z@/YH":P.8#]: M@ET'E-*GE?8R<0&7?':9I<\H*]"*K;@HLU]&JWQ%2=%1%C)3;R,5)V?S^[L@ MO%N$ 5)7B_L_;X)/C^IF\:A^;L.[QP6Z_XQN[N;WMR'ZB+XN O3^W0>4;WDF MK/(S]*YS?SF5JGI%(=-E797KJBJDIRH4W::)W.8H3%9B!<0' MP_'^0/Q4I>64&_*:FVLR2+@0^W-$K3-$+$*!^LQ_/)Q (SS[F<'MN)!7#$8^JOBPM, M',.^[SI6%Q>:.&KYF#GXA.LHM4]*[4&E\S27*%VKA:I7<45@MY50V[9]K"D& M<)CXA&BXP,11U_$\Q]<4FSCB>J[?RDQ'L7-2[ PJ_CU+\QSMLW0=24BN8\IP MJ>?;FEH 9C/?8Q93,N$B7)MUVAU$T68ZWL:66C" ML&_YE@TGPCLEPAM,Q&/&DYS7?DKE(!,QEV*%EJKW@\H]LQJ67M&>KLPM4HIS'HM2=BR4#WSBR^](-@F!Y _R MOG6)&9,L&),L](VL?V16NYT[:<=68P2MP<3?[T4QNI*-LG'+= ?.JC5%9W!Y M3)\_Y@#,<9BGK0X! ,.N1ZB^BD XRIA->B2WO"\>]#3WSIBXZWQH#'L=,1^K12:E'6Q)LBT;Q#( M9L:P,U'$[9MF&I.*AUWJ32*%ZC?R=0WOE\N 5&/+T3T-A%,MY]JZ: !G.XQ1 M7394KBK6Z5'>F%8\[%IOJGGF2:Q5%R^\W#$J/[>HV]BY,F$T\VYAX ==+F*/WDQ#"8>K1'H>'&S>+A^WLP]O$FT;S(_;5BJ*K!W"^ MAPWU (PZF!%=/8 CA.(^]8W!Q<,.]T[(H376-3=7'F:&6 !&+7T0!P!,K=CZ MQB\$8+[:(O;L6G!C8?&PAPVB8[02R4KM7=0$IR3O"FM7?#U"[Y7/6Z5QS+/J M9?GT YB1J@RO53GK7+>L\Q]"!2 *&QW_/U#=;#36%ON#?B/D6:(,5DLO[#5& M=;*CL@6CLH5CL74_[S66EPQ;WFN>1\LW=,2:SN]T"^T+P!P$J5FH_4_?9P(Q M^-S1!RF('A&(D"4KMP$*>7ZF@RBW![A MC=4D9' X?BM/$91R?E1;'V4UV_-3CM*#S*7:@:H1"PY3,FADWSI,1V4+1F4+ MQV+KME/CCLFP.VZ&:=4R<)\TW:I-*34Z)03#GC$@(1C1/64(P_H^@9#&))-A MD]P>DD.:3:MJ,VKK&R (1EUF#$6(#;OZ%@AF;*,E1+-:J*.O<577- MJ@/#ZD:F^_)$["F5,MV5EUO!5R(K .K].DWEZTU1P.G8=O8O4$L#!!0 ( M )*-9U&PO=V]R:W-H965T&UL MK5;;3N,P$/T5*XM6K 0DS:5-NVTD:(*H1 NBP#Z;QFVR)';7=EOX^QTG:>C% M5&BW+XDOYYSQC">9Z:X8?Q4)(1*]Y1D5/2.1F;5E-,\TEDBU8(9=.=X1L9$/LWO. Y)2NQ M,4;*DQ?&7M5D$/<,2QV(9&0BE0*&UY+T298I(3C>K3J$TJXN9XK7Y=^ Z^ MO&!!^BS[E<8RZ1F^@6(RQ8M,/K#5#:G\\93>A&6B>*)5A;4,-%D(R?**#"?( M4UJ^\5L5APT"Z.@)=D6P=PGN)P2G(CA?M>!6!/>K%KR*4+ANEKX7@0NQQ$&7 MLQ7B"@UJ:E!$OV!#O%*J\F0L.>RFP)-!_VX41J-Q%"(8C>]N!^'E(TS&C_ : M1J/',;J[AJWA_4-T [C!O(#G:"4HL>$+02FL>B:$LZE MU,U)=8:K\@SV)V=PT)!1F0@4T9C$&GYXF-\^P#5F@#4HQW*M;52XC_)]UV]NHZ)]5+OAV1]: M6[YZM:_>P=R\DPGA"'R%.":J>"T)_(N4[V>(0AS8%$G\UM%%P#MF)AY3+#RF M6'0DL:W;:=:WTSR8B5#)H4Y3*&.<$SIY1Y)C*C)<=@CQ;ZANT'%(;<4HE;V- M=#F'_-Q)O;X&Y5J>OY.@^RC/V]K\E+G:VO_,VNV MK-V/<1_E^&W?WO%U'^7[GM/><5>#:C4W4*6[YD9;D1,^*_HY 9_;@LJR?M2K M=NB!5?#RYZOG$@V M+YJ:%R:A12J&";3)A"L [$\9D^N),E WWL%?4$L#!!0 ( )*-9U<,6I7T MI0H #5@ 8 >&PO=V]R:W-H965T&ULS5UK<]LV%OTK M'&VGV\S4$0$0?&1MSR0B,?5N&WMMISO[D9%HBQN)=$G*3O[]@K0B" ^!0GKC MW7Z()?OB7 ' ''/!=C3I[KYU"Z+HO,^KU=5>S99=MW#F^FTG2^+==Z^KA^* MBO_EKF[6><>_-O?3]J$I\L50:+V:8M\/I^N\K";GI\/OKIKSTWK3KY\V7=\6J?CJ;H,G77UR7]\NN_\7T_/0AOR]NBN[#PU7#OTUW*(MR751M M65=>4]R=3=ZB-XQ&?8'!XO>R>&KW/GM]4S[6]:?^R\7B;.+W-2I6Q;SK(7+^ MX[&8%:M5C\3K\<<6=++SV1?<__P5G0V-YXWYF+?%K%[]JUQTR[-)//$6Q5V^ M6777]=,OQ;9!M,>;UZMV^-=[VMKZ$V^^:;MZO2W,:[ NJ^>?^>=M1^P50.1 M ;PM@)4".#I0@&P+$-5#?*! L"T0* 5(R?'RYN_^V=>!]N4N^G M'UYY/WAEY=TNZTV;5XOV=-KQ>O7HT_FV#N^>ZX /U:%>K_D@N^GJ^2=#Z9F] M]-O%HNP':;[RKO)R<<+K,LL?RBY?&;!2.]9UT?')6"R\+&^JLKHW-28;J!?5O%X7!EQFQ[VMM19-.=<[PO&.<#S@ M! =PWN6KO)H77MYY:3%_[1'TLX=]C$RT/2.% U*_1#V>AZ?3QWUJ= L;]B&?%V<3/E3:HGDL)N<__@6%_M],@Q@2+(,$ M8T!@$H?!CL-@0"<'..0SBS];6TXBIVWX]*I?F(9E95FO%D73\L7KCTW9??&N MZ]7*XX^FI[Q9F'@- #ME!@F60H)ED& ,"$SBGNZXI];Y^Y[OP%V35RU_ M"@Z[Q\5_^$:&;T>[]F>OXDS5=UZ7?S8Q9?7BRA0D6 H)EH4:!RP"B,;&Z!*G2Q\G.(JP[ZMK'*CT 8J6@:(Q*#290B%_(&N$?9Z6C^6B MJ!:MMRCF*TZ<4=FP@SC/*%!M8XLFC:F$QLJF)0-URD:=RG0(10+9)8D]H?6F M>'CM$7^0$;&1%#JJM"(];LPG)$S43M3M3@B*E8""&2G!/M)$"*UPT##?E"T#!2-0:')5(K0'R4OEF) H.$^*%H*BI:! MHC$H-#E[*@0$;!<0[)D&>V%74D'14JR+$@'Q S79 .J4C3J5:1 !/;8']% ) M![L;9\(@T5)0M SK8?Q)X%,MOSYF)A.V=^S 'NX?EW>P@SC3H0?+)%%V!RFH MRPP4C8TT0*9"Q/K8'NN[)Q^P'NRC)"3J/L3NUWGX@X;ZH&@,"DUF4(3ZV![J M?[\UV= MIRTD6@:*QJ#09-:%Y('MDH=+%L(.Y3P1==$$151[%()*'*!H;*P%,B5"NL!V MZ>*H+(0=PYD+76DXP:%ZZ"<%=9J!HK'1)LAL"*D$VZ42YRP$UC62$X03/0MA M=^R\QH%*)*!H# I-IE!()-A^/.*X+(0=Q'E&@8H?V'#TH#_4J\;)H*K&J%/Y M6+.0*XA=KG#)0FRA;-(LT<-Y8Q;"8&?,0ACL3%D(@YDU"T&$CD#L.L*W9B&( M(2ENSD+8*^!\]!M4$P!%8U!H,I5"82#?=+/!3-_XU0:BQ]XX)%&$U*&NV\5! M%*JG.3.#G>&QSPQF?%#%,3DTU/>N./SI.P[FOC)>P5[&F3#0DP^@:!DQG=]0'X)6&YDJ$>H3 MB)L/=A!G(@RG"J( JUL(T% ?%(V-M4 F0T3Z!/H"!#'<@*"^>MAC9O?K//1! M WU0- :%)C,H GWRO[H'87?L/ 5--PG"4#V!#>HT T5CHTV0[\L*<2#X?[@, M$1B"]Q"'L1H]V"OK?$\6]#($*!J#0I-I%YI' '<9P@[E?!-:5TWBA"KYJ!34 M9P:*QL9:(%,BM(O KET >?!":HC@*(Q*#292J$C!$=?4]@_D6RF M;_R:0F"ZII#XZE&AU& 7QWQ;H*T7AFL*"&%MJ)M..@0)/:2:!B+ #[[IFL)X M7YE"6(+C.%(C%GL%G(0@(V2&PRPYVU=1>V)E44"4BT.6/($:!FI4&=J?VZ-U=.:5ZS(JH'RE+Q\SNUW7X@Z)EH&@,"DUF4 3[U![L?S_E MU.[8>0*:3BQ$JG *ZC,#16-C+9 )%/( MU6=9RWH MF0M0- :%)I,N- ]JUSQ<5%,[E/,\U%430K4$!JC/#!2-C;5 IF3OI8]V[>(X MU=0.XDP&[/L?36]AP+YZ@QW4*1MU*M,AI!)ZG%1RC!*XA;))2083HVIJL#.J MI@8[DVIJ,+.JIE3H#_2XUR2XJJ943\$?4$WM%7 >G* Z B@:@T)[IG*Z]P+U M_H7ZO^7-?5FUWJJXX_#^ZXCW??/\COKG+UW],+Q3_6/==?5Z^+@L\D71] ;\ M[W=UW7W]TK^F??=_"CC_+U!+ P04 " "2C6=72-%::D$# !%#@ & M 'AL+W=O0&E#*( M1"&4.UVAF_;1)(9$3>+,-M#^^]E)R&B5,&O+%V([YWG/\>60X\X1DR?J(<3 M&.[1"[#&^)[RG MYBJN'Z*(^C@"!&V[2D]OS^K"/C'X[J,C/6L#,9,-QD^B,W:[BB8"0@%RF%" M_'% ?10$0HB'\2O35'*7 CQOG]2'R=SY7#:0HCX.?O@N\[I*2P$NVL)]P![P M<82R^32$GH,#FOR"8V:K*<#94X;##.81A'Z4/N%SM@YG@%XO 8P,,-X"9@E@ M9H IZZ&> 759H)$!#5F@F0%-V3E<9\"UK(=6!K3> HT2X"8#;F0]Z-IIYS19 M'WJ^V=*[K9^V6T_V6TT/5G(J!Y!!JT/P$1!AS_5$(SG:"<\/HQ^))%PQPM_Z MG&-6?[D8V(N5/0"\M5K.QH/>FG=6:_Z8VXOU"BR'O+?L3T?+V"GE_F;"[S*UR1?&..T,+?&1<'>?E<#FO$9&)IA%L33OXS/X0O0S%)Z M<)D>HDT-&.7.[CD^OHRO4%P#IE:Z MJJ7NQ*U IM&D,'=15>#%!$ M#DBQ/KS3F]K7HN2I4FQ0I9A=I=BP2K&[*L5&58J-JQ2;5"DVK5)L5I'8JU2N MYZEH2!&)/W\7A6E;RK?2N1% M97ZPM)K6[*B'\[24,1K(&-DR1D,9HSL9HY&,T5C&:")C-"TRTENOC69_,4J/ M@7I6NH6([)(+"04.WD.<)#? M'*W?4$L#!!0 ( )*-9U>37!'']0@ .&PO=V]R:W-H965T M&ULK5IK<^*X$OTK*N[6K9FJ8; >?N4F5&5(LDM5!E)#,OO9 MV"+X#MBL;?+87[^232RP6DJXER\3[&FU3TNM/J=EGS_GQ:]RR7F%7M:KK+SH M+:MJ8!VE66]X M7M^[*X;G^;9:I1F_*U"Y7:^CXO4;7^7/%SW<>[OQ(WU<5O+&8'B^B1[YC%A(X_MHY[;7/E /W?[]YOZF#%\',HY*/\M6?:5(M M+WI!#R5\$6U7U8_\^0^^"\B5_N)\5=;_HN>=K=-#\;:L\O5NL$"P3K/F;_2R MFXB] <(//(#L!I#N &880'<#:!UH@ZP.ZRJJHN%YD3^C0EH+;_)'/3?U:!%- MFLEEG%6%^-]4C*N&H^GDZGHRN[Y"XM=L>CN^NKP7%[-[\>?[]>1^AJ8W:'0Y M^P/=W$[_G*$^>IA=H4^_?4:_H31#]\M\6T994IX/*H%&^AS$NR=_:YY,#$\. MT?<\JY8ENLX2GAR.'X@HVE#(6RC?B-7AC&^^(NI\0<0A%, S^OAP8H%#VYFE MM3]JFMFH7**%V"8E6A3Y&HF=5T15FCTVJ9M6*2_/H&EKW#+8K=S69^4FBOE% M3^S;DA=/O#?\][^PY_P'BOE$S@YF@+4SP&S>AQ-1A=(LSM<<"K,9Z]5C9;%Y M&@8!"[SSP=,^?MTJQ"YQ6JL#8&X+S+4NS67R7[&S1#&J2E3EHAK%>1:G*XZR M%K&\+Z]BN8K;DBNU,>M8EON+":9Q&34G.$A2M\Z)*_ZYO0)$W[MS]5I;LKK<$/7[:#5C5S?!#9HP096 ML+]',M\R5$8B+45.;0J9?-5K/?H4S5=@5=IY.=R\ M@1O@;F4"#0D)/--B*6K'=FX?">U6B-V\6RH0)8,>'E#/Z:*$#%G@,--^53R/ MK>2WR_MX6Q2B6-J@NAH"*HJFMCUULWXH1$MHP*E8%-MIM,&YRK/'OJ@F:QM2 M@!IIM[8#1CCT70-*Q9_83J!M=FZB5V-JZF38%\RM<29@ARGU*3: 5+R)[<39 M)N9>X0"!Z@2('<]AI L4(DJ'>J;<5$R)[50Y;<5DS9&&FO=%JE 0O\YQ%..N MD *L^D%HX!.B>)#8>5!D0K'ER7MS3'0Z4:Q'/L)Z:E>] MAQ:@-6U" :,^#O?4U2%617[$RBQUK_1NKP&B)CH@'S._BQLPPPYQJ*$J$,59 MY+@^-\V>A!SZ0)]+3MKHGLK;X2PH/B1V/KS;%O%2;N.CM#H!F"\@KM-E2,C. M=SWC1E8$2>P$>5?D,>?);NG>F@TS_1"= 9GO^F$7KVZ&0T(-JH,HGB1VG@3@ M&IN,NG+*: J^$M(\>6OSX+BLSSTZ%W7^96%@ZJV((F!B)^!ZJVVB-$&+O#@X M9FB#K6N(G!/9DQ1I+ -O[DGKHGO0MHM>)^.0ZDD(4#OS T8-K2Y1G$WLG*T5 M/ZB&@,"A9M?U2%>X079"E#C8<)!$%(N3\*CJMTBS*(L_4OU.VO">RMOA2:?2 M ]2N![[EA1@CHB[1-DL$Z1;\*5\]U>)&F)9U9HKD2\$J2 '^9PXA75D+V&$O M#)F!?*D2"M0N%.ZBU^8PL'XU<0QR0 TP D$'98-H<0S0E6Z@=MUP6!'3LMR* M]*N+N-(]"9_#Z$_:.E-=83 O=$V*GNZ=H]N;XOW5^4!00,OK>8[6@$!VON^[ M)KA*"=!WE(!Q1>)\O99G8_(<$H2NL[P7=$L98.2:= !5.H#:=<"5F$V%-MUH@?(!Y70&0N903%11<_4 MWF2WRN+33EI\ENI"YJ\@6X-1 &VTYSAZF=?M7.Q2E\!Q,$6PS$ZPU^W+ M)?X2U^>DS7ESO#LS%1DDP_S2!"M[CB4)'"X)OXW1NI=K!+V#4#XF! MPYBB7V:GWWJ1FJ#2_SL.@&@%1-8M_Y"=3SQLR#BF")G9"7GT8?@HJM"?H;!\B.4H<8>(_MO:%F5OD^>[B[NZT_=+B\15?CV>AV.GOX<7WXU0,:3VZF M/[Y?WH^G$S *JR XMD2?RMOAC"@EP.Q*X+#'?'N[!8:MT[?K4U?+1]V,B-)I M.'=BBN69G>6[0)NW]M$++_;S*A(&=0O8$J";C2Z'7.P MZ7T+4S* !?_S=II,)_6.&D]^7L_NQY/?T>7D"MV,)Y>347TUNA__'-^/KV=@ M9%;].Y&WPVE2JH3958D2J F/5U$A,T"4RRROT*O(7)-JW7G=_QB&$NW% M/F2%P^YV&^Q],K;FQ6/])5V)ZA<\S2=7[=WV:[W+^ANUSOUO^&S4?'.GW#2? M 'Z/"D%NI4C7A7#I?/5%NA7-5W7-195OZ@_3YGE5Y>OZYY)'"2^D@?C_19Y7 M;Q?R >VWC<-_ %!+ P04 " "2C6=7/#-0QR % "6"P & 'AL+W=O M :\MRTC9-8B#I!WH/ M:8.XO3XSTEIB*Y$J247Q_?J;)27%2=OT@'NQ17(Y.[N<7?*D-_:;JXB\N&UJ M[4Z3ROOVU6+A\HH:Z>:F)8V5K;&-]!C:G2"MHOJO#5:?(R$05M95?[*]._IR&> M0\;+3>W"K^BC[?(H$7GGO&F&S6#0*!W_Y>V0A[T-+]-?;,BG@'1T%EF^D ME^L3:WIAV1IH_!%"#;M!3FD^E(VW6%78Y]*LI MR%7 6_VO("/&P<\QN#A>N5;F=)I _8[L#27KIT^6S]/C1Q@>3 P/'D/_CPQ_ M@V$\B>73)R^S97;\(Z#@E71U+#[:4FKUCXQ5H0N!"K=A%&VP>[+]0J*2-R1J MHTOG8:QT.B\ZI6?C?C@E4:UC/1DK>&FXG*98VAZ;219A8XD"[!DFS -TT+AN3B$OPBL()::3W:@7<VBHI0P@PP!@$G'61K80;(,JY!SI;[!"W7'.8''/A[23\V( NY#.XV\33<19:8DB]S\XM5EZ?+$Y"U_+XS]G MHJ]47@6Q-V)!80B_416(YBO:)MSM"8&QEEC%8V->D[&H<&%\[W""R'A JDT>0*07V2I-Q8>Y>*>H+@"'8/U,;#K% M>CY*T0?>,#.ZE4Z\.,S2Y5Q\UC7+>HPH)$T;QC2@97OEF(D3G<.4KZSI MR@K7$G.&!#A^4ZLB)DIIJ7,EZRBVD.J9&$[JTJK&6.6&XYKF.?;70:J[ATL] M/9Q!-AY.=2,BIW^84WZ:1 %QKB!@=G0]5/%LOUHYS7?4T94@F5@==]2"$6"A M,8,,/3.]1L"NNW:J4-*BRNX.^8I"15W7.%0JHU['-=9=WEF+27B:[-QH!V74 M':J/77\.30#0XW(@P2MO(@M;4U[V]%9 M#)HLZK/A3/YXQ/<"GXF5$35ML3>&ULO5A9;]LX$/XK MA+NS7KLSIL6Z<% JN#+--57&S.@>IER>]I-6O#X?TGZ_X6\!2[MUS9=<=*+"1!(R!UIX/BW@ N0DA0AC&^MSM[:) EN7W?:+[WOZ,N46[C0 M\K,H7'G2F_18 3/>2'>MEW] Z\^(].5:6O_+EF%OFO98WEBGJU88$51"A7_^ MO>5A2V 2WR.0M@*IQQT,>91ON..GQT8OF:'=J(TNO*M>&L$)14&Y<0:?"I1S MI^?<"LOTC%T9L* <)ZZ.!PY5TX9!WJHY#VK2>]0]FA29 M!?1.7_R6C..C!T .UR"'#VE_.L@'U>P'^4$[8.F+WR9IDA[M-<3H89P=L7?* M@1$5RS4&4UDHZ,IJ*0KN\&8F%%>YX))9% 2L4&=9JWBMXV.)!JAN6!+__A>S MI6YDP:; J',PH4CEET:%TEP*5S+=&%9IZW!'CBK9F5(-VKB&6AO'<%>G[<\^ M:@?4$5!NX @5FA2I1.N-XDTA$'$?/6(.170M%#U$QRNNL.<0]L@_ZK3MZ%"Y M; JPC$O)>/$%JS$X^Y+X$-8)-2==BB0DX6Z,H;6MO:^80G>LQ8;'4+.W->/" ML'J;>53B'G.IO^;V&JPS(J=8Y-R6=[C_5?]8@QC>*1A?B-TJ%23]I.R"C'/5 MHH!OC5APNR5)HL/LX(X7+=L^.9":$M!Z*QHI M,HPXIO3@UL*6I>Y_%$V2^,YJFD3QY)!]U XY)6O17)CN>CZ+Q,%NOG.6Y M;DC%-?*,0*82L';00^'$CU#@ESP74KC56N83MM;0#;I'Z L8AV,4(:%FB)U' MS%6 V4RM* 0W FNAXBN&8XTD:6PDSO "F>TPF T&;FG+BG&#K<^(N0C*G&:< M+4LMY8HA+[@RY>JK:6J7KU"\HH/BI@;??ZX:4VL,W%OE"/U+@I_&1S=7;_U5 M/7C"64 2R(.R,S#6.V5L*>J0U*U59/4;'BABMO(M>@]?2,S5APO6U'1% M0'#.$E53D1-YB:,?ZJHJX1N[=\BG,Z(T(.^&J>0+P*/!VQ>J(:-"+;1<>.!= M-G:H#8KOP12UY>)*3D>F7 ^S:)D7. _B*60X#;:4]#4=2U/*)@00!9ZURH$A MAX'R_7EB/%"IU1Q-\047LN/#HFX[6X58($;A-!%L[G4[\!*,^"S89Y#@=!Q3 M[A$W?A>8FAO,,\Q;@7V[ET MSB4G9FYH=T_<:PABY$/4I@ I.WH):T%SR M;#SJQSC+2^DCZ3O/[E%+1^PFL4.-/DN&H_[!6NQ!)/?IC+#L15[Z@&^WZ;-] MB:? 3UU$[H/,7;93C2L-A))0.(_B*.??!X#>!_9#@=8<.3>,MRE!'3LD13ZY MP;_ 26R4-#Y2JZZ-S@$*&V*\VTSW>QHZO,^(&JAP?"M O;YDNJ+<\?=FYXCP M9^4E'1%]=G8_S8")@$YD.Y%>%U;.<3JG?MK<.04VF7CA7_[ ]T :B,WND/Y? M:>4T M]DS,^;S%'&H4>XI&2-UBEZHDJ&G6-Q#Z6A(_[\Z\'6O]GW,VO>WL*.MGP=GA MI#_\=<[>KH%'81$K./W TF<#69BO-C3AS!3>#>A(V'$@2&QQ7+),P0]&X M?S#J,1,^L(0;#(+_J#'5#EWPER6^68*A#?A\IG&,:6_(P/HKU^D_4$L#!!0 M ( )*-9U>N.6B&< < &06 9 >&PO=V]R:W-H965TTS1$(B&I!@ -"* M^O4]"X 7Q9*)!+$+L[NGETL<+[2YKW-A7#L8Z%*>S'(G:M>C$8VS47! M[9&N1(DO"VT*[O!JEB-;&<$S+U2H43(>GXP*+LO!Y;D?NS.7Y[IV2I;BSC!; M%P4WZVNA].IB,!DT V_E,G3%]3'-]Q/^D&)E>\^,+)EK_9Y>;K.+P9@ "2521QHX_N[%C5"*% '&AZAS MT"Y)@OWG1OLK;SMLF7,K;K3Z4V8NOQB<#E@F%KQ6[JU>_2RB/4])7ZJ5];]L M%>8FQP.6UM;I(@H#02'+\,\_1C_T!$['.P22*)!XW&$AC_(E=_SRW.@5,S0; MVNC!F^JE 4Z6%)29,_@J(>REMJC2- M=6IN2[84I3!<#=F"9.])UB)-G#!@K\C8?,U>BWNAV(3)LJJAK+:"?:B!-F.5 MD2FF']0ES_X"^45VB%DQ=4%[\UY *6(R0Q 9,H5X];2(,:4Y'.II)/"'@7H M>Y9/^LMG2!U6:4FVN9P[QHU@>DZQY7,E4++2' MMPAQ" _0*ZYCA3@2OK*50 M&1(7I/@,$-,&!*T7G5Z7O85[P/SGR9FWWN4BV-TW>^T!R#)5=0;(TM6<"I]E MJQPH20:_TF*^42[#!IOF:*/&!C(!<2;JE1.)1\L5/#3"Y+.#;EI7MTM=\"L>]"_C6COQ)G M/DL?G'05DO1-3-)61T?F9NA=G^&?:B+NW+;)?17BW=47GRT[7@]B83ELGI+V M:7K8J$(6@Y4/P___1?:&V]R3*:4'(B18MU%MOV?8+(;/IB=XB@6Z]W3;KRK, MKGBU=2F:^NGX\3"!TEVS7_T . K#68HJA#PWOAY]MC&[QD].__=D MV^#&@QKP+:G1_"?'I\.3Y\E>9_Q'LDQ EJ=?0):OZ9?'N/+] RNVC3Q/.GM" M[>IV#EE:9^I00TOML'U0>\%\=1=Q!_-KPYIKFFN@=72EZIA-UCQM1?P MH13&<=^DI*86V687@GT2[<5V%+%34MBWJ\KHC[*@$/:V*3IM9$Q[A!BT.:K^ M$VHB6,D=-@2O'E0R9DV;01 "=MHRE2Z786XFYJZ_@MVZ1*J+BAMI\;B2+J<. MQE XL*G?>F9864A%3<,\N_#YEP0P.B#?L\@'] U]#X[ M-NK:^O;""P*A"':@LQBBJ9%H,#(TH2$DOL^HR2VL!$J?8$AJ=#K!V^)CA8-@ MVV70=/PCLG[70N2=00=DJ7'@32L34#11I)?84:$!A#A[T@= MAGJ;6^CNAK$I(UN:A6J0@<+S>!?9U\&M#@Z)D0S'?]ST-N M3,[:1OYE9^IMCX)MLH"^4,@-=$$U6"$!;!5Z0!N<"X2>/UD_0+'!ZUNEYTHN M0_;"E\B4=L;6#"=ST8:R-.?X;"DAMZX4NKM4FXQ80CEZ<_.;&M XQYP=M[TZ'&(I[%1]8D'^PNF258 MWH,84H5,7OF;"/+2/427I"[4M)17TG%UM-')]?TN?@1%0(5Q?6 M!G:H BM=@^S(@%HY?]K#]\5"^/+3(T#1=<%'[*>F=J(H1Q.:4@[*UD7EN?6O MT"*V5.J MJTKC("CV0GT<:%?#WU7$^)X#@]-\K3!B07=ML1(KU3N8ACT,.:.\I\-U(V5^ MR&@\LG#@I^A2V8AU*VSB,;D/8FH?#JG"?WHI5N#GLIH?[5]B\1'N"<_D"HN.C9T\'V-#]G69X<;KR]XAS[9PN_&,N M.-A"$_!]H6%9?*$%VHOERW\ 4$L#!!0 ( )*-9U>\B!B^P0L %HD 9 M >&PO=V]R:W-H965T+(W=2(=+NSJO2JMD MQDR;_#P9#B?G&ZF+DY?/^=ZU??G6UR==U(RO5%%I4TAK%J^.+F*G[T:$ST3_%NKNRKX M+,B2A3%_TL7;[,7)D!12N4H=29#XJSPG05#CKT;F2?=*8@P_M])_8-MA MRT)6ZK7)?]>96[\XF9V(3"UEG;M?S=U/JK'G@N2E)J_X?W'G:>/1B4CKRIE- MPPP--KKP?^5]XX> 838\PI T# GK[5_$6KZ13KY\;LV=L$0-:?2!365N**<+ M.I0;9_%4@\^]O$K_JG6ER4/5\W,'B73_/&VX7WGNY CW7/QL"K>NQ/=%IK)M M_G-HTJF3M.J\2AX5>*/*@1@-(Y$,D]$C\D:=>2.6-_I"\SSW^# W)<2SJI2I M>G&"B*^4O54G+[_[)IX,+Q_1;=SI-GY,^D=U>YS[%^.4&'_WS2R)D\M0E*![ MP]&E"&X*LQ37[W[J'KTOQ%6]0G2)F%V=1.).(4/ 8%7&I#]:4Y>1>%ND _&$ M^)+A)>[SI_CR3&AD%/[E^=-45FOAK"PJZ3/M5N8UI$@G9%E:Q I7.%L[35*S::4Q0-RRZWI2:H**.S=!4-6.#E=K%!D5GP+2K5: MD+?>U):>TJU*@3L3?]72.F6)D *5O;?4ABE3F7A!#0J5A!0:?A;F-K" MU:"5>:=/17882XKA%$BB6VN[Z]Y$E!;D5B.$K,K)J>X\Y0$(!CR]K&"ZS2>#6;=*[PYI"B*OK+D M*B?O5>4I1X-I1XE'3=PU5FV_M_.T+AQ$:IRJ%S(?C#H9F6+-52OBR FC*X.3 M&A_9F,I2._@7<:^>4O;269)V\:=KM]3W% 3;03$05Y1M"#DTN^;TH0N)-_AH MMYR.PR&QNX?]-<$7B94QV1TL:(\4M(N'W?HR&@?GY]EC+2*!2,E_NY#O%16&[ZZ6^MT[24&JA!7IJ INGTC/)5Y6N>L#I)/M\F7 MFKIP=.YK"6\HY>MC$=1?)&!4L9%]U-/_!-=\QIZ1EY;!8F(+G_R!PP/#&%#T=7YV#ED M%5A)O5WYTW$T'H?(AL.Q36*,/E,W0/I5ZH*TCJM4>>*HP+B832[ MF$$ 9@3K'B)1YE3XB9_L*BF@]Y@NXFB6C,7[DF,!T9MSG3OVBDDT&@_%FZ#D M>M(]RB2&T3$ 2UM4&Y'/]MW/L!KF<3>ACK_6Y0'W3*,1W//!2H2"W.R[.8ZC M"0C>LZMR4ZR>4M;N6C*)QI-)?VRE?/ A1:4Y32TAI3"4]@(\'EY$XV1ZUA_G MH^3C>31)YF?B7:=/IA:.(C/-ZXR[1'.HU'EA_'Z8/AE%HWB$E )0:FC-SFD% M*O0XKJ'=MR")AL/QV9ZC'K5C&HW'%V=-%=%A,M+KCD1+0A$Y3\2/;;?8(YC$ M.-3X^=W:FOH%' =5V.JKQOYA[' H&V])8C4N,O#2[04 C^_N=;62JTX M,QB-$HM5-#Z3=P/&E6'8XIF_+Y1=/;2<@]Y .,( \9(RG;@=V$SPJ4AU":SN M8;&N''<'2GBN- M5J*7&3<9XW/_N@9>K!EF1 C3\Z%0U]A!)W=D#;/:G*92 J2H,ZV#?*#PQG=NI* MWPV..KYQML?Q1ZH.GIQ.IP'R(S=V-<<_!WZ;M,_]+'!$V XO08F%HC"2&TIV M0B'F5C%DY'4%M3)<2^!:C$_+.D=.+MGU\85X4-)ZD?%@[J\BZD_D1GT+P#40 M;QUY5V]*JDM _3DY%T&*08I@.O$VJ4O0_585M;^)@0O='M@-4 3A,$M(LBE8[3#;99:ZAY.WLZ<_NYNZ!"2BD("$WPJ)&DABT;,$ MKW70,/QJJX73'C%:Y35%5B+%_9)#T9)#W*C2(2+AQ69/D6S%R=+DN9\F89Y@ MT=#TJU_1C7MDL,?A'!M!P0BAX=[D3Q#1I)PJ/)D3V0+C;N'+#F/BV,=6%7KL ML!$HFAYP>N#JDZK)X>U^FTPN/>KMY6 43[EA-$$I6ST/I!C.A1/Z8#-%K4?Q)LR&/CZDGD? M5X *C%HNE5=B 9C5EIZ% H4*"A%/A4U-[04$HT(4#@8U3[G^!;99/&!^G7SK M,WA.G[XL]G:3/HSV7J\V)JGF-,%*TQ.5UCR'QA2EMZHKKBC>Y-#"3TE4GPO@ MV:KR8[XN,E039C#+2'!]=EX_N+U;?D1-]_1O=FO$]9VI\\P7$1^@Z5JC\&2< M (=J],[& PBOD^ M#:4-_X$Q*([WQ](9IB/TWB\]B]]WVSK>O:%E",4 -0]7H<;2&/#Y<0#0!037 MZ8]Q=!:'ETDR$V]T7KO@F'%[.IYM74YG7VS=]](6G"A=6'^M%:=B.)A/PC@9 M7(SWK&C_@G;_:,#1!^C.SOT5AK;-1OQD\BPUD7CW[G5'^1Z%ID9VS)H0#_?O MGLW3M[MW?X\O/K)^I\ZZLQ>;?&SM/FA5Y:TZ)T#F=V4TF:#T2H!V:@2EU#82 M=;DBE.D!7H&0RCT*[<>$ID)1^-4%UW*"*'Y2J)I]=J!SWV)SO0)A!ZFY<2B, M/A!(:WK&/S_?7'5P$O]ZYNKINO#?RZU.I4':@9P;L0M3D2)XK3(&>\"V<_'%GWM\$0F+2])FI"82_5[I"&ITF? M8?W!!$5FJ2V W_^RQN#1I-]*[']S5&3[=8.+PD[M^9R:0*';%83/ M6HD1YS]<"E[+0F8:3?F+:@)]6=[-;1??,L*AX!X<^J'!>?![CPV\P+]JX60L MG/_I1W>W^^',E?^]2$_N?W6#U%BA@XM<+<$Z'$PO3H3UOV3Q%\Z4_.L1C*K. M;/CC6J'W6R+ \Z4QKKV@%W0_)WKY'U!+ P04 " "2C6=7<:R\K?P3 6 M0@ &0 'AL+W=OC7=WOJA) M$%65E1W/Y\OKHRBJJ]N7==>6125_;@+5'8^BN?]> MEO7MJZOHREYX7^P/+5VX?OWR)/;R@VQ_/?WTDVU=?Z(O[_)75W,22)8R:VD&@3\W\JTL2YH(8OQN MYKQR2]) _[.=_6^\=^QE*Y1\6Y>_%7E[>'6UO@IRN1-=V;ZO;_\NS7X6-%]6 MEXK_#6[UO5%R%62=:NNC&0P)CD6E_XH[HP=OP'I^84!L!L0LMUZ(I?Q!M.+U MRZ:^#1JZ&[/1!]XJCX9P145&^= V^+7 N/;U>WDCJTZ^O&XQ&5VZSLS [_7 M^,+ 3?!37;4'%?Q8Y3(?CK^&$$Z2V$KR??S@A!_D:18D\S"(YW'RP'R)VUG" M\R5?OC,],)T>2&'PG3J)3+ZZ@I\KV=S(J]???A,MYR\>$"MU8J4/S?Z06 \/ M_$?=RF#Q[3?K.(I?F%D"^CI/7@2_R6 O*]D(W-.8WSH8I@E$T(AJ+X-Z%V0P M6$-A4.V#]OXD51@4559V.5W8%7 !FVJA55BT6"4]UPV&)PW35N4X5"S#4(Y#S8-?6Q7PM+8-) M9< KNDOD\O<.$I?W%*309:[E;NDV@)D,;B&I(&01JJZP@_M *FR65-C6+42P M6Z&B-9*2S; ;79F6&N/H%#/ MM#HRV;1 ?E\A9W:HZG;"%FP*;0#VZ-6+]M&&N*1S69!M X)ZJP_@=0&1"+9S M^L%-=*88H9Q@MY@%&R*%8Y\GR5G#WQ]VC?F1WZ86H,#Q##T+WO)"4&"]'2HJ M$(V-63(DJ4D5V,D.ED5HD'[H#GF']$N3&YE.+ZP.=5>2#Y*<6V<-D65U5Y$+[&B+"MN!&>%>):_*^;_*X+/;LM@+ MG5+)B&8M8>]U.N[7&4W-$K4'TF-U:78 PH>WP7*^-*8AZ+@D!_UFU^T(/ - MA=+^;0.*@ =N54&R?0T50A+"=F !$0V;F,;YJP%)I(,"XRQ)1EG7'0 M8 )&.K?" PKS/%8HY\I08Z5]"^YD##TU Y95^*1V!1G_OX&,QNJ:)/W>%?#: M@2=][/+]41J7HIESF17*A+7Q &Q_W]3=R<\22FOH)#BI]/J%[Q$>@/44IXNN M03% QL\.G'QH67$D'Z 5[)Y)($;_EI72Y-K-(0M"KC*N/@M^P>"C^%@W17MO MTT$OY$'W4$H##\@R0<9A4 ! \O:\) =T M^JSN#31_V:"05K,>/9#^@2"P?G_!675VHKGJ+:F3]449/AS1#G43I('3Q:S>; M((@F38VDDHRENN0EOUDA:5\.EK1P=[Q):'VQFJW^ MJV=AGYG4A[2\:ZSY*WG7!E$,W.>2@0+?XWI8!?]8:_9K;$7)\QOS8#SDC-9V M%HXGL6L)LIV:=*9A0@O5PCK[Y[C!YXE%=5.7-U(;R9"P&P&H(?8ELT-5_-Y) M-3"U9B%C][<\V$3%1X1K;.N!:CM&$]D^2-6(%U1I# K"M]TB]%4U%F M^+4BI%$2.$J_M%KI6=%DW9'T3L!&[)=#3/OK6509(D@8CK-S(/5F8L]BIQ@U%9B:I[C&]I)$TOU:4TNF(/TD/_WD<]$](PF)<$ M\!*[P1*-8+_4!@[)B8CTP2I- 10T+NX<1%/B8XWZL*!J[;PFT72%B35Y"94+ M\!/H&ND!.&VRJC=.:^)5( #\6 MMSBI8H0"*VF,H_1E?2\(ZS4S,/W4$#,B78W!AE(41_4,+@D +')6?"Z.8D]] M D!FAV(6B93Q%5?\!+"M*[B8;B<04H"R[*0TH:ZI$<&BTM:GR#:UFC4C60FT M5']FGSI'39VM+$1-[]NRO"-Y55E\8G5KU@GEZ1;$K9_S8!@2MRW)'+])HS;I M>9X>[@C=) /RO!NS;^&/,)/C;K19PN),LL -=0FU8@KV/WC2EG]AW8@!=2?O M:Y3@U C<[DS5?N:4?S ,(X$2I01_[!I3&+BXNN@I7DU !BHJ87LNKH2L_XQ6 M* )U38Q@V#-YXZH>:>ZG!_ X8$=& M/2C.BJ:JH52'H,4N,#+QIWWQ0JP2D='.:TM44_5P:P7( MIKG %H%FVBX:H6S4N.5UA#]VL5OBM?(3(RB[E_[&*%Q24]WHQ,K$-W*PXR-- M8W]Y;A+0X[272XJ ?K)^&NY:T3PT'3LU].FYCW"I^[S/ ]_1>V+*J*LOK3EV M1>8P;A^SX*W6DZ9'2FO+Y="JKIY?V%GHZ$%#K1ZW T,6#"VP/:%S$G7!(!1* M)@)=$^BAS.@7,LJUD5J$0ZL[#B:OFZ'4=_"Z2>\JC9Y%94AB^)!<9.5QO:R! MK)&#$C<9E(W,/0E+)A\!=6PW$Y,X MP:6(>[ CR199R0+E!1,0MW"8'U#94P9<#_GU!&$Y]9\U]QF6N5YQ.4P\ M!IT*W9^S+41M%R6]S**[/$,.Z1&C;;U45L0]38? MNL2P:\MML,&MMI-$L?=^W!;#\%W'S%#/H ;>,,B7S8 /])T7O9ZG3_8UCH\# M )!7JZ@%:*IJ2<=YDXV&"=IA;05'O]00<-U*70[!]E1HV^W<(F:>+&:HZ4WG M@L1YLIK-[870Z\*3 [S;4?JFVH=/5\X+UUXW S^D_EZF2XQJ0#G*6BD3FV9D M:.WZ47=O^(Z147==6?HT6SK9FBS/:+!B(-U@+%I[W\\^\8:)3#,DI7N/Y M"Z!FTUG1N,*DCB'_&+VP**4&6<.,=!RG++1J"JGL.(.:N"77)P[XI%!PZDK@ M>].+^4 GS6<=QBG/< =@6I_3(NMS.N.?JM:9@V[?-^8^"@(+S-YRU"%2P1^R MJ<A*MHUGJW%"3"T?6IO'W/"V+/3+)GAM&YZE'<>Y2%VG7 M+?.2ROI>9JKPK23GJN2^;C53,+=4%&E$<[I&-["V%/ 8- O>G&UKF M'QUK<$_#[(#;,A3 \DX03P@U"Q139_I&@?(NHPZ7U@,WN5Q?R/6YMUV^E]8Z MH77]4'.CKM6:U[-R:48/9VCP MI;J:#_( R);<$G+XM,9F'4V2!AE+JXN8TK QTS>W6$=4X%,MQ(S%56/P_OXD M-Y4W! )*3*A#F)9W+NO]JH_3-9.YS,Y>]Q^.@A3 M EFI=9E&(CH>+O1Q_0VR"MC%!XA*04*GU7HES1L5=^*U?7S"ZG6\0E,$>A_)EHN=Y*;Y0^*9I/?_=#4F3BQGL]S)>_$I*;%FK 7J,QN$TGYINN]9'$M<-VFJW(D*H MJX. T*GA@X07(QD:20M_UH^U0+'^+3"%I%2;@FQ;J6FZL&.B;SGC=1;=-I8'4QI%XP M;SK?E]>,M5W_G??LRL=ZZ_H0WBVDOWMI2F'286\2J1]$\6FVF\!R.%.+FM-# M_<2-N3?3%79_KB/ZX09P)]I2V@UU-T>Y L2Y5/"4/1-\$RI0SWP/^]?^#O.Y MO?H#@EA?C/J+E.SIGQAUU-"=W2U/@L5\$<[GL7?A(HI0 /$Y$S_(0!#! M&>AK=(P2C=>&\]9\NG(E,_<,.PIF4?][%&X6*:CR9\$JS0) MU\G2N[*,EF$42S0!.""Y#'CT"1XHKHP9Z'3X7ZYWIB(*D\) M_T]"ZXEBM9X$015ZY_^<"X=R?>KN^'_N*S6&/:W+H$D*,B[LQ>W#/ M)V#$2/:0)SFK,>-X/4OLWH=!VCM;2Q%,1N+8&CS\FA?*U9BY?@[+/KE W8U] MW132JW]_^O"& ^0?=?6E'?<9"N*2?9O,W M:3_;C3K%\@,(O[;6$X=)R,?])T&4;,(D6?L GZ;A,MD$/X+9[^]'8J_6X2I> MC"ZOY\LPBN/Q]74:KA$J6B9/$ER?QTM\VJ0(P^6<9 D7\29,U\N_W :/"1)G M E*U5?EE54> )"@R'63\Q09*6@[N6D<)T&5]2=TQ8FJ)_#ZZ'D;+)$S2,2, M%JX!3YMXI'/H=[4*XTU$$!8N,7.ZW)!88;390(CY7Z[WQ_A^/.G[GS? D0E M62;D84NH<,'<)0$'NZCK-3G?. ,LUA$"8NR4RU4$:\Y':EXBR,CE\0G!$J\C M5GT,AX_B]5^NXD>X=OS%KAW'2Z:N\"-0QR1=XEJ:KI!S5Y<=&4"P&CLR!D;3 MD *M@WTNY^F$(Z<+++O1H+%,Y^%\1<+ NAO\MNP!SB9&>HS*9C)ZC.3_6C+X MNLGA;_U++>[:K^[=%H^VG/>]GD9]B?" _8'UL4>([-]T3A'GYY(HB1%PJ7?E M,]EED0"ZUN.IH^4:94#@M(OJ41#'F6 \2 M$"GBG:9":OPJT*/?!)K]Y8[S53*<[S^>WTS[RV4_B3>H,F.?EP,PP13GJ>\1 MR09Y:. CGTV*L%,*9)V/_2%-E^%J/O:'!+@P7X_IR4/)DT=AC%G&X MF(^O(T$O5N.D?"FUIYLU)242,H7IYT0J8D#6:CT?)/G_.(?X(A;QE?P@0F&Z M2LGHF_4Z3%?$J!(H>YEHK/X,X:" AS,LQY0C@9.L-V.VJ[GVEQ$1? !::8J7 M('DD2Q)SL2#BEPPHR5?WB1_-2Z;#=S/-4[(/OW/ZBWV34K_^HA0]Y*T1:#>X98>]]KAV_!]<_)J<74^YH:_ 0&3?Q^24* MZL.Q1?0;>^;A;>\U37YPQKGWM &]9YK=49GJMGRZV/$C;."?$(_T/N/W.!IZ MLH(LPPV]7B'T:+%Y"Z+C:?1 %HY_,^<1=779=.99H.&KO-1J,?JG$]H;>ON' MWDG2!W;:6GS1.U,L[_LG[KUS>GI13,VF7A>_]M[5/R)>^7\DX >IJE:_MN^N MNO_TX(U^U[^_7?^/"3_QRT0*!MIAZ'RV6ESI*^"\H=P0 , , 9 M >&PO=V]R:W-H965T M[X7\IG+&-'HHBTHMG%SKW>5TJM*^!/SO9JL$;&D[40W\SF-ELX MKC&(%2S5!H'"YP>[9D5A@,",[RVFTZDT@L/U$_H'ZSOXLJ:*78OB+Y[I?.$D M#LK8AM:%_BSVO[/6G]#@I:)0]A?MF[,^:$QKI479"L.^Y%7SI0]M' 8"B?N" M &D%B+6[462M?$\U7#G%Y^%"+;\Z) MM,K0;:5IM>7K@J&54DRK^52##G-RFK9X5PT>>0%OACZ)2N<*W509RP[EIV!; M9R!Y,O"*G 2\9[L)\EV,B$O\$WA^Y[!O\?Q7<[C!"X[CF:*Y5#N:LH4#5:&8 M_,&LTW%9/;QV[[16A:H"M:T"IEB&KTGJ6L7#.)?,_F!QEAQEZ$21*,Z%X8 MXI",Z4GLX<1-T"K[!VH/F@_$00O$,UCQ#:$7(R4G7O8]Z-C] ![87(Q=!7*0+>^MK70'3]#L>OC("(#BA<" M1)(,*$D8XRAT^V#F#&GKS]ITYK8K\W_! 0TLWJ>#]1>E5+.MD-9!<)B6HH;@ M8+3/>9HC*IDA20T &3+=%BDMJ6F)OYD<-)V3*W3.*T 7M0((=7'YRU/L_WY/ M1/WEW/LHA5+HFDKYR*LM6ME(H56:UF5=0!0S0S*1HO9=NGT6:8AI!?%^'90O MDD+JTA)N[0SY)@_=<;J1!$.=C/,04L@-!BGT3/X,)$,<>=[%,!4Q<6?HVCY< M$!S)"FN?ROE.01 ]/"/QV(+8QR2>C2T@8%H4]&G\'. \G.$X#'M!$A#LQ:1M M%6"R'^ XB(P9C%@Z-)N!9' [KYXA<$F(_B@[$@AGV$Z^C'%P(>X"Y23$D M-J-:4FA/X3[""8$7O2CL< (E=19-XHX XY:M0YU+QE#9O*G,O*G'DM*(FQS$ M$'"U8W;2*1YQ ^M%D^A0D>=/DI&FRI3ISRF:H!NE>6FS9 @D5W/\,*>!AT[LK2HIT78"RRM3TX/JA!PH:/#6+[1 M8%S/27 0>"-MHY0_-JI,!U,EU/+6SLX*I:81-0-F1^W&\U4SE?;'F]G^$Y5; M7BE4L V(NI,X=)!LYN5FH\7.SJAKH:%QV&4.?S&8- > OQ$PN+0;HZ#[T[+\ M#U!+ P04 " "2C6=7W*VL]W4# !1" &0 'AL+W=OCY)>DN[MBP+8OD423#Q^2(I7U49M/MD)T\%Q+93=1Y5QSG22V MJ+#F=J(;5/1EKTW-'1W-(;&-05X&HUHF+$WG2$$HLG$?@M#SA/4KI@8C&GSUF-+KT MAI?[ ?W[$#O%LN,6[[7\792NVD3+"$K<\U:ZC_KX'OMX9AZOT-*&7SAVNE/R M6+36Z;HWIG,M5+?RYSX/%P;+]"L&K#=@@7?G*+!\QQW?KHT^@O':A.8W(=1@ M3>2$\D5Y=(:^"K)SV]NBT*UR%A[XB>\D E.O'F; MI.B1[SID]A7D%7S0RE46OE,EEB_M$V(Y4F4#U3OV*N C-A/(TQA8RO)7\/(Q M]#S@Y?]#Z!WR],O(OI&N;<,+W$34*1;-$T;;MV^R>7KS"N_IR'OZ&OJ_XOTZ M\D_:(2S>OEFRC-W\4S?@]=/\!FX=4(DFD6I"RF;NS1FQY= MJ$*V=%&HTQVJKF/K3D7O@3>-T<^"NA#E":[8?+*B;I RJ)&'*Y9-9H,D)@S; M8.AW>9K +Q75X(QV)"=.TQC:%71!#>%!8%0X%S5:#G^H?>VRUI^'DH88$/ S#$U>=37N3S M&Z' 5;JUY,-^>STB_5?KRR(-TA+]%*23>-TEL-]:PP5&.A=,=SYI$BDL3JFX/09X>4J9F3X M=_&"Q;/Y#.ZY;;DD,Z%L:T(1^IX[\\F6\7)U)I.MXE5.EMHTFCB$RT>%!,>? MRC.@U6^BI<7-+)YS+(KMTA/&860B-U$W^4CN_E;?=,G-6[Q_8#-P?*%Z5^ M3Z;I9#&+P'0/6'=PN@F/QDX[NN-A6]&;C\8KT/>]IEG1'[R#\5_$]B]02P,$ M% @ DHUG5]26BXK/!@ \Q( !D !X;"]W;W)K&ULS5C;CMNV%OT5PIT4":#*NO@BSPV8F;3H%&D;3*:GSQR)MHE(I$I2 M=G*^_JQ-R;(]OK1 \W!>;(GB7GOM.Z7KM3:?[5((Q[Y4I;(W@Z5S]>5P:/.E MJ+@-=2T4GLRUJ;C#K5D,;6T$+[Q050Z3*)H,*R[5X/;:KWTTM]>Z<:54XJ-A MMJDJ;K[>BU*O;P;Q8+/P)!=+1PO#V^N:+\0GX?ZH/QK<#7N40E9"6:D5,V)^ M,[B++^]'M-]O^(\4:[MSSX(@>-O)1Y$61(0:/S5 M80YZE22X>[U!_\G;#EM>N!4/NOQ3%FYY,\@&K!!SWI3N2:]_%IT]8\++=6G] M+UNW>Y-HP/+&.EUUPF!02=7^\R^='W8$LE,"22>0>-ZM(L_R/7?\]MKH-3.T M&VATX4WUTB G%07EDS-X*B'G;A^,**1C=\9PM1#PMK/70P=@>CS,.Y#[%B0Y M 3)COVKEEI;]J I1[,L/0:AGE6Q8W2=G 3^).F1I%+ D2M(S>&EO9>KQTG]G M90LR.@Y"Y7%I:YZ+FP'RWPJS$H/;[[^+)]'5&8JCGN+H'/H_I7@>Y#?M!,O8 M]]]E29QHM490UZK MB9)6.^CC($G3K=JWTRR(4_#83^!6)]+T%)"G$:?!.)[MKTW&01J/^[5GI/G: M]W+XA:^$H7!(!47".F8X"@RH;NM[3#KK4 642-R]2ER?FU1;>YGKDW7-+9N$ MLS?^\21,W@08T>^*W34+C +6B08@R(2G5! U[6OS>2E-P>Z0 M>P4Q!^@3&',R8],'%D;X+L#>D@#A)]'51N+U)O\XOGH';4N9+Z$(98+Y5\!B MPUQ?:E"/7[Z W(*\4QOLE#7<@_QJE _*Q6PT#B/,K[*DF.RJ]S7[ 4 ;?9[Z MOC)SLE*A_")-3F%O*[PS[J=.;FM; ]M-9R%)EN0,8V$/W% 0?L4_"V^II<#S M'3(X#4C+YD97S.&@0IO]/QF :ZHG G2. "DU._+:L*9F7=A>T<_12J3SN>>] M%_J$Q.FC,61OX?.O;<:G @?%^PDS#=G=L<0,O+:N<1WRW$WL-7(-5*=AMF$: MLD=XH\!&Z>O!4SJ'%] .(SHHM-0=J[%I5]N+-L:/&=O%A[!/!C/P#N;14P[TV<-+!&(L.YUW+5MQ(S$ J7&>DKUQ/ M9BX5.BFY(=F&,&10'L.#C-VVL3==!N;4" M+Q7LSRXOI*^ NI1^$*VE6W9YM?$B%<]9R_XFKFBFV\<8!W@<9X<-E:M7/=^N M>=TV!:_%]P5%HX%L$5]@:F/$I@SF99.[AKN-8RA-?&KN8=JVMCVRF,\WC1]H MK=\+CW4P>I#'X_W2H6T'HZ@M'&+7=]BV5?5D/CS>__[DVS?R]0O4F:ZY)&&& ML51#G"O55 &KR\;Z)E\C,KD7QAO<0JK6@B.>\@V+NK=BOS2P*>X#\4D(YH^I M[1B.XZM-M\:,-'+%?1$]*J1ELW]B1>A^X:K!J^-FB*9' H="0K(6_[_A2Z/H MFX3O2.!&830;_[/(;:8Z=<8D3"!UHG#.!MBWC%=!&?^;&#\@*@6*_U6/ESN' M8;2*)M-$B./KZT T="1[?:N9&X?2L)?ZPL1VL2I^8I.#33\A^+AX_K[;3,@W3 MK3U,)'&PO=V]R:W-H965TA*;4R#)O5(@PCJ+]L&!CX+1_/!DX?:_PC>/* M=/;@(IDI=>>(BVP41,XA%)A:A\!H6>(9"N& R(T?#6;0'ND,N_LU^@X=$FYL9JD MG.SL^!PU7S)W,W AC=457;@UP] 2MM,(TP9G4N/$+^ "GB#Y2XD40_B*$ZVX"5MH(G'2_XZT!IGL!G'-8C#>>=7?CTZV>#EHO1QL0_\#+[?C7"F+< 0[KP[C?GP"FV&].$I.VO5" M6J28+$P9F4^YN=MM96<:,VZ?,&]SA+D2U-E<+L"RF<"FO?DO-&"=F'$-2R8J M!#4'56GJF=:9E&I&4V,:X#(5%54.;;S9F:(ZDH88M#-*\(Q -OO+:J#).9>7O\+*!_M5(Q6BQFJ'U%GF/:$/W>,]5''L)GE3+_^JS%KIJ[ M1/QPZ=I=NEFQ$K[0#6CJ?JTI3<",P4ZR7K=9?>#T>W&RMPEIK5(C"B47[TBG M>(JY7@>$L[_Q%KKG_>_K;:X1'[U'K>B*^F2S9+VV&:-J_4A#[84:V,Z=8JH6 MDGH@ T)ZZ#Y3Y]_G_5%%O%0)+0OO2]<./9!45=W$)]%!AS[<&W2H_=Y1U*63 MWL%1J[WIM0H[@Z1 O?#CTE";5M+6,Z7EMA/YM!Y$#^KU.+]D>L&E 8%S,HUV M#_8"T/6(K FK2C^69LK2D//;G/XJ4#L%DL\5O6$-X0YH_U/&OP%02P,$% M @ DHUG5^^H:^LJ!0 .PP !D !X;"]W;W)K&ULO5=-<]-($/TK4Z+@Y)5M.; DL5U%8"DXL$L16,YCJ64/C&;$?/B#7[^O M1[+B;#FA:@][2"*-NGM>OW[=,YGOK/ON-T1![!MM_"+;A-!>C<>^W% C?6Y; M,OA26]?(@%>W'OO6D:R24Z/'Q63R8MQ(9;+E/*U]=,NYC4$K0Q^=\+%II#O< MD+:[13;-C@N?U'H3>&&\G+=R3;<4OK0?'=[&0Y1*-62\LD8XJA?9J^G5S07; M)X._%>W\R;/@3%;6?N>7]]4BFS @TE0&CB#Q9TNO26L.!!@_^IC9L"4[GCX? MH[]-N2.7E?3TVNJOJ@J;1?8R$Q75,NKPR>[>49_/S3)31 M!]OTSD#0*-/]E?N>AQ.'EY,''(K>H4BXNXT2RCB3<;TINE>+/_F%[G?7'>FQOBRK>R MI$4&Q7MR6\J6SYY,7TRN'\%V,6"[>"SZ+[$][OVG#22FDV=/7A;3XOHTEN"U MR>Q:?"4A':'?5M_0 R)8$>1>:"572JN@8*F:UGJJQ.H@&LA8M9K$M^B4KU1J M&I]SD(H".6B/A(WH ?)!X$>A);!2B[#!/L9$J075-:4V2SLY-I PEN5&*(,@ MJA$M?MM*1*_,6M"^A3T ]/Y@^3?V).D,OON1\$&&&*P[#!$]C.&PE4K+E>YV M:C4"<$#;MM:%:%)ZN7A-+F P":_61M6JE"8(ZT0TT?-V*E#C.XZHE1Q<'S!I M2@OKGT %3T[N1Y0.X/EUMU'(!8L'8X,/1_PPKM;/- M$!>%Z1\3W0. CC.FFS/&&)8Z5&'RIS0,*Z#I^IVXWP6Z%0RND,*Q94<)*IX*H;PH M+O/)T[0RO10S#NEN%Z8Q92W;Z$ZU 25K2*E)H GA(_S@(W8C4X(ZO5E+&<8@94U MAH^M-61"@@8) PLU1R[]KU,ISJ8""O^/7-@(FB$<7FRUE3K*[DC4.),E).01 MSW'_L*F'_KC#DJ=RU5&<0RYWVOEK>'I_;U-TE"Q+&PW+M$X=5U''D/2>.D'K MH4\:"AM;Y>(-@11FA7E*AOZ>I>ICG[1H$B>A.@Y7BB.M*:,5A1V1Z=;I'+B;<0FEHP;-$/F/28USEO5_*0"SBX]( M3IQ[M@2W:SY"S>G)=+]2:IBA_4G0'WY,%,N(M\_/W23&)Q>ZAMPZ75N]2!W5 MW>V&U>%F_*J[$-Z9=]?J#]*ME?$@LX;K)/_]>29<=U7M7H)MT_5P90,NF^EQ M@]L].3; ]]KBIM&_\ ;#_PO+?P!02P,$% @ DHUG5U-@9_"H! 3 \ M !D !X;"]W;W)K&ULQ5=M;]LV$/XKA%H4&^#9 M>K,M)[:!N$G1%6@6).WRF9;.%A%)5$G*3O[]CI2L-Z=.T779%U%'WCV\._+A MD?,]%P\R!E#D,4TRN;!BI?*ST4B&,:14#GD.&8YLN$BI0E%L1S(70"-CE"8C MU[8GHY2RS%K.3=^-6,YYH1*6P8T@LDA3*IY6D/#]PG*L0\P?-^8<@EHO\\HB;.F(.7E66W_;]M+"!,JJ&$S;G8@MQ!R$97_ MYG.CW;M(>9&IEO\?8"T*/'&(ZP]*[PZ(GZD(8^(YO>Z+7+"$..->]Z&UA_8$ M39]('^Y3D<%AI[9[DZ<7P"Z*+5*=>#T=W/D*TC4&<@3Z5ZBX'CB->\UWE7U/ M"U-9#?1C_T0SDRNG-/&>!VY2ZO;4.BGU^BGU3X'JE/9G;:?4ZZ7T)%B5TKY[ M34K=66^H3NG)R _"EUBSX0GKDR)\0S:%*G"K-:Q@DH1X#B(SM$:1XY[EA< Z MMH.L $,4J*@V0$;E3-$$1[\53( &+=FH31 ! YN6$:SD.$? D=,TV"@>;;' MDJ9;/9W *E<8(*D$,X6O E(QAH8J$OTK.83,!9PJ0N4$=A2]7#\15",K3I%5 M&-0E^H))$7+8"5O1=0)DK0LZ,>>=]E8;ACS-"U42%,VQ6K+0S!ZQI%#01$QR M=$8:9!ZZ#YC65HRPN)/9A)> Q1N85/S6D@ M?Q\>+>?_U7XQD;:+9"_ @^*U3L0/Z/5;DR"3G.;ONDCULG/QZX[CE]IKO%*R M#/=$4T'>$C\8.+[?[O &MF^W.H)@X >35L?,&8Q=^]7+U^OF[M[< M)G'%Z0Z7;0OE9I:&+<^R[)A9C;-C;^!YL[;H!$Y;=*?CCN@&3?2:N7AO)K#9 MX%F@)\0[:?CPA[X*HWM[/"IDK>T,;*/)M/X/9LV2CL?VSP1ZXA"ID?V! M-^Z$-O6#]J@S[8Y.@U=;TGY[=6+%_NMV9?9,0S%[.+,[8FM_O"7.<#+IB-/6 M1:):E([QK"O:72ROBW7$[.>NS*/6"P^NGXD7Y0FK4 MRW.Z%2CE*XW@Z*KE0@[,3/W=A MSDYT[:10<&&8KG@1?+\?$+[_8:_!:QM[S28/]WJ_V-MQUM67 ++[7\+')7G YF Y;#DM?27>KU;]#8 M6XKGL'I "O @KF&P=G3GY)I?+P#XZ3#.-FE M_;LQ[M;R7CM@2?KTIUF:I,=]G7[JZ+C1S&@8CX_92UV66!Z6=G:3GX$):VO( M69I$Z>20<84_Q]'1+&6VX&@\TTN6]46%8JX IA /*T,V &4#PU@Z*!=@NH & M;7&:1EC7M@)?F7(3L1H%#-.U85*KU8$#4^(.!\I7<"6Y8L\(8AH?__GQDEW@ MA!\FQ[\.V4<\O<&V!@.LJDU68,'F;+'QT"ING,A$Q96S+=Q6#9:=*W#'!@G' M88'EP)QFM3?S23P<8^U)Z6D$H>/$M)OX<;N'["^TN$."3,LR, X9%8$HI$9C MO23<0%:3" XELJF]:Y''"XRS2AOO+X2.R(1!855SR19:H4&\U#6:B+M;!WF' MWXDE=Z@F%S;S6Y=&E]Y&I.TOV"3J/OH\.?&'8Q?@T&?LIP+N6&9U%:HU1W3 M:.<#E^2UH7VO( M6$*0?]D$:?$ 1WV%ZLL/T>P9CX/8S]1&SDF%' Z_"*NER MA8%]$GS=,<@LFAU._RG.E%8' M4%92;PBCQV3;M7/-34Z#5\*@>FWLL&_7GG5[:]:8B#$.2[,H_7\8MC5P!/-[ M3$5\2 T.V0(5SZ+I=.)%DVF*L9N3*0[SAE(ME$6M!*9K2\J75Y]L2\@14^"M MQ.Q>@G U^88RW?$;S[;4EA"DO>\@7Q*95IB\= X25=^=ON9P@]^58 R2T)P2 MC,=1/&<$88^CMY[35L;>+GQ [FU,7K=Q]$V97;3LZTF_W?16L7=\T^@A$O)) MU71PQJO*Z&L(7.#YX\*(4AMA$8>YQH*VV,\-,FK(HIU'/B,E3>!>7UUQ_$3KN)5!SHP9$GQ L MB0_^"'GH!2P2-]L@U3>IU)'P."$]P+/"+T=L43OJ!0I3U*,DS\.-(Y,6L-'X M[QU'"QI!?]?I; \:*'GW-^-#1TX/+?EPWY*&R1IC?J^Q4O",OB%#$O[^;A*Q M*9;W;,NECK)*W;:X)KUPX6%N/4GGP]F4?!)TW>+X/DI,TNAP_)_@.!S.#A_# ML2_#S*/Y9+P#T#=P)$?#R:2/HZ6?*QINIZ;W2#[=-2'PT\,NQ'CM"N2D?PB+ MMSGN+LO^N#XBO3*\'+)/_N+OVMO4@QV^\6+61_C%C4TR]SFJ6CY $L\%$1X2 M>B,?&()*'I4:MN0>&M9!AE\_9B==Z7!]HW>/]@",$I8?*KT.M:-@I9WP-RYG M./9L_\2 _1=]] 86!BNAS^&/^,A )4$)_' /9"Y%*?RE_(Z_]K^IK"D%,8NT MN_4A5YLM=Y-]]8<+4"_5T,$8E0RDI$_%HZ,HC>.M]R#?4]K;,5^M#*S0A0R0 M.$C\R;27*'>KJA]47T?)<(K7U!?^D,82[U;?F]->@JNA+=4];D[8.AJZK&7@5'OP:8$L_+/4DCK5+'A[::;[5Z^7H0' MG]OMX=D,B1_[GV42EB@:#X\.!\R$IZ@P<+KRSS\+[9PN_<\"\/O6T 9<7VKM MV@$=T+T'GOT+4$L#!!0 ( )*-9U?<^[X"R@8 ,<1 9 >&PO=V]R M:W-H965T=Q1;"76(DM&DI-F?_U^1_*M)83N"\P46Y=SSG?NQSG=&/O9%4)X=ELJ M[SXMN=2C\].P M=V7/3TWME=3BRC)7ER6WVPNAS.9LE(S:C0]R57C:F)Z?5GPEKH7_6%U9K*8= MEUR60CMI-+-B>39ZE;RX.*#[X<)?4FS&NT+QW[1N3Y[N0?508?J8!_W/:CVT[TS M7K!D_OBGXS1)7T8NC%:S^4OV23!%.XSGB!#IO.44ZHSKG"%[:64T5VS),ZFD ME\*-V::06<&X%6PE-*XHM67*Z)6PS[RPY9A5UOR#S&&N$IE8K*P*!0_[XHMT%.@(05YDI*Z/ISF[U M>9:96GN1,]0ZYD3% 56H[82]OX+FO%N/."1(#EK;&%27YHC-] M@RJKK24-[],.[C(8U-26O3:PI79@A#=GE,PYP;S@BBS+KBG[8_3]BE[D* D)'&_3%\U=D:\,GYCGG#Q*T7I)!E MD9+0]8PWA=!,AO!!JW((_P4\G GKT:=P#\J![48J!4;"9I*DT:YIPNN58Z5Q MGK3J\#B6&WC.4VZL94[QQ619*9E!$L5*P%J#%9$ LPV60^8MC$6A(.7L5U:4 M.K;6T*/67,9$V6E]J-WGRDX/--9O[3UAH51 QXKBARVM*;_EFF"JSOL$AE$E MH:[VC,H1H9;?\& 7>;VI0G+" #PZM;_MHJ$!2=J@YYI;:6H75*1#:^I5@38P M3\;,F3+H%?.UY-L]H="!J*Y<^TEOO6$Y:T(.13:$+G%%L 0P@K>EWF-E^C_58V*A0(6*_3P MEKE O$)\T1[<5W%+L/N-<^:?X8+M*[.W=.[E?:UF9/DJ?=Q4<, M@3P_F@TVDI-Q,DL&&TI92H11_#%,E1> SSC6?J 9#^ 0 M.+1G].IV,A0(9,1JWFL&^*1;@PVMRE/%#*D3YAFJ,8,&TH-OKW*MZU!CR;&Q ME09NL3M36* K4&NIL+J599@HV:-DDK8Z19QM[@[YA0DBY"^PS">SG_OFVXH? M-N&;H<@O-5E>ML/L+G<*[@/<(-_!])@3(PDG'/=C.@C )[.Q<=/!Q70J["C\AP%STK1"_L[O=[E>*5_'CO+\>?^)XR^U* M8M108@G2V>3H<,1L_-D@+KRIPJ?ZPGA\^(?70G!$/%W ^=+@.[!9D(#NMYOS M_P!02P,$% @ DHUG5_EN#)&ULG55=;]LX$/PK"Q7(DVO)LMOF$MM G-[A#F@.08.VS[2T MDHA0I$I25O/O.Z07W.%Z,/;1-OK5*NTW2>-]=I:DK M&FZ%FYN.-78J8UOA,;5UZCK+HHQ.K4KS+'N;MD+J9+N.:_=VNS:]5U+SO277 MMZVP3SM69M@DB^1YX:.L&Q\6TNVZ$S4_L/_4W5O,T@FEE"UK)XTFR]4FN5E< M[5;!/AI\ECRXDS&%3/;&/(;)/^4FR0(A5ESX@"#P._ M*Q6 0./K$3.90@;' MT_$S^E\Q=^2R%XYOC?HB2]]LDLN$2JY$K_Q',_S-QWS>!+S"*!>_-(RV2T0L M>N=->W3&O)5Z_(MOQSJ<.%QFOW'(CPYYY#T&BBS?"R^V:VL&LL$::&$04XW> M("=U.)0';[$KX>>WMZ9MI4>5O2.A2[HUVDM=LRXDNW7J$2(8IL41;C?"Y;^! M^X/N - X^E.77/[LGX+:Q"]_YK?+SP(^<#>G93:C/,N79_"64[[+B+?\/_G. M7TIXQ%N]C!=ZYLIUHN!-@J9P; ^<;"]>+=YFUV?8KB:VJW/H__UTSL/]:SS3 M8G7QZC)?Y-=GP2D89 MV ?#$EU=]E +Y.%2H%:O?]A;]D@48#-TX93WGI4$5X=,!= ]-<)1RU9Z8Z7I M7= )"%DP,-"_HCE-_6?G4"NHJS.ACD_4&><"D=.RG0(,4BG2QL^04RD/LNR% M@INQ=*R[J&N+VGJ>@=0!9QXTT5-W!L/ MA8W#!D\:VV" _\6/&<=(T'])DXF[[&28A"@E), !HV?OK>R[ EV39S;:=[4S;+[8( M7%S$90]E49G+R<[:^M5L9M*=*+F9JEI4F-DJ77*+1YW/ M3*T%S]RBLIC%8;B_P MY8X;<:.*O\G,[BXGZPG+Q)8WA?VL]G\2K3\+TI>JPKB_;.]EXW#"TL985;:+ M84$I*_^?/[1Q&"U8/[<@;A?$SFZ_D;/R#;?\ZD*K/=,D#6WTP[GJ5L,X65%2 M;JW&K,0Z>_59U$I;?E<(=BMR1-N:BYF%8IJ>I:V2UUY)_(R2#?N@*KLS[&V5 MB>QP_0P&]5;%G56OXQ<5WHIZRN9AP.(PGK^@;]Y[.7?ZYO^:EUY)I73M?/5A;22F&Z\< -OZV$SA]GGT4E]K1J-,VQ.XE\DK4@?[J9 M*7M?N8FMU,:R;PW75NC6T+DS--WQ*F^M/&$1#&:IJJJ6 /;2>G]!7H7,*Y(A M=;0:K@E=\8*!WG@E?^&>,F!:R2N0DY,U5C>I;;28(GS]-JT5ABB*N,;;K%"[ MG?*;CV\^,.6=T21+$X0?F6(9_*BUNI>98 @OR5,^&LQC;_U5@'/9QTX+\M(4 M7!>/^'5/#.46@*(U+*YR9_%65KQ*)9S!L*/M*A6.NK+6"B,8\M#':3I"!8+: M:$UNG0YH6C1DZ*E,]YGTR1XRO-_)=,>D@3]8V]1=7,@V>/D4&Z2HA\-M%ZBG MYK[ET-LJ.VFN0?[+6CG/$7)92@1O '1324C9'4=N:T$AD[\(0DV?'$A\:UQB M[&Z$S#=:WE.XV^KY@\N6RSEVZK?G6K!,;K<"\21ETD- ).JE"D!1^-4$EH: M*U,'%T$>'51.Q0EQ-.#1>=.#+-9XU&/GY WXAGU]K&&"*^A%':G,L.<[[!FM(+BUF-[9/U0]![/5FEX M4=U+K?JJ')O:[]P9=PQ9,EYN9>K+%JM1':)"XFB?7"OC K:5EC#76^XO_ \8"E M M-0Q8M"^4 A#[Z@'7,,PZY6@$WDD^*'+1$%$%NJC,4:TR S'$;RE!C@L1NG M:-6>$6G@<.U 4>(!#:4A$.Q1&(X3#K.Y53!E3Z*H7\[NX.P6CII4R[K+K\?. MB3-HK.@I0WDK!-6\._[0I7HN Q' VUOK)LGP@0]<_/E3XAX'CW3(RE@$<7QR MT*E2.?;%.F)<&A8/5.Y8Y"H;+)USOZ7K5#5XH;$^KIFD3-\UO48+(TPIC>N( MS:.QHFQK"317@JNZ!+9SAW$]I.5?$0OX?P.H9_P[(^,9M3LK1)4#GR"Y*@\< M&X'.AI,?7.B/5=@=(*76H15>[=!.[U%') 0(9-CB4#83I:+TTF\#DUW[CY]* M%CBI^1UBZ(_Q )E '8B'E-^W ]M"*;& BF+$&P'5[A[7(/IO*,L()5&:YRXJ+H*9JRWR=0#1 M=5'X1FD@T-,LVQWY>^P@<=FC(XXCSCL\WPE1 >HXBBO78;9>#T7O*MJQ&\H) M-AIT0'2N=)N"%"IEF6O!*]+ ?1-TLR.>^-CSS!O U!7*!_X5QQFD<%E#AMPA M=7U[P^)UR#(EO#K?3A$EMT1(B3#02VGJ>Z>^TW%6#9%IVVOVN0U(-]X]C\RG MF!!Y.G\-^YWS7S4&,32_'_CKM_J/JZWO UQ;7_IKG*!K')RJ02)WB!W=Q(X7 M4A,^?HB_>\LSPMB_1:AG-P>5[Y,Z3M5S_X?#HUO_(ULF2;"<;U@23Z.S\7@T M#\)PS9+5='76\>SQ]NMU$JR35?^\6$TW9T^DEJLHB.)PD(JG\[,C!W]D4;"( M-T&R7K(H#*?AV<%4C(VB>'T\]9]"5D6L^']@O0BL*%@#0JLE(#2?QH?I3))5 ML%ZL6+*% M3I-CL%PD ,4A7%;K($S 4_$+U!B%FR!.HN'9D=ZQU&H9K)T[\;^#"?Q9U!T#J '1R\"0S E9QDK#-X8D;)6&P M6BPP_#RJXN42;#<BA2Q@O5>-?<.3=-.['2I]XE4,O(@[AX>! S39FT-ZV$U'@ MH2'-J"D&C[J7P=ZQ*/(.Q^'Y8!8I>E]9W-XD722N74_KI*(A/.^$PMVH1CN/ M-.743CM]\< %I,;'RVLX<+?D7Y2[#/5OZ?PB2=VXEO>P=*M5>?BRX^DMU+VZ MY36.CP=)UXGBD2VFRS.W]Y*RFM,%R=TGG+JN<</^.'%&NA?N<5#S2G19775GCWO X7)6G[/K9[#U)77#DVYS@1)()?#O> MCGP97XW<6Q1_9=/@Y2T]]O)B-OB@A+;G[;D9O4P%>_W&I'^T_S5W[+U*# MN/^N]X'K7%:&%6*+I>%TM9@P[;^5^0>K:O=]ZDY98,#]W E_1U02P,$% @ DHUG5U]SET(Y!@ 61( !D !X;"]W;W)K M&ULO5AMC],X$/XK5@\02%&;I"_;PFZEW875W0=. M%87CLYM,&XO$#K;34G[]S=A)MMU-"QRK^](DKCWSS#.OR>5.Z2\F [#L6Y%+ M<]7+K"U?#P8FR:#@IJ]*D/C/6NF"6WS4FX$I-?#4'2KR01R&DT'!A>S-+]W: M0L\O565S(6&AF:F*@NO]#>1J=]6+>LW"![')+"T,YID24KI;[0PU_I52\D0)!#8DD"Q\L6 M;B'/21#"^%K+[+4JZ>#A?2/]SMF.MJRX@5N5?Q:IS:YZTQY+8-1C266L*NK#B* 0TE_YMYJ'@P/3\,2!N#X0.]Q>D4/Y MEEL^O]1JQS3M1FETXTQUIQ&$;>L.5AZ.0-3\B[X4888F&AP8"TG&*FRTXO M9M0MAE+HM2EY E>]D@3I+?3F+_Z()N&;,R!'+GS#V"L%HF%E"7<9%WP M?DD >_''-([B-^X:#I_NBMZQ4*Q .Q/+FC?G1]"TGMQ^C(CS']1#_E MQW@T#2:S^' E#(-Q%/^*'W_>C5$8Q+-9AW>C8?0_NS$>3X/9+#JR?!Q,1N?J MU;@M!>.SF5P7:(,D)H FK'+ K$-NA!7?7?%B=SP1N;#[KC+Q9,);XSYA8=>. MIN8OI!BTQ;F "%*5QF9IL,5X]JJ5$:G@FAI+P?<,^W1.IP7*T#Q%AS<8]#T& M;FC+GG$-3&FQ$5Z858RS7:;R'/O83N+*BLLONBIMLL?CA;((OX1$H.\7E2X5 MQM,[;&Z(_B7!C\,WR\4[=Q>]><42'&X<1CI"_9#DXOB#NK%%E%Y GWUV 6$U MMFR,G("0X4"A- 2'@>(80>D40\3!40RMT0#I8-U'4Y]]K$\@#]*L01MGE#:9 M*'VNU5J1U:\5S\5Z3VVZBR\D9O'W+:M*NB,@.#B(HBK(B"3#609E%86PI-@9 MY+(,46K('[LIXUM@4CG]0E:D5,BMRK<.>),D#6J-QSLP!746VXQ+E)2WTQEJ MYBD.. (3D-.D1KE8(EMB1=&$ +/LY(),.304]X=)]H!S97(45A%!.N39GM>O!(7!5T*"4[#,<4><>-V@2ZYQCC#R.6H&[>BU^[= M7MCN08 M9C(E<*MZ-Z(YK0A]9+W75P#2&_D *M9JPYY-QOT0A],\=YYT!?%X J#.?Q_8 M/D>?1:-Q_Z(]=A;)*9D!IKU(,N?PP^YQW15X$E]QE _2L\S=*5_';*;!IX3$ M^L@*/\ "#;#=4*!61\:-PD-*4,8128$+;G!O)#D62H3L.DBI50*0&N_CXV+: M;:EO/"XB2J#$<:4 Y;J4:9+RR-[E4>=R+?R..E>?79^F&3 0T(CAD:?;Q$HX MSKQ43ZM'7:!_IME-VF8W.=N/;MU[$+CJF2!P?7(Z/RNG>SKO%M[FSW^-!EZB M,[':(M?8/D:C?O3M^$A;__>,C1\:.Q[VA][8T;0_ M>CIC'Z;F#V$1*S@KPLX%*6G8[.]IP@G3O^M1ISHR((K(@$#G>/E] MSW1ES^#@=1^E;MQ'#>,;CG_S;U?;[R;7_G/!_7;_T>4]USA%&9;#&H^&_0L< M#+7_D.$?T GNX\%*633!W6: 95K3!OQ_K7"ZJA](0?LU:?XO4$L#!!0 ( M )*-9U=_P$-.20, #D) 9 >&PO=V]R:W-H965TM-T* OO(QFSISA(45.M]I\M16B@\=:*CN+*N>:JR2Q184UMQ>Z045? MUMK4W-'4;!+;&.1E"*IEPM)TE-1N:F^\+E'H[ MB[)H;[@3F\IY0S*?-GR#2W1_-;>&9LD!I10U*BNT H/K6?0^NUH,O']P^%O@ MUO;&X"M9:?W53_XL9U'J":'$PGD$3MT#7J.4'HAH?-MA1H>4/K _WJ-_"K53 M+2MN\5K++Z)TU2P:1U#BFK?2W>GM9]S5,_1XA98VM+#M?"_S"(K6.EWO@HE! M+537\\?=.O0"QNE/ M@N@ 7>7:+ \@-W?#XU>@O&>Q.:'X120S21$\J+LG2& MO@J*<_,%M\*"7L.M08O*\;!6;^[Y2J)].TT2;'#6W1X["=X$[C1RE46 M/JH2R^/XA+@="+(]P04["[C$Y@+R- :6LOP,7GXH. ]X^7,*/E5G!S,X#>// MRI5M>(&SJ/% Y@&C^>M7V2A]=X;DX$!R< Y]OJ2S5[82/4^#A5:%D**3ABP% MMU4<6L!OK7C@DNJPP%5)SM8943@LP_=3=9W/?%\AK+6DLRK4!ES8!M 8_2!* M!/Y+9&C>:.-G6^$JHMSV4IO%9P'7)+06 =J%'[MZ7RB(BV\"7&ZM<38OKV"UZ_&+,W? MO5A/^Y<2K]"$3;RW^LWL&]91\:OUPQ+N??\ VE7Q93[J6[(LGN27?)1:J MD"T=/+\:M"\;+DK Q\8O2*>)IC4R]&,QAG( MQ9[F?;],!YGZ0]6EL7I> +W M7H3GR'XD3]$7Q1Z)$IS7091^Z:-X.#@J/<_CE(U>7*C_ZS]@L=,Q.]*1^29[ MDHYL,(Y'$]:WI&D\S-AS='RZC%D:L\GDA+I9GOUF&=EP'$\FV5'EPW@T./E' M3WK768UF$RYM2SGIM'!>\[Z[#?]V[1\4--QNA+$A<4VAZ<3F,P'07 M=3=QN@F7XTH[NFK#L**W#1KO0-_76KO]Q"2 P >@L !D !X;"]W;W)K&ULO59M M3]LP$/XKIPPAD"K2IJ7CI:U48-.0AL8H8Y_=Y-)8.'9F.W3[]SL[+RNC+4QC M^Q+;Y[OGWIT;+96^-QFBA>^YD&8<9-86)V%HX@QS9@Y4@9)N4J5S9NFH%Z$I M-++$"^4BC+K=89@S+H/)R-.N]62D2BNXQ&L-ILQSIG^,,LF(ZV6H!TWH;F-=]5+DW%S=LKE LS\*+6EQO&%<(YY5B-$&Q&.X4M)F!M[)!)/'\B%9UYH8 M-2:>15L!9U@<0+_;@:@;];?@]5N7^QZO_VIA+A=@ M77& =YHBUZ$;#EH6NS M?P*[;\BL_ND_7S=U(ME^@X72U@6>>APW(LSX0E)@8R;ML]H^E\I2F*XUCRF< M#?43)4^_"(^"-/4/*EPQ?>]2U&+,72?X FE(7Z1Z2FQ65SN7OB9BRO>TRG=S M>2F+CM-[NHW?7W&RAF7%4^3?_K9?:A\[8_I)VC]:+3E=VEM$BM9$&[[)HE*]:J=B$ W<7]9__.^U)E-].'1JS?;H]IX\@;\S])HUFAPU!D>1UN#\9?% MTJ-B.?R#8OF7<7FN5G:>>+&.O#T,0%>37G6PJO#3U5Q9FM7\-J/A&+5CH/M4 MT4-;'YR"=MR>_ 102P,$% @ DHUG5VJXD1GD! ;0X !D !X;"]W M;W)K&ULI5=;;]LZ#/XK0C8,#> UOL5QNB1 V]T* M=%O0]IP]*S83"[,M3Y*3]M\?2DZ<-':\KN?%LB22(OF1E#C9]1*GB8C"040(9E>>\@!QWEEQD5.%4K :R$$!CPY2E ]>V@T%&6=Z;3KN%.[9*E%X8S"8%7<$]J'^*N<#9H)82 MLPQRR7A.!"RGO4OGXBK0](;@7P8;>?!/M"4+SG_IR4T\[=E:(4@A4EH"Q6$- MUY"F6A"J\7LKLU+9%7-OU.N1YM=V>D>>]P.XV\RINOYU;9\J%+&@$TQZF@@2Q MAM[LW1LGL#]TZ.;7NOE=TF?W58(0OB0J 1)1F9""LIA@#F(8=RO>+?K=F]"U MO0_D3^.\%%&"P4XB/(;%(*C)H3.6HTJ\E#2/,4Q.<3]P15-2M,O8$;TE_LBU MG+%';D'*RDH4BYDNE6"1@GB[I@T6.#L^Y6[3L= MB QK1(9_@P@:DRNV9#I;")42E-RKJ6U(<8NE"!)(O5]FQSE08=5]Z$NQNGF% M-B]%\AK=:E7.!92XIBF>)5MQ.O"[P85<1A$O-;6 ")!5JW7Y-OD(2Q#:\XH^5J0-2M=! MHQTLK(KF*[9'[:+I?G,!H'D"4I,],F%%BWM&EH?N>1 40X%F33<[CA4@P0_C MJI3GJ_<*1'9L26#Y0;"'K:!/54BADV@4B1*>AU(C'QU[:/GNJ+^'LY/<'UN! M.^Z3VUJ?&!9*1V:4EK'V]P[4@@MM?#-,SSS+L]*@CSL1+:Z.R+%+OG >;UB:-@D"!T%U M_K*6=M2ZH*YU07>MPW=?7*+VZ*A"<&(>?CK;\9W3>N-TBWMI%7OI^) (@&>O MBWKK.Q[=OK,;\16A(%L@MMNGA-NVU$"XS"D&)%:Z?NO:':PA+^$ #83.&UO^ M:'2PYEE^.+3L\5B_J#"IR0+0M:!]O&;FC:NO=U;M8?%H";7 M4:!W5+<'+.N M[\$M?TLI0&*)TZG< M+&U_&J^H9-%>?[Q20N=PZKHA^$OL\W%P&"?G0[]AQ6Y$VB8TR.&V)?G@H 7 "V-E&AU\5>E27G4#]6K= M2UU6+<2>O&K$OE&Q8M@-I+!$5OM\A,\4434WU43QPC04"Z[P=C*_"?:#(#0! M[B\Y5[N)/J#N,&?_ 5!+ P04 " "2C6=7T/JI _X% "/%P &0 'AL M+W=OO%(.FG^_8Z2I^Z>$T]O*_O% M+8WQZ&N1E^YLM/1^=3(>NW1IBL0=5RM3PC_SRA:)AZE=C-W*FF16;RKR,2-$ MC8LD*T>3TUKVR4Y.J[7/L])\LLBMBR*Q=V]-7MV>C>BH%5QFBZ4/@O'D=)4L MS)7QUZM/%F;C3LLL*TSILJI$ULS/1N?TY*T*Z^L%?V3FUO7&*)QD6E5?PN3# M[&Q$@D$F-ZD/&A)XW)@+D^=!$9CQUT;GJ'MEV-@?M]K?UV>'LTP39RZJ_,]L MYI=G(SU",S-/UKF_K&Y_,YOSR* OK7)7_Z+;9JV,1BA=.U\5F\U@09&5S3/Y MNO%#;X,F>S:PS096V]V\J+;R7>*3R:FM;I$-JT%;&-1'K7>#<5D9@G+E+?R; MP3X_N30WIEP;=/0YF>;&O3H=>] :_ANG&PUO&PULCX88?:Q*OW3HUW)F9MO[ MQV!-9Q)K37K+#BJ\,JMCQ E&C#!^0!_OCLAK??SP$7>=K-DH=F\,^7#B5DEJ MSD8 >&?LC1E-7OY"%7ESP"S1F24.:9]<07[-UKE!U1REX$$+ $6)<\:[7:8> M5G:QK2 H=)GS0;=?&C2O6YFD-T-"MLE+Y D$A/">A+!"):4HDOC M3>F;FI":[";@=F .(QI+S@=R&@E,18PZ?T%>&YLEN4-'9>71'93!K'0^"6:] MZK;!F3BA]]HIEDH,E+] D>!8<]63**HP8^( 7F2'%_ETO.19 B[,?&9V@N:P MQHL=6OXGR'EGYL;:GT:]N25@0MP>;92Y9+*Q9)#7FIW?H)K$9 MA &E -U%9?>$_O";/EZ=(X@C^KTJ7X=Q^[;;Q$$)V43=_6RW*T\_V5\@RF/, MN>YGM1!8\1@HS]C%W<#L2..(R8%8$X4I8T.Y%EB+:&-3SQ*0$Z9@% L IR+! M%BQ9C(56WST&)4#HT2$(KFY=OM_5%!(5'"FVRKR,P4EJ:Y6F'').[W,W8PR4 MQ$,YIHIC+H8T !5"0]+&;.!S\&\481;3D-A8@6:AXF 6IG$,1I#O[O?'8)_M MQ/[# 9# 3ESQ@# %+I0U87$@WKV^U@%\P[HH-86$&()2112B209N5I!D ?(P M@F1AFM:N9P!XRO1W=_$CH,V>#&W&5-VO (Z@7^!"@4R(")@HV@]D* 31$,BP MD>XN*>!U:#D4$3N +"2\-FZ*AA($DR@8 ]&-X3]U7^#:3P"@EJZO\'>K'XX, MGI<SURF;I??-P76;^&]%%!;V0-5DQ75M7MYI']+XO/!!_J/6LUR:T M3T%"QO6YA'(&"2=ZD@?817(H77JHFBH-O>TP!ZDF.*+#G-U'.U"/,9,BE ?H MEB4-(TX9Z-!;!!0<\:%,\_4,3N[A2[WN*-J&NIZD ^^MEX@^(G@,/+2%D0=)$>(DH+*2(1Z$ M4#@B0SQPJ M$#]N30V2I.7QGU2U*0YR1"!B)-*\1TJ?-GPXM_XR7GPDV4D/1 M9S4RH%LA(46I#"/V,(6+P 6"#A$C&99D* >"EM&0E/=1NXAU(*5@I(#0D]!4 M,"A9D29;)/_3 >))7<0SX8 R* (B!#W6&HLH=%0*.^ M"@[W'>O2-_>EG;2[;3YO+EGOES=7U1\3N\A*AW(SAZWD.)(C9)OKWV;BJU5] MY3JMO*^*>K@TR5;R?A!=T=_.1O4$L#!!0 ( )*-9U<6QTO) M>P0 !T- 9 >&PO=V]R:W-H965T.U,YM8VYV<342C2U[#G22JJ2HFGZ^@%)NIXSL[PR>^ M*K0QC&:3-5O!/>C/ZSN)O5&'DO,*:L5%320LI\[(00E9-H@,/P\PC64I0%"&E];3*=;TCCVVSOT]W;ON)<%4W M MRK]YKHNIDSHDAR5K2OU);/Z$=C^1PPOV;1S/8=DC=*B:IV10<7K[9<] MM>?P(PZT=:"6]W8AR_(=TVPVD6)#I)F-:*9AMVJ]D1ROS:7<:XFC'/WT[(,0 M^8:7)6%U3FYKS>H57Y1 YDJ!5N3\@6%/74Q&&A#0;P@F[G@<4+?FKGIS:\Q0M/ MXQGU7*HURV#JH#P4R$=P9J]?^;'W=H!MV+$-A]!G]ZC&O$%Z8DE6.^:+9]3% M6DC-ZQ5I:JY/L1[&??TJI5[PEOSN[V?-2ZXYJ,YR4X-H, M"-/D'610+4"2P+=W3H\P$S]V:1H>V?TH+0CCV.-Q7:=YCG/G532B^.%COWW2"(3]E# MUX_2B_Y6,;1UN],:<_B1PB1ICU+&B5N''D[RT"\15V\1\"+/8 #-+J"7GDDW!LX(PV?'"&S1/ E%:,I.W M_S KF_3.,>?Q&M%%HQ!"75S^=FG\W^] ]'Q?0Q^D4(I<,RF?3?*8VY,B\RQK MJJ;$4\R-:7^#MP..&7 M1FX0QR_*31DUE@ M>.&;GU^,<).R<:S$]/'KI+UG=#C2"_'#H1=2P)+2IK!_@$E;(QG]O)#K3;LO M*^AS":;"-I-T(0%(98NK_D5'&-2AF7WB0<0 ]'PS%NUM^&+$UA;O;;'KA]:V M#RH?U8.XF(FQYE]J)+.VM7 M^\^W)>]^^O:/PT"$T"MXV"_S_ M), MP/&E$'K7,0MT_XAF_P%02P,$% @ DHUG5Q@,++GO @ _ 8 !D !X M;"]W;W)K&ULK55M;],P$/XKIX F)D7+6U_2K:VT M%Q!(("8VX+.;7!L+QPZV0[=_S]EITL*V?H$OB7V^Y[GGSO9YOE7ZAZD0+3S4 M0II%4%G;G$>1*2JLF3E3#4I:62M=,TM3O8E,HY&5'E2+*(WC250S+H/EW-MN M]7*N6BNXQ%L-IJUKIA^O4*CM(DB"WO"%;RKK#-%RWK -WJ']VMQJFD4#2\EK ME(8K"1K7B^ R.;\:.7_O\(WCUAR,P66R4NJ'FWPH%T'L!*' PCH&1K]?>(U" M."*2\7/'&0PA'?!PW+._\[E3+BMF\%J)[[RTU2+( RAQS5IAOZCM>]SE,W9\ MA1+&?V';^8[C (K66%7OP*2@YK+[LX=='0X ^4N = =(O>XND%=YPRQ;SK7: M@G;>Q.8&/E6/)G%'L\K(H5"NM@5OVR%8"@.BEV(JRY$^D*(&7Q2TE8&WLH2RS_Q$]YJOT M*.$=-F>0Q2&D<9H=X+_O'&CR7>L<\>I[9W:AST[ "%P%=&8/Z%P;+ MDU?))+XXHGLTZ!X=8U_>=1<)U)H.=Z=6'%=[G.^^0E@K0?>4RPUP ZR_JR^$ M@#=<@JU4:ZABYO0<3E[E:9Q=_+<_[;3%>H7:;W=OO<%B9TSV1G<6W"=UNZ@I M"[^+&@6S)!KK1JA'1%BAQ#6GO>YQKR$9Q>%T&A]:DE$8CS.X;K5&:8%:H&;6 M%44@=8"A!(]/!.>S,"7@W^9I&HXG8[AFIF6"8%R:5C-9(.Q.Q5Y/DH?Y;"\F MF86SC)!*-XHT($$+52-8]D @EZ*R%96BF_>H;!;F!S*229@F&7SVGH-/&N;3 MO4^:A?$T>:+\-?DEX22;'5C2T3C,LVEO>>XD1P<=J4:]\7W7@+]G77,:K$-K MO^PZVMZ]>Q<^,;VA>E'IUP2-SZ;C '37:[N)58WO;RMEJ5OZ847/$VKG0.MK MI6P_<0&&!V_Y&U!+ P04 " "2C6=7,LG_OC<# "\!P &0 'AL+W=O M/$Z,.^2.0AY\P9#F\ACMPW]H;@[-P8*E$ M \H*K8B!]2*XC&=7J=_?;?A'P,Z.QL1'LM+ZAY_\72V"R L"":7S#!Q_#W - M4GHBE/%SSQD,+KWA>/S$_KF+'6-9<0O76GX7E=LL@CP@%:SY5KI;O?L+]O%D MGJ_4TG9?LNOWID5 RJUUNMD;HX)&J/[/'_?G,#+(HS<,DKU!TNGN'74J/W+' MEW.C=\3XW6>[:IG2]Y@*\A7K=S&DD^J@NK0/D1E@[SD2=Y5M)4C7%6D["-8\U)(X02\JO^TAR^_P4I* MC85G\3:@#+6C2TYS/R_EV>1.S#__;'G#MH5F"ZQ#^A M'Z'<@_$SZ&^%_R3DWHO]9- Z847!+XN16MOU)$:8DU8@]HPECSV[/ICF-&>HXO,"]3[RF;Q%U,F)&L[@XQ"8997'V M6LV&HXZ*^:V[=\,7Q5:YOKD.Z/ T7?8=^7E[_ZY]Y:86RA():S2-+J990$S_ M5O03I]NN/Z^TPV[?#3?XO(+Q&W!]K?%&["?>P?!@+_\#4$L#!!0 ( )*- M9U>/0)*6. , &T) 9 >&PO=V]R:W-H965T;Z1ZT"F (8\9%WKBI<;D(]_7<0H9U44"6\Z=F.W:CJ6A>%,P*TBNL@RJG[.@,O-Q.M[]< = M6Z7&#OC3<4Y7, ?S-;]5:/D-2L(R$)I)010L)]Y%?S0;6G_G\(W!1K?ZQ&:R MD/+!&M?)Q LL(> 0&XM L5G#)7!N@9#&CPK3:Y:T@>U^C?[>Y8ZY+*B&2\F_ ML\2D$^_4(PDL:<'-G=Q\A"H?1S"67+LOV52^@4?B0AN95<'((&.B;.ECM0\O M"0BK@-#Q+A=R+*^HH=.QDANBK#>BV8Y+U44C.2;L3YD;A;,,X\ST"A1;4[LS MY%IHHPK<<*/)P3U=<-"'8]_@(M;5CRO 60D8/@-X1FZD,*DF[T0"R7:\C^0: MAF'-%&3<>3PHG_*>%>B)EIPEU* QHYR*&,CL3)@?.6Q::BD0?CLC^WFD81.>OWJ+P#&0+4$Y] M5Q!71K_WE^L60_))QM0=.?6T56[;"%%Y!E TABC,D.@-SHL^V9^8=3M G..=N]!:KT/2PT;2 MPQ=+NB4'UCIV-LRDW5J8&VQ*9X2Y%K',8)>$NZG\+\F\5GN?*H"M@[29^HRI M[)ZIVT9^N$$?\%I^1M#=HW<0RY7 @DX((CV=F;H4LQ/QEKR?DW4S!(^Y_9\] M(K!$VBJ.@I.6?3HR=G)+BWZK2LP [5R%[W&LZ80IKP-F]'F M+7%17J%/[N5#Y(:J%8J2<%AB:'!T@EI2Y>5>&D;F[D)=2(/7L^NF^!X"91UP M?BFEJ0V[0//"FOX&4$L#!!0 ( )*-9U<8N3RO1 0 /,. 9 >&PO M=V]R:W-H965TXTSL@F;,6LX- M[U(LY[Q2><;@4A!9%045CV>0\^W"2F0LAN4 M)"N R8PS(F"]L$[=D[-0RQN!?S+8RM8_T9ZL.+_3Q)_)PG*T09!#K#0"Q>$> M/D&>:R TX]\=IM4LJ17;_WOT+\9W]&5%)7SB^6V6J'1A119)8$VK7%WQ[5?8 M^6,,C'DNS9=L:]E)8)&XDHH7.V6TH,A8/=*'71Q:"I'SC(*W4_",W?5"QLIS MJNAR+OB6""V-:/K'N&JTT;B,Z4VY5@)G,]13R_/L/DN )9)0EI#/5+",;22Y M!$&N4RJ O+^AJQSDA[FM<#FM9,<[Z+,:VGL&>D:^UO/O$' :RC'Q'=&Q',\?P#/;WSW#9[_0M^/N5PC!L<1=06=R)+&L+"P1"2( M>["6[]ZX$^?C@+U!8V\PA+Z\QHI,JAP(7Y.8RI0DC0,ES1+"!>9CG*/ER3'3 M!\&/FWX+-7)OM:02&"FS#29T^.,1*LF:YUCD\H2\>Q-YCO_QE\=SXPXU]8OI M#>0*8BZ2^M]\+K5YIP6OF&HE[1=8B0I[#/&"46W='O$[%7%*?+?'/BU%EA,W M[+'WHS-V)JCZ2/IPWRH&^Y1L<_/''X"=5ALL;N+W9##%%10K=.0)Z%^QXGIB M&/>"W^_T>U(8RMU$W_=OE)E8N;6*?QSX$%*O)]8)J=\/:3 $JD/:7[4=4K\7 MTD&P74C[YAU"ZLUZ4TU(!ST?J-RPJ=SPYRN7%V6EZIQ&$H^4+#95E&1YI2 A ML&]$)9HFGVM$PPO>I$"4;MQDI<]=8DJ:*4D43KS BQM8715*@",,$H *>H. M#[K#/TW>5G=XGS'4Y95$CAP1>(A1N(5/30G+#^/?UCM^=;PQGK:/L)Z#>\$+ M'8B?D.N/)D F.(>_BZH ['=<_+X>^J/Q F]^&<.<@(;UE@31R V"-L,?.8'3 M8D31*(@F+<;,'86>\VIF/STJ&,?[T>O&[M9<^G#'Z3UNVP;J9):F6HY6V=/* M.A@;^B/?G[5)-W+;I#<-.Z07';S7E8O76P+K-=YW]8)X=8SO_M W5C1O2P6> MVWMI=^2XA_X?3J;-?S0[;&D8.B]Q=*")-,C!R \[KDV#J#WK3KNST^C5MK0_ M?A[8L?][/#,Y=8EG2Z6W\5Z4MG' MCD6[]1#!1K8QSRV)&8*]O7Z3--SF17=:/V0.XO5S$&\5FXQ)DL,:59WQ% \\ M43^Q:D+QTCQK5ESA(\G\IO@J!:$%<'[-N=H3>H'FG;O\#U!+ P04 " "2 MC6=7C IX&"X# #]" &0 'AL+W=O2MI2VTE2AL&M)X$67;Q\E-KHV%8V>V0]F_W]EI0\I* MQ">0BGWGN\?/.8]S&:^E>M Y@"%/!1=ZXN7&E"=!H-,<"JJ/9 D"5Y92%=2@ MJ5:!+A70S"45/(C#\#@H*!/>=.Q\MVHZEI7A3,"M(KHJ"JK^SH#+]<2+O*WC MCJUR8QW!=%S2%!?QDL-:M.;&5 M+*1\L,9E-O%"2P@XI,8B4!P>X1PXMT!(X\\&TVNVM(GM^1;]JZL=:UE0#>>2 M_V*9R2?>T",9+&G%S9UZEPJ\]F *FI:FJQSEN;N23)4&*XP MRH](AV+[C6+[;U6L?'$6G-$%X\RP_?>L&_>F4EV KA0%)=:)SU-:10(YE_AT M\?0S.].2LXS:U1GE5*1 YO9UJ-]#ROOU=0'IQAGY^\6V(ZVS-%45TF]7_:R/ MX/UA M<$75B@F-M2TQ-3P:H)Y4W6QKP\C2-;B%--@NW33'[Q-0-@#7EU*:K6$W:+YX MIO\ 4$L#!!0 ( )*-9U=SQ.%PT , +@. 9 >&PO=V]R:W-H965T MF) MLS&FOO$\O=A F6E7UE#ARDJJ,C-HJK6G:P79LG$J"X\S%GEEEE?.=-S,W:GI M6&Y-D5=PIXC>EF6F'F^AD+N)XSN'B?M\O3%VPIN.ZVP-,S"?ZCN%EM>Q+/,2 M*IW+BBA839RW_LVML/@&\#F'G3YY)G8GTZG"VD=3Y\/[#\W>\>]S#,-[V3Q6[XTFXF3.&0)JVQ;F'NY^P7V M^PDMWT(6NOE+=BU6('BQU4:6>V?,H,RK=LR^[M_#B4/"+CCPO0-O\FX#-5G^ MF)EL.E9R1Y1%(YM]:+;:>&-R>64/9684KN;H9Z;W4$MELGD!9 9K?-M&DQ\^ M6EN_'GL&(UB%D5?$;.168S[Z]4WG^;U&O(<8'_!7 M 9"RE1I8J>%IU@;*.:A&+7U'JYY3@S\[Y,@>P]\".HP?I4L82(V(U'>%%!K1^?A$\201,1=W88N^GH M"2J*?>IS=D1Q-QCU-OB2^#3D*15)1'S&7#8Z6^(8R.=)?^F?4E:%=^5_85T7 MED\3E% 7U;8P/LXGT8BH!$31UP3 ML"\P5%":8D+LJ-]4U;NVJAX6WP^7VO]@.1P4X)]2Y>%% M/Q?7QP\>4/_3=14T7!QI% H4Q;E'Q5'-(E. M0+X;#E3&.*!)&MI5<7:/0D%3%EMJ__O7Q']#+?RKJCL3TD% @Y.#E1%EQ84@ MZ?D7UQ>,QF&(TY=5Q:,(J]WQ@XN2X ,5,>(T1H$>[-1^E9^40SR<)+45[U28 M6 M90$/FH].QU@[]O^J==!,E)MOT3)HLY+8R;6/1S79MV=NV&SG"VY[N0Z;6 M>:5) 2MT96X<.D2U?5)K&%DWO&ULK93;CM,P$(9?Q3(2 @GJ-.D6MB21MBT(+G95;05UL#D M*<%S?%ZXK\O*N 62Q@TM80_F:[-3=D8&2EYS$+J6 BDH$GPS7VT6+MX'?*OA MI"_&R#DY2/G@)E_R! @]G6$#3#F0#:-'ST3#T7X3/_DO5LO M!ZIA(]GW.C=5@M]CE$-!6V;NY>DS]'ZN'"^33/LG.G6QT35&6:N-Y+W89L!K MT;WI8W\/%P++&1>$O2#\4[!\1A#U@L@;[3+SMK;4T#16\H24B[8T-_!WX]76 M32W<5]P;97=KJS/I'36M B0+M&ZUW=,:O=J"H373K]%;I*&TG\S$Q-BSG()D M/7?=<<-GN-?H5@I3:?11Y)"/Z#?3^GDX 2#6Y. T/#M=AY/$/30S% 5O4!B$ MT5A"T_(M9%8^]_)P(IUHN/C(\Z)_OOBQ2^X8BW&&J_"5;F@&";8EK$$= :YUK1,;6W M?KRT\W=$-$1T.9*+NN"@2M\N-,ID*TQ7(L/JT)%N?"&27^%=.[NEJJR%1@P* M*PUF[^RYJFL1W<3(QE?901I;LWY8V:X*R@78_4)*>U4M_0 , !D+ 9 >&PO=V]R:W-H965TUB]V&Q1MQNGQEI'!&52)6D[>S? M[Y!6M+;,&%X@>;%XF7.&U'09#Y#673EC[""O3W=BEQYO>E_"VT5F[*W! MWPQVZF!,3"0/0OPTDS_*J1>8 T$-A38,%#];F$%=&R(\QJ^.T^M=&N#A^)G] MJXT=8WF@"F:B_L%*74V]D4=*6---K>_%[G?HXDD-7R%J97_)KK,-/%)LE!9- M!\83-(SOO_2IT^$ D$0O *(.$%T*B#M ?"D@Z0#)I8"T ]C0_7WL5K@YU32? M2+$CTE@CFQE8]2T:]6+JHFO\3R&U2\ZWW=[W]$+ MOE?07I,XN")1$,4.^.P\? X%PD,+CQSP^>7>7?#%Y=[#8[B/.>@3$?6)B"Q? M_'\2X=)T3Y.X:E#C#.D>96\I* M D_X%Z7 RB-T!1)?*2E1'$*5 K=$RZ'-J%87!:&"U M<#@,X] M3MJ+DUXJCKD?5V2%-0J-B1RK]BOCE!>,UF0I%'NI=L][6'82+PXD M_LM*_,5*>T5F>ZE=E?QVU/.WHUZ\"?51>K,^O=E97]^$QN05-K/#LK>.Y: X M5"5VW%0&'H@4@BM1LY*:;?5\,>Q[;HW7V(\Y2R-SO!Y9F@Q?CU.S*!V-Q^&@ M.AQL<1Q$ [:%@RU(LR0>%(A_T%:8IO%/*A\95Z2&-0*#ZQO,GMPW8ON)%JWM M-!Z$QK[%#BOL74$: ]Q?"Z&?)Z9YZ;OA_%]02P,$% @ DHUG5P2&H:UW M P !@X !D !X;"]W;W)K&ULO5=K;]LV%/TK M%UHQM$ 6O?Q(,EM XBQH@:8PXG7[,.P#(UW;1"E2(VD[&?;C2TJ*+"4RNZ!& MOTBB=._A.>=2?$QV0GY1:T0-#SGC:NJMM2XN?%^E:\R).A4%$GDX*L<('Z8!DAPU1;"&)N6YPA8Q;)\/BG!O6:/FUB^_D)_:84;\3<$X4S MP?ZDF5Y/O3,/,ER2#=-W8O<>:T%#BY<*ILHK[.K8P(-TH[3(ZV3#(*>\NI.' MVHA60A0=2(CJA.C_)L1U0NF<7S$K95T339*)%#N0-MJ@V8?2FS+;J*']JXFM#T';CIS69JXI,=(!,#+>"Z[6"WWB& M64_^S)U_[LCWC3&-.]&3.U>1$W"!Q2G$P0E$013#Y\4UO'WSKH_7=\-TZ,5- M\>(2-SZ ^U2D$_@D-)K;1T&X L(SN*&<\)3R5;N ?WTT /!!8Z[^[JM.U=N@ MOS<[H5RH@J0X]0H[6.06O>3GG\)1\&N?)4<"ZQ@S:(P9N-"39FAJE'F?4F?Z M:Y6ZN83PB$0Z1 T;44,G4/-+RGU%EU+DH#K_99_<"GA4 MN)?9O$PXF_;8MP MAG3XCAJ^(R??!3$$SVU)*K!A2\WH@)IQHV;L5#,C:@V%%"EB MIBK?E_4HZU,S?D%@$#QS_&7((8YG#<>/&^0^='<^/:TL>:+[IG#X=?R.H8NVW=MHYRE5Y %%0 M,JLVW7CVAS44-H \WTIS""I&[:#YNB7? 502P,$% @ DHUG5^F223US! M'A\ !D !X;"]W;W)K&ULM9EM;^HV%,>_BI5) MTR;M-G$"+>T Z4(R;2\Z5>W=]MHD!XB:I]D&BG0__.PD#9@%%W;/WI3$\?D= M^_SCXYQZO"OYJU@#2/*69X68.&LIJP?7%?$:9G]E29R/7%&#DE@R3:9?"YWOT([H:'FQ64FZK]DU_;U'!)OA"SSUEB-($^+ MYI>]M8$X,O"#,P9^:^!?:A"T!L&IP>B,P: U&%SJ8=@:U%-WF[G7@0N99-,Q M+W>$Z]Z*IB_JZ-?6*EYIH5^4%\G5TU39R>F,B520. @H)*OE^T3FM6O@ M)"Z+6+7SYL$/(4B69N+'L2N5=\UPX];3K/'DG_$4D,>RD&M!HB*!I,<^M-O? M6^Q=->MNZO[[U&>^%?@"U0T)O)^([_E!&VO@/0.;7\[Q;9SPFO&D$G(;+/KV M01E1"[H7)JC!P1EP_XO1]SHTG$$_1R? !U&Q&"9.I5\]O@5G^OUW]-;[N4\" M3%B("8N08(88@TZ,@8T^_7V3+Y04:OG*LNI4%GUJ6$'7JH$)"QO8L(;I?6T[ MI=[8W1['&,F?$>-A%^/AA3&.609%PCC9 ^."I 79K=-X;<:>R'V5JI[9GJR@ M +4\0.?M--_D1%00I\L4$E(!UXM';<4:S&$+Q0;(UWK5]ZEG'>*UZF'"PN&_ MU3L1#\F=(=YM)]ZM5;SG)K)"A?;,CO:5?%'R22CLR\?JYEH!,&$A)BQ"@AE: MW75:W2'M+'>88F#"0DQ8A 0SQ!AU8HRL"^?)2%#FDN&I>.V3I2%2>I0+O)O! MX"0?S'N[#8/ [!;V=@M&_DEVZ7WSTJ6'5MD M0+0^J[WM?XHSN[^K%4&MB%KNHM!"5%F'13$D.!2_% MKWCMR*O%Z:UE*3VMC%&]1E@T,^R'0INB5-IVRM61[JFG3X.,Z3#"HC5!=H_. M^U3 5O5!JU#O[*:0S4E.U]H=YGZNCS!/VF?T84Y[VD-]^%N?+Q[PST)H! A1< !D !X;"]W;W)K&ULK9C;;MLX$(9?A= 6BP1HHY/C0]8VX$0M&J!!TWC3O::E ML45$$EV2LAM@'WZ'DB);MBS47=[8.G!^#C]QR!F.MUR\R!A D9]IDLF)%2NU MOK%M&<:04GG%UY#AFR47*55X*U:V7 N@46&4)K;G.'T[I2RSIN/BV:.8CGFN M$I;!HR R3U,J7F\AX=N)Y5IO#Y[8*E;Z@3T=K^D*YJ">UX\"[^Q:)6(I9)+Q MC A83JR9>Q.X0VU0M/C.8"OWKHD>RH+S%WUS'TTL1WL$"81*2U#\V\ =)(E6 M0C]^5*)6W:I5!KR!3#J7@$%!%IV/!MT3HUJBF+PJ8A34.GV7ZN\^5P+<,[=3T$V6"?*=) M#N0!J,P%X$=5DEP$H"A+Y"7Y0)[G ;EX=TG>$9:1OV.>2YI%BKQ%YX)F*)?F811 U[6WTNW;>>W/^UNL4G,/ZBOC.>^(YGM_BSUVW M>0 AFKN%N==B'G2;/U!Q19Q6\\9H_/I3^(5>[X3>;/[8QK332"\+-W)-0YA8 M&/<2Q :LZ9]_N'WGKS8@)L4"0V(-6+T:5J]0]T_ ^L+H@B5,,6B=B#V3T$R* M!8;$&M"N:VC7G3/L#L./92L,85;< Z#<\% M9E(L*,6N]Z:2[YV:2L,:Q+ ;A%0,\Q&(R%+OK9MB;^5+HF+0<^N7IUEG+^=2 M,RD6#,\(P%%-;=2]-,44N>@$HTGM%#&25!O *XER@2W(*U#1QG%TY.V'T9ZW M)9].Y\[E8TBLP=%U=@F=TTGR"<)<%$3^)=]RKB?BHV A2 UW5J39!%.7%\ L M#^L&MF9XG9V?.RV-J@6FU)K@]S)IMW,/*?&U M0G.-0C.I%IA2:T+S=M"\[KBG,B983I!07\"/G&'HZPJDE:-WM%ZC(P._?Q#- M5;O&"M4;]D=>LUW0[=OOCGV7[[O="?]^I,[9*F-+#$-X1@L%HVJ!*;4FN5VMX)HK%BJI_<#L M#P^#\KC-R+L^C$A#E4)SS+LJP.U,D1L1>9\IP#X4P6$#D5NZ/@C3KYC1"?+U M1*AZ[9%JM'@PJA:84FNRW]4/[N!WMT^C!811M<"46A/:KM9PNXN- 1NF$5. M1S6_5GS'^7K/.]XSCUNYGG\4GX8*B7*X]MZY90IB59S_2EQN\DR51YCUT_J, M>5:GH NN%$^+RQ@H+FJZ M ;Y?&PO=V]R:W-H965TFG6EJ!/A; M+_%,:I"4F^YN9]O>_4RQ''.+P0NX:6?NCS\!CK% 4>+9Y_:7Q,:\GQ>B)]++ M(RRN'_+B]W(K946^[]*LO!EMJVK_;CPNXZW<1>7;?"\S],E]?[Z%Y^DM67_<="O1N?*.MD)[,RR3-2R,W-Z):^$[Y?!S1[ M_"N1#^79:U*?RM<\_[U^<[>^&3GU$/XXP@=G7+6 M@>>O'^FL.7EU,E^C4J[R]-_)NMK>C.8CLI:;Z)!6O^4/0AY/:%+SXCPMFY_D MH=UWZHY(?"BK?'<,5D>P2[+V=_3]^(MVS9'TY9!5$7+ZR)_($6] MMZ+5+QI!--&J"9.LUNZGJE"?)BJN6M[&?QR2,JEU5)(K\O&#(%&V)NQ.D%>! MK*(D+5^K[5\^!>353Z_)3R3)R.=M?BC57N7UN%*'4(/&\3'=JDWG/I'.(S_G M6;4M29BMY=H0']KC%Y;XL3KUT_F[C^?_WK4";P_W;XE#WQ#7<5W3^=C#/\G] M6^(Y3;AG" ]>'F[*'OZY[,P>_L]#9@WG?^[@A3T\D+$*-_[EM9;T3DKV&I[W M B4;CN9]&^V;H^LAXEVYCV)Y,U)C0"F+;W*T_/O?Z-3YATD52%B A(5(&$/" M.!(F0#!-:?Y):;Z-OOQ%E11Q5&[)/DI,?=A[:_BE4D/" B0L;&'3!E;72-^6 M5PO/<:['W\XUA$S)ARG]V=SWYGI. SZ:37(P3(G&$+FSR3DR%SS6:]UD0?/#<FDUV@,F9,C80($T^2T M.,EI8953?='/B_RP)W=9;!*1-?Q2$2%A 1(6(F$,">-(F #!-*E1I_.;G#]U MF7X,!XD-2@N@M!!*8U :A]($BJ9+[LSBI/9:**^BE.P/1;R-2JE*H*Q,UK*( M:@T:)4@-5YDN77CZ:+*RI[U87$A:"*4Q*(U#:0)%T\7E=N)RK>+Z(,NR=8/: M,KNLBB1N*NUFV_'"WR@S=U#:7OD>G;A]F5D/X&*9(6DAE,:@- ZE"11-EUEG M;E.KH_F\YWB,URZ4W(7CT[Z:H-8UE!9":0Q*XU":0-%T-74&-O7_$H^20IUN M*"V TD(HC4%I'$H3*)HNSZ&(Y(6DAE,:@- ZE"11-EU-G\U.[S_^QD'6Y3^3WO;65!8D/ M1:$&1IO0Y@.A46?>M\17]D.X6&A05Q]*8U :A]($BJ8+K9L H,_, !3Y7A;5 MCS=DGT:UJI3.ZNIK7\\Q&<6U&(AK0N>NWQ<7U.R'TD(HC4%I'$H3*)I^@V7G M^+M6>W?YZ[[Q6K-[DLK:?WVZRSJ"M"YKZOG]L=&>[U)506DAE,:@- ZE"11- M5U5GZKMV4S^0&UG4=D45?;=)B@XDY=*9UW?%[,DNEA34RH?2&)3&H32!HNF2 MZJQ\UV[E_]I45FF>W5]5LMC95#6T[J?^=-H7%=2XA])"*(U!:1Q*$RB:+JK. MN'?MQOW)9=A'/UJ[5=5641P7!ZG9K$:9#3W]*^I,?'?65QK4U(?20BB-06D< M2A,HFJZTSM1WK[F)10>UX*(U!:1Q*$RB:+JK. MCG?M=OR'TVBXEE\K\BK)XO2PKHOY1P=BGQ?UC12OC5(;VO%7GD?[-U+8C^%B MI4'M>"B-06D<2A,HFJZTSHYW[7;\+WGV**F\=\5XUJ&](9E4.VP>Y6=4W="Q MOZ*NX_3="?L!72P[J&4/I3$HC4-I D739==9]J[=LN\7_<\-GD/[_FKF^Y.^ MM*#V/9060FD,2N-0FD#1=&EU]KUKM^_;^PZ3\WLMZL[+EK M>]Z+U07U[*$T!J5Q*$V@:+JZ.L_>M7OVMF]UN4-[WIU2SQG87E!_'DH+H30& MI7$H3:!H^M?F.W_>L_OS33=E4I$WM..-]T';^9>J"$H+H30&I7$H3:!HNHHZ M/]ZS^_%W65PTQ7J2U7?8O\B)L",OO7T02@N@M!!*8][P"PJN3_OWD'!H4H&B MZ?KJS'G/;LZOME%VWZAK?3;S\X2ND ;R"DH+H+002F/><%J#SN=#74']>11- MU]79JC%V?_[4;[U:R_;5ZUID]8I;CUAATM1DH+8#20BB->88)#DH- M&H,Z]2B:KK'.J?>>N7'^YJ7LFC7KJG7"]@F>W/O!5V\!DH+H+002F-0&H?2!(JF MB['S[KW6O?U_?T/2@R[ Z4%4%H(I3$HC4-I D73I=D9_Y[=^+][T47#8C" MS&:#BZR5/=7%@H). $!I#$KC4)I T?353+L) -\^ ?"EE)M#JGJTC?$+D,]$ MTPGY(:/"N!BT/?12>4%I(93&H#0.I0D439=7-S/@VV<&^G7=YR)2@VNT,XL- M.B4 I0506@BE,2B-0VD"1=/UU\T<^.Y?4LKYT%D%*"V TD(HC4%I'$H3*)HN MS6[RP7]N\N$%I=R1H2U(JHZ@7\K94UTL*.@$ I3&H#0.I0D431?4VS1M*CE"';)KG[+A^F0=_3"7=M!Y!"@MA-(8E,:A-(&BM7(;GSU'9B>+ M^^:90B5IOL#4/HCCM/7TW*+;YFD]O>TK^BZ@ANTA?3N;C$C1/G>H?5/E^^8I-E_SJLIWS^@/M_D>?7XIDYP M>OK3\G]02P,$% @ DHUG5RWV,DM'! 2Q@ !D !X;"]W;W)K&ULK5EK;]LV%/TK%UHQ)$ :O2Q;SFP#B:6M'=HA:-;M M,RU=VT0E424IV_WWHQZ1K5C18I1?8CUXSB7/H7AYF=F>\6]BBRCAD":9F!M; M*?,[TQ31%E,B;EF.F7JS9CPE4MWRC2ERCB2N0&EB.I8U-E-",V,QJYX]\L6, M%3*A&3YR$$6:$O[C 1.VGQNV\?S@"]UL9?G 7,QRLL$GE%_S1Z[NS)8EIBEF M@K(,.*[GQKU]%]I>":A:_$-Q+TZNH1S*BK%OY&Y898\PP4B6%$3]['") M25(RJ7Y\;TB--F8)/+U^9O^]&KP:S(H(7++D7QK+[=SP#8AQ38I$?F'[#]@, MJ.I@Q!)1_85]T]8R("J$9&D#5CU(:5;_DD,CQ G 'KT"G<-[X!F M\/>6%8)DL9B94O6DY#.C)NJRCNJ\$G4*GUDFMP+"+,:XBS?5"-IA.,_#>' & M"?\LLENP_!MP+,?IZ\\P_ GS6W"M"N[VP(.WP_NBA\/P ",%M_O@'3'#\$L]J,G&%5F9&7:+]U/7LF;F[E3<\U:C MB3]R_6ZS4%//.K)YK6S>X,Q]Y)A0MZ>SIU-* MG62!3K)0$UG'EW'KRWAP.O_!6+RG2=(G_R#R4OG'9W/4]R9C[^54UADS[(DY ML7WK^%UT))NTDDT&)3O/I'WB#7)<*IY.LD G6:B)K&.$WQKA_U0V]'5:H),L MT$D6:B+K6#!M+9C^7#:@ M O"0JQ),)4W)8(6J9(H+58JM$@155*I=>\12!$D.D!<\9P(%7*FM_ \D7%SW M.?,_H6VOQO:6 (/02_W2RA;J8NLZ=E)TV?KW.0VGII5**UN@E2W4Q=9UQSFZ MXPQ.ZK#/$6!KD%L$(@1* :3,*EPU404P))2L:*)2C&JFWAPIH?R==6\ MUT[G?#_NGZUYPUV]V":=;*$NMJY-QRK7'JS@--E4GF/1;*/R4TXEZ=WA-OWP M3IRR7>?<*JVEL%:V4!=;UZIC-6P/E\,?,TFR396&!CZ(T;G,5H_,.DOG0"M; MJ(NM*_.Q>K8'B\#!,JV!CCOJGN^QAB-7)HFB+?5*?5 B)6 M9+(^>&R?MB?B]]4Y\(OG2_LNJ,^UCS3U,?MGPCR*2-E#OUXS)YYLR0/O_@\5_4$L#!!0 ( )*-9U>P MT?^=V , )$4 9 >&PO=V]R:W-H965T(C\O%2GXSM.+ M+VQ_T.:%NUH4= \;T-^*M<22V["D+(-<,9$3";NE<^_?Q7Y@ %6+OQB<5.N9 MF*%LA?AN"A_3I>.9'@&'1!L*BG]'> #.#1/VXT=-ZC0Q#;#]_,3^H1H\#F9+ M%3P(_C=+]6'IS!V2PHZ67'\1IS^A'E!H^!+!5?5+3G5;SR%)J;3(:C#V(&/Y M^9\^UD*T /[D!4!0 X+7 L8U8/Q:P*0&3%X+"&M -73W//9*N(AJNEI(<2+2 MM$8V\U"I7Z%1+Y:;#V6C)=8RQ.G5??*C9(H9TQ3YC=SS+4A-R2:1Z/&:<5 W MY)-.R=L(-&5?OF'7E#6$Z^'D2I:)ZJA:NQ/X;53>K8[\^Q@Q=B M?Z9R1#S_A@1>$/3 'X;A&RA&9.Q5\'$//'I%]+'_(CP>AD>0-/!GG7?1@\:( MH#$BJ/C&+_"M)7"&!N-L): TPSD *=E1)LF1\A)Z]3U33OHIS1ISIPJ:P-+! M142!/(*S^O47?^K]WJ>V3;+()EELB:SCR[CQ93S$OOI#B/3$..^3?Q!YK?QG MLFE%9I;WXVH>SJ:AMW"/;6%MQHQ[8L[\N3=O8G8DFS22308EN]^L^]0:!%VK MEDVRR"99;(FLHWS8*!\.+B+MU;S/@M"F!3;)(IMDL26RC@73QH+IX,?_56C* M25'*Y(#G%Y*@$RP%28TG?99,+Z;@Q/>>3?J'P9#72FV3++9$UI%ZUD@]&Y0Z MIC+'LV^?JF=@V%)U'%RH.LA^K:HVR6)+9!U5YXVJ\V%5>PX?1.R(/E1?LV;Y M'G+]WQ_V_.+##N87%@QVY5H+;)+%EL@Z%MPV%MS:/PO>VES;;9)%-LEB2V0= M7WSO9[;D73TYU-/LH$J!5IC[XB8LL0EF180SNF4<=V1LAO5E!ND-V;%'4UTW MQU8FF<9Y11):,-P^>E.IP8Y=ZZ]5MJAFZ\SUZ?.Y'MN*V;6NE>CZ__L@/PR] M6ER;;%'-UCDA7"RDL:V877%_)J_^8 [6B$O@L8#$S \MR!9("FF9:+;E0'"G M@%[MK2:Q5MFBFLT/6N)[(R]\+K[5!-5MW>:8R[K/5.Y9K@B''=)[HQD>:^3Y M_NM>8&GC=Q<\H*9S$S.5RE@!#X+(*L^I^.<6,KZ; M.[ZSGWADZXW2$^YB5M(U/(%Z+A\$CMQ6)64Y%)+Q@@A8S9T;__K.#[6#L?B; MP4YVKHD.Y87S'WKP)9T[GB:"#)9*2U#\V<(=9)E60HZ?C:C3/E,[=J_WZI], M\!C,"Y5PQ[/O+%6;N1,[)(45K3+UR'>?H0DHTGI+GDGS37:-K>>09245SQMG M),A94?_2UR81'0?4L3L$C4/P7H>P<3"9N$;>KJ&IG;XFDGL9FN*:XFQ74*O'=>RI$N8 M.[@X2!!;0'L$B"EX%MF5F4([-0J]F,_LH/%+5@\^,9]-YL% MI(1N0>#F1Y QQX0VRQ_NGE+A6L>*];6-/#[GNW@FL5X>DC8/R6"!;JED2W+) M]I%?V:)-3GHC"K$$1W6R605!;*^3[QUV.V^0\)YEE2[4?S V*OW'3\?Q$:3= M;/H696=/]@?[Z2,5!3:+)"6(&M/:-XW*F1KG7&K]F(-#S,$[>R?E649%)WA[ MB6JYN+=H)\=+N\7*'T7C-PITV&']P2VMUT;OQ UMN-$Q[JD5X@9'N&[GN)># M6)M3L,1%IRI4??)K9]N3]HTY7[H'\_J8_I6*-<.37P8K=/5&4^QE49]\ZX'B MI3D\OG"%1U%SN<%_"R"T =Y?<:[V _V ]O_'XE]02P,$% @ DHUG5ZI\ M&ULK991;YLP M$,>_BL6JJ9760" A79<@M>FF[:%2U*C;LP,'6#4VLTW2[=/O#(21CJ:=MI=@ MF_O?W>^,?9GOI'K0.8 ACP47>N'DQI27KJOC' JJ1[($@6]2J0IJ<*HR5Y<* M:%*+"N[ZGA>Z!67"B>;UVDI%P M!5$!.24_$RH@MU*87)./(H%D0+\\KG]_1.\B=L?N[]FO_:,.UU".2."]([[G!^1^ M?4-.3\Z&\OIG-P?I!=W6!+7?X/C6#!6Z$4Z&A?;@7^J2QK!P\&1K4%MPHK=O MQJ'W88CN/SD[8)QTC)-CWI'1WC1,9*0<_OR&Z!N78>W2WE+;:.IYWMS=]JE> M,#K(=MIE.WTAV^:P*(AE)MA/2$BJ9/%<[D3C4Z<,S?#@8/6V3%;:6C.9#)(U MX<=>/^O1Q1.RQFC:LYD-8X4=5G@4ZZJ0E3!$IB3& Z;P9B6%3%C*XI:#B9A7 M28-A#2COSV;LX'J MA9-1^*0L;J\!%*"RNB]J)$7ZIA=TJUWKO:H[COO;O.G;MU1E#,O!(46I-YKA MAZ::7MA,C"SK=K*1!IM3/&UL MS59;;],P%/XK5I 02%MSZ76EC;1N('B8J%HN#X@'-SE-K<5VL)VV('X\MI-Z MG91E:-H8+XEOYSO?=WQ.C(!CX%!/FQ1.[-A?QA)H>%!S,#(&]L07 CMY M-$9&RHKS:S/YD$Z]P#""'!)E(+!^;>$"\MP@:1X_:E#/^32&Q^,#^CLK7HM9 M80D7//]*4K69>B,/I;#&9:X6?/<>:D%]@Y?P7-HGVM5G P\EI52N-]'8@C XW3;!#5!C80?N7(LKS$"L<3P7=(F-,:S0RL5&NMR1%F;F6IA-XE MVD[%"]@"*P&=HCD(>\DL <17.@,,DE>E4/7D]\I5T; #^IW,\)[UGT M[CT) =5RJIJHME[ II]1[/_C^ZG25F[[S!"U&9OBXZ!TS%HQ=*D$V!*?_ , M+^'$%(W5=W0K'*U GT]XQL@OO4"8L2$\;=)3<0BKHCZTOBTI$WB6DD^, U'+@2CQZJ6T1/0/',TSYZQ6MI]_TVU MA,'-[RGX?W(.[^_*N7:6#[S-\.@G'3Y6VM5(C\PTNF$:/6/FW>,\'+6DGG_4 M)%$0F6T%)4IXR535+[E5UVZ>5TW6S?&J5[W"(B.Z-4 MN)GC @ 40@ !D !X;"]W;W)K&ULK99M;]HP M$,>_BI554Y&VYCFA'41J8=/ZHE(%Z_;:) >)FMB9;:#]]CL[D%$(V2;M#=C. M_>]^=\%WC+9V+=,<*BJO> T,GRRYJ*C"K5C9LA9 M,R.J2MMSG,BN:,&L9&3.'D4RXFM5%@P>!9'KJJ+B]0Y*OAU;KK4_F!6K7.D# M.QG5= 5S4$_UH\"=W7K)B@J8+#@C I9CZ]:]F0RUO3'X7L!6'JR)SF3!^;/> MW&=CR]% 4$*JM >*7QN80%EJ1XCQ<^?3:D-JX>%Z[_V+R1US65 )$U[^*#*5 MCZVA13)8TG6I9GS[%7;YA-I?RDMI/LFVL8TP8KJ6BE<[,>ZK@C7?]&57AP,! M^ND6>#N!=RP(S@C\G< WB39D)JTI5309";XE0ENC-[TPM3%JS*9@^BW.E<"G M!>I4,H,-L#60CV3"F1)854*E!"7)Y104+4HYP&=/\RFYO!B0"U(P\BWG:TE9 M)D>V0@+MQTYWT>Z::-Z9:-?D :/DDGQF&61O]3:2M_C>'O_.ZW4XA_J*^,X' MXCF>W\$SZ9=/(46Y:^1>#X[?5M,W_OS^:G85IA$&W4)]5V]D35,86W@9)8@- M6,G[=V[D?.K*ZC\Y>Y-CT.88]'E/GMBB*$O(\ Z?3;;Q$!D/NH]LDM )'0=+ MO#E,X]0L\)S0=5NS-X!A"QCV LY 5--ETFAV-!%V0G9> D/HGO.,/3](\A3 M,S<.W."Z&S)J(:->R/:V82<"4= 2+QSCBKQBXRZ85%27>-"%'9WP^([ON$?4 MIU:>&T9!-W3<0L=_!]VTB"ZZ^"1N'/A#/SK"BT_>?.1&GG>&;]CR#7OY[EF* MDTP"N\/]Z[^R#KEV!6)EA)I%VS533P-O3 M=E[>FC%A_S9OANT#%2O\U9 2EBAUKF)\ :(98,U&\=K,@ 57.%',,L>9#T(; MX/,EYVJ_T0':?Q')+U!+ P04 " "2C6=7-);.PNH" "=" &0 'AL M+W=OM#I:I9MV<';H)58S/;).U^_6R3L#10M$U[ =O<<^XYUYC+=,?%HRP %'HJ M*9,SIU"JNG1=F1508GG!*V#ZR9J+$BL]%1M75@)P;D$E=7W/B]P2$^:D4[MV M)](IKQ4E#.X$DG598O%\#93O9L[(.2SN90FGSF>$004,F48L+YM80Z4 M&B(MX\>>TVE3&N#Q^,#^V7K77E98PIS3[R17Q$F5U<*J&?$HU3Z3UL@=6 /J Y9TKHJB)* M\(I0H@A(=+X A0F5[W3 PW*!SL_>H3-$&/I:\%IBELNIJ[0,0^9F^Y3734K_ ME903=*M3%1)]8CGD+_&NEM]Z\ \>KOU!PB54%RCPWB/?\X,>/?-A^ (R#1]9 MN#\@)VA+&EB^8+BD?85I@.-^H#FPE[+"&_ ]0F,.KF#)(ZC4XE1MXYQ.!G'_2+C5F0\*/*&9;HY2#!G/OM#P7%'\&@T M2KS3C1],_(_O;]+:2@9M'3Y[ C*^8>2G?E,(RVB=VT'7Z3/""JU@0Q@C;(/X M&E4@",_[["?=C?"3H&-_4.#?VG>/.D )8F,;H]0^:J::9M"NMKWWRK8<]W=X MT[AOL= V):*PUE#O(M8;*9IFV$P4KVP_67&ENY,=%OK_ 80)T,_7G*O#Q"1H M_TC27U!+ P04 " "2C6=7__,R09D( #43 &0 'AL+W=O+QZ8Y7"V7]>91[[/Z;7G01?O-?5GMLZ9]6STLZT.ELVW?:+];$H3$ M^;1YO%G(1;?5]]K1K/I4OO^I3A_H=W)2[NO\_>CEIT2+:/-5- MN3\U;O=@GQ?'O]F7TX$8-6@Y_@;DU("X#=A, WIJ0%^[!79JP%Z[!7YJT'=] M>>Q[?^#2K,E6UU7Y$E6=NJ5U+_JCW[=NCU=>= /EMJG:;_.V7;/ZI)]U\:2C MGZ,TK[.'ATH_9'T$R_MV'!R_N_MZVA-=1'W>-S.P:C3ZT MVWBL(U5L]=;3/@VW3P+ME^UA&HX5^7:LWI,@\%8?WD84_1011*AG?]:O;TY\ MW?G?MJXNWKIU,.@P<&C/HS.\Z7 Y#25?H(\HYD=UN?"J/F0;?;-HDUVMJV>] M6/WS'UB@?_F.,B0LA80I()@5#S;$@X7HJ\#1/S84?'L; M;'SN6(.$I9 P!02S(B"&" BXN2\@XP$)2R%A"@AFQ2,>XA%?.O>/#?EH#@I& M"&?.U)_*6"(%H\[,G\JPI)(3)Y,HCXX@*O',S)=#/V6PGY^+O)F?^,&VYPXT M2%@*"5- ,"L R1" !&[B)Y#Q@(2ED# %!+/B@9$Y?4>73OU3R_$LY#'CV)W[ M/AU+8L2=R>_181[',7/.#Y1/2$E"1>R?_GAD5G"PM^NR;EI;DN_OGJHZN]OY M^QUDG#OP0&DI*$U!T>QH$!,- I<-3BRHJ$#24E":@J+943&^# =M1C CT,G$ MI)C$6+H98:HCE,<2N1EAJHLEG1@+Y=%Q+HFD,_G >!X<-CT?;M]Y^QEL=?98 M@Z2EH#0%1;./OW%BF -F %!G!DI+06D*BF9'Q;@S'#0;P0P@IC-1,N2>P*\] M.H%:9>QF@*FN.R<@"793@$?8GHO0!,WD .-]<-C\_%X6/\_E@6#+LT<<)"T% MI2DHFAT#X\NP!,P#H$8-E):"TA04S8Z*,6LXZ#V">2"93,>$<>9>PEM[=")N M?[FQFP>F.B((82)Q\\!4B 5#*)ZY-$",$R)A)_2YR7=YDVOO2D.X[;EC#I26 M@M(4%,V.@G%H!,-E @+JU$!I*2A-0='LJ!BG1H*>(Y0)3BWM*X1,4&?BKGTZ M3!%R%P<\.BPQC85[E< G9"R6?.8J 3$.B(0=T) )HO]$WUDL")/.'H&@2U.@ M- 5%LV-BG!IA@'D!U+^!TE)0FH*BV5$Q_HV$E])",>#3Z8D$$;&;%Z8Z+@4B M;EJ8RDB"*''7#'V;)31F9"8I&%-$PJ9HG!3"ZPAAT-FC#W3)"I2FH&AV2(QS M(S%@3@#U@=)24)J"HME1,?:.AA?@0C' OE4_Y$[ZM4_'V^3@GC%X=#0AS.4IGXYR M0:4_-U!CFFC8-(USP\P%QC#A['$'NJ@%2E-0-#L6HV)#R&I#V')#V'I#V(+# M_X>IH\;4T8MK#D\M+5N .$78S08>'6Y/*=S*(X\.4\X$(VXZ\ @)$7RN]H@: MLT3#9FF<#P*+#F'*V:,/=)D+E*:@:'8\C*.C@%6(%-34@=)24)J"HME1,::. M7ER+2#UE@32AU+4/'ETB!'/KD3PRQA,\*4;TZ C!E(F9A&"<$@T[)57HZN&K MMZ>@2UR@M!24IJ!H=@B,?Z. !8D4U+N!TE)0FH*BV7F'AVADB>)>U[@$6+!J!CY";NWQA.QL"<. M/U!:"DI34#0[(,:X,<"Z1 9JX4!I*2A-0='LJ!@+QRZN2V2>^D#*$SE)"E,= M8P@QMQK!H\.<28+<4P.?$$F$1F4+=F]'=V.%K=&0%,)K#6'*V:,/=*4+E*:@ M:'8\C'EC@)6*#-3"@=)24)J"HME1,1:.75RIR#P%@T)B-KEIT5>!2+A[H2'U MZ!@3\>1RHD='&9)S=8K,&",6-D9#1GC5.D,8=O80!%WN J4I*)H=%F/B&&#I M(@/U=:"T%)2FH&AV5(RO8Q>7+C)/!:%$\>2V)H^N*RZ:W,P\E=&D/0F8^ =/ MA2,AXZL2]LW,QBSQL%D:\L+,]<1P\[-O: 9=VP*E*2B:'0CCXSA@Z2('-7.@ MM!24IJ!H=E2,F>,7ER[R:05A+&/B7"=<>V0R8=(M1O#(^@GN5C![=4S&,Y:! M&X/$PP9I2 2!Q84PXNQA![JT!4I34#0[&,:_< M_'%QO>*IY?AI(Q()3(B;#:8Z+KL51S<=3'6DE5'WF0C*(\0,6WGHV-OEZ"E- M^W:J]X_'JJ--^50TQ^?N#)\.C^!ZUS]XROG\/;Y:8\_G*;Y2QP=L&?SQ>5\? MLNHA+^IHI^_;3:&W<;O/U?$16L]?/NILJZM.T'Y_7Y;- MMS?=!H8'F:W^"U!+ P04 " "2C6=7]!^_)B0# "["P &0 'AL+W=O M;R'5@YX &/24<:'[ MWL28Z8GOZV0"&=7'<@K"[HRDRJBQ4S7V]50!37-0QGT2!)&?42:\02]?NU:# MGIP9S@1<*Z1G64;5\Q"X7/0][+TLW+#QQ+@%?]";TC'<@KF;7BL[\RN6E&4@ M-),"*1CUO5-\,L21 ^0G?C-8Z)4QRB%$9UQ0Z_T6+XFQD#RYJCK;BF'"W O38]0*#A$)2 O=W9ZC_;V#!MY6%9Q6SMMZ)SAU+A;( M=CW2O:43/:4)]#W[6#2H.7B#KU]P%'QKT-6N=+6;V"M=AV@(8R8$$V,TI)R* M!.JD%F113N9>Z7P0=W T#M6EB)&*I';$1HRY[ M:)$]-'F<,05IGES<;C'.# /M]F?9ZZLOQ!9&PQ6Q1[B-PPUBHTIL])\1LSGW M3KBB-PKBL!.%0;V"3J6@TZC@SI3.UYELA&Z93'$E+-XZR>,/T-6M='5WF>3= M-[?6P1&)V_6WAH-E?0P^(\U+J^MY3F)"-NA=J>=X9YE>4JT%+6BUHTTBR%($ M:11Q(4"-GVM--@*W3"F\+.AX^XJ./Z*DXV5-QSLMZB7;ZMWA, S)IH1?EG7\ M*74=UQ7V5BO:('=9V/'N*GM)%:W%K(WCUW\N_DH_E=E,SKM&C1(Y$Z9HK:K5 MJC,]+?JQY?&BK;VBREZF1AQ&%AH<=VP 5-$I%A,CIWEW=B^-[?7RX<1VUZ#< M ;L_DM*\3)R!JE\?_ -02P,$% @ DHUG5UZ@.'67! (1T !D !X M;"]W;W)K&ULK5E=A!,/LTD3LP^49KNLCP'N$S!YU+@* MMO<1$3C+^0?Y]/M#!-Z_^P#>@:P$W]9TRR4/G]A"#JT2L!?M,.Z:8: SPW#! M%UJ*-0=QF9)4@8_T^+$&;TM+.E_0BR]W2$OX0#;7P'4^ N0@5S&>^7 X4KW. MV]3CMZDG>GA$%A(.5? C+]UNCKDUGWN&[V *X7H*J>9'0^&I*:KU]89O\(), M+;F B#7[\P\8.'^I@F.2+#))%ILD2PR1'075ZX+JZ=AGGQCE',PQ8[^R M<@5N"[HMA2JP#4U0TU3[W-/,=;W0"R?VTV'(M&J7AFR89FQ2,WE5\\AFO[/9 MU]I\NUALBVV.!4DKCYG(_L/5EJQRNF'R#T9P!1TX'OL]J[6*EUH]4#0V*9HH M1$>^&P1JKX/.ZT#K]8$T*5,(0;L$^')D'R91?>,#T_^%X.PWRDZ98)! MT.\5GU)!=]3OE6A?^#=7XE%GYTAKYS>&4U+B@BC]TF(OW5=-DD4FR6*39(DA MLJ-HCKMHCM^>+(U-!M4D6622+#9)EA@B.PHJ=/9EEF,F76IY#IJQD95$Y6J/PY]_XSA^YH>ZHOZ"Y* TY(: MH5'@C?IV&RJJ6[N'J<9&51.5JH=@B'IVVPM7;G M>;?U*5:O_0[>S*&B/8(W<7-:MZ=O#@^_8+;*2@YRLI12SG4HYP9KSN.:&T$W M]?G1(Q4R^Z@OUP2GA%4=Y/,EI>+EIA+H3D5G_P-02P,$% @ DHUG5_O0 M(=#D @ O D !D !X;"]W;W)K&ULK99=;]HP M&(7_BI554RMUS7<"'43J8-UZ,:DJ[79MR NQFMB9;0C;KY_MI!F%-$QH-\2. M?8Z?\P;'&56,/XL,0*)MD5,QMC(IRVO;%HL,"BRN6 E4C2P9+[!47;ZR1C+4\\V$[P0JL=-&.LF%U Y8738P@3S71@KC9^-IM4MJX6[[Q?W69%=9YEC A.4_2"JS ML36P4 I+O,[E ZN^0I,GU'X+E@OSBZIFKF.AQ5I(5C1B15 06E_QMJG#CL - MWA!XC<#[5X'?"'P3M"8SL:98XF3$686XGJW<=,/4QJA5&D+U4YQ)KD:)TLGD M"V-I1?(<89JB.RHQ79%Y#NA&") "?4"W:[GFJE\P+LEO;&I_/@6)22XNU/C3 M;(K.SR[0&2(4/69L+923&-E2P>DE[$4#\JD&\=X F4%YA7SG$GF.YW?()_WR M*2R4W#5R[[7<5B5IZ^*U=?&,G_^&WVY M)_KIH',.^@5!Z H)LD4%HS(3%UVY:[/(F.D7RB8)/2<8V9O=/+TKGI@G:/,$ MQ_($7>"U*MP!=X>QX^Z1]WJ?2!ZVY.$Q\K"+/#PDCZ-HG[S7^T3RJ"6/CI%' M7>31(7GD!OODO=XGDL7R,/.XBCP_)P^C@?][K?2+YH"4?])(_9J .^:4$ MWL4_Z. ?! >E[UWBQ ##-L"P-\#=_FOV$E&076&&!^\ MH,:7C,F7CC[!VP^VY ]02P,$% @ DHUG5S^"F"HY P ,@H !D !X M;"]W;W)K&ULK59K;],P%/TK5I@02+"\FM=H(T$G M!!*(:>/QV4UO6VM.'&QG7?\]UTD6^O#")/:EM9U[CL\]UZ_I5LA;M0'0Y+[D ME9HY&ZWK"]=5Q09*JLY%#15^60E94HU=N795+8$N6U#)W<#S8K>DK'+R:3MV M)?.I:#1G%5Q)HIJRI'+W ;C8SAS?>1BX9NN--@-N/JWI&FY _ZBO)/;<@67) M2J@4$Q61L)HY[_V+N>\90!OQD\%6[;6)264AQ*WI?%[.',\H @Z%-A04_^Y@ M#IP;)M3QNR=UACD-<+_]P/ZQ31Z365 %<\%_L:7>S)S4(4M8T8;K:[']!'U" MD>$K!%?M+]EVL4GLD*)16I0]&!64K.K^Z7UOQ![ GSP""'I \%1 V /"-M%. M69O6)=4TGTJQ)=)$(YMIM-ZT:,R&5::,-UKB5X8XG;\O"M%46I$KNJ,+#H16 M2X*#LH$E^<+H@G&F&2CRZA(T95R])F_)CYM+\NKL-3DCK"+?-Z)1B%)35Z,@ M0^L6_>0?NLF#1R:_@?J0=._O*%'WOO;&D_$]F!">%@0CC&GE^# MAJK;867G!JL*WBS1 F9V76]1W5EDLZ+CCUM^=[4O=O/T1+E1WM1 M!^(G@_C)ORK8%HN/%VORG,5Z)K*#?*,AWVBT6+A0I>"\7:@2.-68.Y0U%SL MLH *5DQ;'>AHHSWW_8F7),=%LH1A7!3:JQ0/JN-1U?-&2EQC!.\B236KUH0# MGL1#U78VQ?&)E#0+]I1T@D^CDB"*([O>9-";C.NEJJ%<[W #J$;2J@#2E]+J M;7)J6IIFQ]9:HK(L?$1I.BA-QY4*60OT%,RF%2403>_Q[#;+0^@-R*YO$YV> MR FS],3>TR@_#OQ'ED,VB,Y&17\SRFR:LE--09H<:SJ-"D(O\>V:?._OO>B- MJOHN-.7FO'O*@=)SQ0=2_3C,CK1:XH))E(;)D5IW[T(WKZFO5*YQ\>$^62'0 M.T\P7=D]4+J.%G5[QR^$QA=#V]S@HPZD"<#O*R'T0\<\&X9G8OX'4$L#!!0 M ( )*-9U<*&;%5T , *01 9 >&PO=V]R:W-H965TVZ?7;)26(-;&8[R79_ M_;6!04APEP?'R%AYX/RG.?EG.7,\HPARR)2A(/IO!PO(<\.D=?QJ2)UV3 ,\ M//[+_KDRK\T\$ D+GO^@2[69.8F#EK BVUS=\OT7: R%AB_CN:Q^T;Z.#4,' M95NI>-& M8*"LOJ?_&XFX@" )X\ _ ;@/Q<0-("@,EHKJVQ=$T7F4\'W2)AH MS68.JKFIT-H-9689[Y30=ZG&J?E"P)(J]%$(PM:@UT=)]/8:%*&Y?(^MT<8R^,XG3J M[@X=V.)"' =A&]<3-VG%30;%W3-2<*'H?["L)"(JY9:P#%#&I7UA:L+P0,E% ME/KQD5Y+5.(G@5UMV*H-GSF5[Q$#ZWR&)^-B+TWBT#_29XG#DV!R$-=3&+4* MHT&%_X*45_K5(83.:U2:J>7,IC.RS$_H!\&13$M8G. @MJN,6Y7QL$K.UA<* M1-'-)>*KY\B.+=.+@Q ?IZLM+@H#_$BZ)JWP9#@!C.:<$ZNV0>BY;XR1R'HN MT]9E^O+W8SJFVY'(>FZQUU5![P5OR 9\F$M)&I\^T9:X- APDMA3#A\4:3PH M[Q9V/-]1MD99O3 KDM&^XJ]7X M)<6Z ?=>:[IE][SC5+3$>;VXOKRN6N/AF9'8^M:[TH_#$7)QL'\XV_%(;'W'72N!AWN))W+QM#6($B\Y+L26L#3Q MHLDCF=AU$'BXA?BJ>X2UWFH.9-\@P=EK,1);WV[7=^!DA.P;M0,9BZWON.M! M\?RK[TM/]2)H$R7'VG8;YWN1D&^ >;*'-]XNO1*PIDRB'E<9YE[%.7U%_ M$JA/%"^K7?4#5WJ/7AUN@"Q!F !]?\5U5C8G9J/>?IB9_P]02P,$% @ MDHUG5PNP6+8-!P XC\ !D !X;"]W;W)K&UL MK9MKC]HX%(;_BL56JU;J#(G#=78&:8913E M)'4?_U30SCYG'GCX>D?WB\:KQCPSP:=I]"V#567O'WSCKPA84*^K-*-8,E>][(]9LQN\ZJGL5/-ORSN3WW^R!]4=3;9$P%PGSD# ?"0M M,$TAO;U">B;ZY%LQ// Y85N>J>%.=2:2JS22J#Z'D[=,$$;6/)LI];QK4H\1 MWU8])VA2I!WX"%A_IGF4+T! 2BG5O_^OOY] M8_T?V8]RG%$SD2A-EE>J^K&:/CS+IF(;66V+7<(&!Q_.U6!@]?M'Y6VX;#@< M]H]4X"%OS4?" A!,*^]@7]Z!L;SW2]7U+_-O\CH+DUFX9A%A<;I)&LMK9+4M M;PGK']3-ML:C8?](_2XRJ8>$^8,3Y=EVS^D=MR )=4*/-P7>&@L\-=$E3.3 MX;^J"\^_M2048L.2&2>S5#2/]T9@VRH/3ZI\-1C3X5&-D2D]),QON/\1'3E' M%0:EU"H\VE=X9*SP!VU %B]LW514(Z-M49$P%PGSD# ?"0M ,$TBX[U$QK\^ MS1\C%8*$N4B8AX3Y2%@ @FD*L:W:6K",W;U/!_?W;X-Q/:2J2B'7:M M3C%_/QH;H%D]*,VO:-H4@-K#XS8$J*QZ;0]L(]M8V^/O_W5C=8V,UM5%TEPH MS8/2?"@M0-%TI=!:*?371XJ*@5(*DN9":1Z4YD-I 8JF*Z5V#FVC[31Y+#V? MW!)*%V16ZH;M=/.>R)7*NDJC.^?0_LG/CZDY:6LQ0-U,*,V'T@(431=#;7O: M9M_S82<"0=*-%)(E3:B.46K\^X:10*Q1*0FDNE.9!:3Z4%J!H MNE)JPY2:#=,+EF7-A-8Z@=JD4)I7T33/IF')V(=F#1JRV@-M"-=K6UN;U/QL MI17-[FF+0E;/&O>/:P^U-'=YCQ[1 MI:/QF>+7;B4UNY4/3(2"E%N2\H=KMRP+"YOBTMI#'\:L:"?MI,=/VT+3>E": M#Z4%*)JNC]K I&8#4YD-I 8JF;P*L+4_'_.SGY8ME9E#;OL,Y?7S2&8Y.%D>@23THS8?2 A2M MU$'W8*>QFDLLBTWD@LSR'Y+E=MW]V?U&]?MB>_;1^:E]XY;;S6M,N?O](\N6 M82+4%&6AD-;U4,V7LW)#>7D@TW6QG_DYE3*-BY/E67Z!>G^1IG)WD"?8 M;^N?_ ]02P,$% @ DHUG5^&ULM55M:]LP$/XKPBNCA2UV[+RU ACR7'"AY][6F/+* M]W6ZA8+J@2Q!X,E&JH(:-%7NZU(!S5Q0P?TP""9^09GPDMCMW:LDECO#F8![ M1?2N**AZ60*7A[DW](X;#RS?&KOA)W%) M8GBUO+3^SN$'@X-NK8G-9"WEDS6^9G,OL(* 0VHL L7/'E; N05"&;]J3*^A MM('M]1']QN6.N:RIAI7D/UEFMG-OYI$,-G3'S8,\W$*=S]CBI9)K]TL.E>\T M]$BZTT86=3 J*)BHOO2YKD,K(#P5$-8!H=-=$3F5U]30)%;R0)3U1C2[<*FZ M:!3'A+V41Z/PE&&<258*,F;(0BDJ)/MWN-(E36'N8;]K4'OPDH\?AI/@2X_. MJ-$9.?3HC<+G"JJR=PF,WD'@J!$XZBWD'7UFQ:X@:ZDPDHFVEQJ&#(T40#L: 0OX-25W/=+'W0OUCH\P: MH;/_[^39.PB\; 1>]E;RV^L*OG67%=PP:E_F8/KJ.OW6T+7OUQU5.1,:[VN# M4>B/O:"J-Z$RC"S='%Y+@U/=+;?XC(*R#GB^D=(<#3O:FX5 P (!4 !D !X;"]W;W)K&ULK9AM;YLP$,>_BL6JJ96F\)3'+D%J"M4ZJ5/5J-MK!RX)*F!F.TDG[[\_W-!7NZ)_2-;0 X>D^3C,V,#>?YK6FR< ,I9CV20R:> MK A-,1=-NC993@%'A5&:F(YE#3&:)&=R3Y%<<\)OR%[+]!-:&!Y(4D8<4OVI=C!XZ!PBWC M)*V,101IG)57_%XEHF'@NF<,G,K ^6#@G//@5@;NI0;]RJ!_J<&@,BBF;I9S M+Q+G8XZ]*25[1.5H09,W1?8+:Y&O.),+9<&I>!H+.^[Y0.,=EF*AQXQQNA6+ M@#-T[0/'<<)NT!6*,_04)XF0E4U-+GQ*2S.L^/.2[YSA3] 3R?B&H2"+(&K; MFR+6.F#G$/#<40(7D/>0:WU!CN6XZ'7AH^NK&Q'C(?83(=ZKB=]Q)HAVFW@" MXZLQ/H0UQE%@@@OF9[L28X]/8UIY&]_F3/;2^GDJ]3IBO$Q9H@K7$Z-=B]%5T[\YR?RJZ2T?4]T GS=<("3;"6$,-:B*&FHC34*89.F*\3%FB" MM<08U6*,U$6)R$\WG*"[E&Q/%YP2,&P4'-?Z6'*43KHFMX39;L.C[=B]4=MG MH,EG*VWC.FWCCL5$U.V'F(H>O*8 YXJWDMIU1>N$^3IA@2982YI)+ M'B?03EYCGV9W+S,+"$D6J>N,FMMU;6NE^5II@2Y:6R'GJ)"CJ=I4(%V2Z*3Y M6FF!+EI;DN.>UU;NXBZJ..X%WS27#/+5L73.G-;]J=DX(4J!KHNC.89"F97R ML*CNK8__[HI#+_,XO#P[?,)T+;:E*(&5,+5Z([&!H.5Q7-G@)"_.FY:$F@/A3U_@%02P,$% @ DHUG5Y ;0N[^ P '!, M !D !X;"]W;W)K&ULM5A=CZ,V%/TK%EU5&2D= M""3DHTFDF0#M2+O;:--M'ZH^>, ):,%F;2>9]M?OM6%H/AB4=,E+@LT]Q]?W MW&ML3_>,?Q$Q(1*]9"D5,R.6,I^8I@ACDF%QSW)"X1I&P_,WK&:\>G9!-+U6'. MISG>D!61G_,EAY99L41)1JA(&$68RS,69,'2/Y-( MQC-C9*"(K/$VE9_8_E=2SF>@^$*6"OV+]J6M9:!P*R3+2C!XD"6T^, _J6 00D8G +L-P!N"7!U[(M@Z4A[6.+YE+,] MXLH:V-2#EDNC(< )58FUDAS>)H"35NNB)"LFWD#12H)_0P8N04D3A)Q1W8/U%).!$2<2P)$GN<0^?GE8.587V9;MU/BSN!QNUTWG^T;WOV_TH!GND1#@O3KX42R=*@4=S>=J[U,3J3W$;MZSG<'4 MW-6H-JA4&URJVH-2K8L6A6A=M)*PN*OR1&R-@H1B&B8X14LF$KU/^,M_D6K3 M\9P26&JAD.%C /U_U\G=[,22DQPG$?)?8 LEB/[T_"9CP@N?1.54G?B-U->* M?SL__3;]#&[BYU$"N54"N=>6/66TH?+=LRSNVXY;97$A:N.8UXIZR8A^FR,& M+9$="3*L!!E>6=$?*SW:+>IF/XX3[F-33BP:F:Z5NS6W_#;="MIPZR@A1E5" MC!JI'S*V+?3N;.#P>8=2)@2<$T.VHU0EC:I?4ENXH_//CV,-3PKW MW&@TZ!_;>.Q*JX].97]U]3;LWN5$>RDKE3+OYW.IM8KIGI!EJUZBYN MRN[=E-V_*7O0R'YMDID'IW=0>Z/O6029-&K MZ?=Z$[^XJ?F/OK@W^H#Y!@[T*"5K&,JZ'\(F@A=W,45#LES?'3PS*5FF'V." M86E0!O!^S9A\;:@!J@NQ^3=02P,$% @ DHUG5W7I XO# @ @0@ !D M !X;"]W;W)K&ULM59;;],P%/XK5I#0D%!SZX6- M--+:#;&'2=/*X-E+3AHS7X+MM-V_G^VDH1U9& A>$E_.]_E\Q_8Y3K9"/J@2 M0*,=HUS-O5+KZLSW558"PVHD*N!FIA"286VZP GU7W4C3\SN6 MG##@B@B.)!1S[SP\6\ZLO3/X2F"K#MK(*KD7XL%VKO*Y%UB'@$*F+0,VOPTL M@5)+9-SXT7)ZW9(6>-C>LW]RVHV6>ZQ@*>@WDNMR[GWP4 X%KJF^%=O/T.J9 M6+Y,4.6^:-O8SJ8>RFJE!6O!Q@-&>//'NS8.!P##TP^(6D#T'#!^ 1"W@-@) M;3QSLBZPQFDBQ19):VW8;,/%QJ&-&L+M+JZT-+/$X'1ZQ3/! 'W!.U#HY (T M)E2]2WQMN*V%G[4\BX8G>H'G%%T+KDN%+GD.^3'>-SYUCD5[QQ;1(.$*JA&* M@_&H M ID!U[WGI5DF;#;()I--&HRBT\3?'$IMK<(CJ_!TVID=B9AT(B:#(NY&JQ$J M( >)*5(:ZUH+^?B+HA.L$!X4,>D5$3X3\3NK(PW33L-T4,,UX835S+I'1(Y$ MT0H!VZ2$$>WV0>UG &&>(Y/73>;BZ'LMBF'/ZD:8KS-99K8L)$H3"4P6AF3K!L"E[3T:)R->->:%.!7+,T;P20 MUL#,%T+H?<&ULK9IKDZ(X%(;_2LKMVNJIFI&[8*]: M-=V H,Y4U_3.SF=:HE(-Q"519_[]!D1:,;"X>_I#R^6\3Q+(RTD@HP/)WN@& M8X9^)G%*Q[T-8]L'2:++#4X"VB=;G/(S*Y(E >.[V5JBVPP'82%*8DF5Y8&4 M!%':FXR*8\_99$1V+(Y2_)PANDN2(/OUB&-R&/>4WNG MVB]8?D!:3+:!FO\ M@MGW[7/&]Z2*$D8)3FE$4I3AU;CW67E8*%HN*"+^BO"!GFVCO"FOA+SE.WXX M[LEYC7",ERQ'!/QGCY]P'.-Z8UX#B)Q+_B$*V M&?>L'@KQ*MC%[!LY>+ALD)'SEB2FQ7]T*&/E'EKN*"-)*>8U2*+T^!O\+"_$ MF4#1&P1J*5#K JU!H)4"K6L)>BG0NPJ,4F!T%0Q*P:!K&\Q28'8MP2H%5EU@ M- B&I6#8M01%/MTYN6L92G6S.]]MY72[E>)^2\>.5?1*.V#!9)21 \KR>,[+ M-XJN7>AY9XS2W(4O+.-G(ZYC$SO:1R%.0XJ"-$1.D*51NJ;H&6?H91-D&-W; MF 513#^@3^C[BXWN[SZ@.R0AFI^E*$K1]S1B]./9@3\W9$U=OHDZ> ;E!8)F<^K%S&W*8ANN?I-"0Q MWZ%HR]U;)-T/(OL>\5:!SX?B^XG9 P_P@;G.4+W5)TO9:?!%&:K,NU!'4=95FZ54MC MB^NHH6*HLCA%F94-S-849>.4)%':F*1,2 = PFQ(F ,)O13)4.@ES _'(;@FEO=Q;;0-*LT%I#BC-!:5-06D> M*,TO:1<=6M>,6LJ8B<(T4Z^]K)L+:8I9HRW$-+,AMRAG7UV5;I]@*E,(YTXE M!?2 DT2G]0'S(* MHTRU(=F]+S=06K^4'J=2PI'@+>8!78\ 2K-!:0XHS06E34%I'BC-+VDU7URY M1QA5M\MU$+>+5K>+*,JLN44Z6YN7X&Q=K#BE?+*T2]EQR4YUM%K5^KE8VU<[ M[BL/,T5P?)ZO@BW6 K[CCTMHOP39.DHIBO&*%R7W33Z,S8ZK4H\[C&R+E8&O MA#&2%)L;'(0XRP/X^14A[+23%U"M#9[\ U!+ P04 " "2C6=7/F R'.4$ M !6& &0 'AL+W=O1*+(,\]=;DK+=W+"-MX'[9!M+ M-6 N9CG>DA61#_D=AY[9H$1)1JA(&$6<;.;&C7T=V&.E4$K\E9"=:+61VLJ: ML4?5^1[-#4NMB*0DE H"P\\S69(T54BPCJ<:U&AL*L5V^PW]6[EYV,P:"[)D MZ=]))..Y,3%01#:X2.4]V_U!Z@V5"PQ9*LJ_:%?+6@8*"R%95BO#"K*$5K_X MI79$2P%P^A6<6L$Y5!B]H^#6"NY'+8QJA=%'+8QKA7+K9K7WTG$^EG@QXVR' MN)(&--4HO5]J@[\2JCZ4E>0PFX">7*PD"Q]CED:$B]]0\%0D\A6=^43B)!7G MZ (]K'QT]N4S<>=OYK3,(N"+Y)7*MK\BQ'+=G/!_6^\X MPVT^ [?$<]_!6[(L@V-;?@U]W%;:HWYM%(]<@9Q M3R5')YA?@7DEF$I9SPMO8L_,Y[;/CV7&4Z^1Z;ARW+AR/.C*^]5#;X0:U#K5 M43K!?)U@@2:PCNN]QO7>IP*)IY,"G6"^3K! $UB'@JN&@JO!KW_)Z#-D1^1U1K&K6,[\;Q1]VPOCX5LV[''72F_1\ISO,GT(%#TB+GVE37MCQ63QEN3 M06_]^?,>W:68]NUQ4//4CU4GF*\3+- $UG'_M''_]%/Q8JJ3 IU@ODZP0!-8 MAP+;VM< UN 96%5!X."J4=Y!(&P4<.&&H! 3E#*ZO9"$P_4$KB94E7@H?^?L M#)L\E3FM:'Z-U@XECNV,#N)2T"?F7DV<_H!CMTHN>]#=-QDKJ(0R.R3@P4@5 M5N0EC#'=DC+^BGXZ*AYPR0+Z* N#*SF9!9UH?HW6OOFYEG7(P;&0UQ+J,N#L M&7"&[]J$*\_A;7F_QI N53/#_!&R8I@RD8"+4#5%BVP- M7!PR)&,,ZJR /+H&3@H.I"KM]2O*,9=)F.28RO[B>7#!)Q.E$\VOT6RG18)U M>75T7/Y+K$O6OC2U!\NN1?THH9(T^@=]AU.0$_@#)\A/X Q)QOL]JK5FU8KF M:T4+=*%U^=G7K?;H4RG9')0&O1(N9"IC[+$L9@S<5IHE4?-UCMI1OBV?* 6*F)36;V5-:/- M(_A-^?1[,'YK7R_MGG%?/9J7[[)[^.K%_0?FVX0*E)(-F%)AT4"\>L2N.I+E MY2OMFDG)LK(9$PP97PG _(8Q^=91!II_)2S^!5!+ P04 " "2C6=7=(D# M,NL% "W*@ &0 'AL+W=ONNU>[.R%#+)A"HA((F[^?<7!V-A$L;?? M3P'#PD1Z&<2I_RV%PJ170\&W ])@GF?9B25=]:4)5C( M4[89\(P1')2B)!X8FC89)#A*>_.;\MJ"S6]H+N(H)0N&>)XDF#W?DYAN;WMZ M;W?A2[0)17%A,+_)\(8LB?B6+9@\&S24($I(RB.:(D;6M[T[_=K3IX6@+/$] M(EM^<(R*JJPH_5&<_!7<]K3BB4A,?%$@L/QY(@\DC@N2?(['&MIK8A;"P^,= MW2DK+RNSPIP\T/B?*!#A;<_LH8"L<1Z++W3KD;I"XX+GTYB7?]&V+JOUD)]S M09-:+)\@B=+J%_^L_Q$' LGI%ABUP#A7,*P%PV/!Z 7!J!:,SHTPK@7CHN3["-:AIB1=FGTSB("1S%_+['?EA9Z]^8]>H,&B!=E M.8I2]"V-!+^2%^7QUY#F'*:BI C.PU( MT*%_4.N'K^EMM7ZFT ]DLS1M8^S:YMY0 C_A9S34KY"A&497==3J)ER]T58]3-*+YAUSS#/KGMR8\4)^R)].9O_] GVLI3Q!=(Y\FB1PQ\*)7[_*@DGNI M!R%A%B3,KF"3$E:,[I[F$U.^Z$^'UCHM,YY-VF5[EN>R@RN_]%?J.XYR@?^]67# YO/RORRMC2*] PBQ(F T)XD*&](!@+3?JVGZM43O'CXP4B^K%JF%ARL9IE_9_ MZF"7>JZF'78-^NRD;[! @]KG!75 @[J@- ^*UK;4P?*UKK24:J&ZTS1*W,6F M@:19H#0;E.: TEQ0F@=%:UO0V%O04*Z=7&Q! ]2"D#0+E&:#TAQ0F@M*\Z!H M;0ON\PNZ&N2;AQ\<[3^K/W%>5#'N]A5H D$4)H#2G-! M:1X4K>VJ?19!?R6-L'-5E,J90IKC6 [=,LKDC(*PB':E2.]?00XU%.#GKN3N M@UIYL>5 \P6@- >4YH+2/"A:VW+[-(2N7&?>6TYV88\Y9H*P^/D,UZFI*M>! M)AY :38HS0&EN: T#XK6=MT^_:"K\P_+:EWD*#]:)DZ;91$1$A33=/-!6C*1 M/:)/TF+7%&N6!)AIJVN%JZ<30S>/)Z6FIV6PT;)>R.TKIQGAH'D\ZSX&Y MH-7TH&AM'^S3 [HZ/U -X-LYJ,ZV!5WOKVFM=:!9WYP<-^YI,7W:'XV.6[># M-NZ;X^/6/8OF@M;4@Z)5S3LXV/66$+8I=T!R^0KGJ:CVYC17FUV6=^7>PJ/K M#_JUI7=&ULM9IM<^(V$,>_BH;> M=*XSN6#)&$-*F+G$#[W.72]SZ;4O.GTAC *>LR57$B'Y]I6-8S 8!7K;-V ; M[V_7WK^E]:+)6LAO:LF81D]YQM5U;ZEU<=7OJV3)5!R)QJLRL7 M?55(1N>549[UB>,,^SE->6\ZJ8[=R>E$K'26[KT< M^)(NEKH\T)]."KI@]TQ_+>ZDV>LWE'F:,ZY2P9%D#]>]]_@J)DYI4)WQ1\K6 M:F<;E9F2W+,M*DHGCGQK::WR6AKO;+_2H MNGAS,3.JV*W(_DSG>GG=&_70G#W05::_B/4OK+X@K^0E(E/5)UK7YSH]E*R4 M%GEM;"+(4[[YID_UC=@QP(,C!J0V('L&9'S$P*T-W%,]#&J#P:D>O-K .]7# ML#88GNK!KPW\*EF;NUNE)J":3B=2K)$LSS:T4SM(LU:FQ M?ALP3=-,_60X7^\#]/;-3^@-2CGZ?2E6REBK25^;8$N7_:0.['83&#D2F(L^ M":Z7"H5\SN8=]J'=?FRQ[YN;U-PI\G*G;H@5^.N*7R)"+A!Q".FZ'KOY/2LN MD>M4YFZ'>7"Z>9?W\/N\1]_G/;:;!RPQYKC+O)4*MQ&M6_$&1WB?BW(84T@+ MQ)XT,^K,*AEW1'9C)94#_94J:,*N>V8D5TP^LM[TQQ_PT/FY*\60L 2%MIO MF)8KUI5UR!!B(%A+$8-&$0/K!;Y?+"1;4,V0HID9D0J9)NP"<3.7F]$LR80J M1ZY$*-TI$BO\7)% P@)(6+B!#2M86:,\3@>^YX\G_<==41R>A3MZ>#=PG-%@3Q! /EN"&#:"&%9T]X@@VL5+I08S,U3%2Y<*AI J@(0% MD+ 0$A9!PF(@6$LK?J,5_Y7BX:60?54G5M"Y.O$/AE47N[[3?HJ"P[/P&#NX M?5;H'SR2_MCUR-Y ?LCR!K@L_UK/+=!%MG(Q:G(QLCZW^[G(MB\57?D80>8# M$A9 PD)(6 0)BX%@+:V,&ZV,[25>DI@J=OZ:1JR0 MF\URXHY23GF2T@S=F8*]:E7]%98O>"J=967+0>F_NW)N#^3!!A>#!==6W$XO"UL=_"9XLL$A<7QFV;X6UN<60AY[7[ [ M/%M9^.!)(X1X9*^4#D"]AB=ZC4"]QAU>L>OX(__(L$*V229GU6^OS =VVMD9 M)!U5'/9]?S^#D%[#$[U&H%[C#J_$<7?+S'8&M]T[;.]&?32O[!=HMDJSN4FC MJM[@T[R0XK&:";K3"-K' Z4%H+00E!:!TF(H6ELXVR8?_E^[?+BC_S4>.WNO M8+?V(,X6!V@'#Y06@=)B*%I;'-N>(+8W!3]P,P>8TE$SF7=FWV[NHF=&9?&PO=V]R:W-H965T'##J]JZ@R#/6E;!%NQMN]'H!0-+R1N0ABM)-.P7]$-TO4I=O _X MQN%D1C9Q2G9*W3GG<[F@H2L(!!36,3#\'&$%0C@B+.-GSTF'E XXMA_9/WKM MJ&7'#*R4^,Y+6R_H.TI*V+.#L#?J] EZ/9>.KU#"^']RZF*O8DJ*@[&JZ<%8 M0<-E]V7W?1]&@"A]!A#W@/AO 4D/2+S0KC(O:\TLRS.M3D2[:&1SAN^-1Z,: M+MTK;JW&6XXXFZ]4TW"+SV(-8;(D*R4MEQ7(@H,A;\D7J)@@YVNPC MS@2>W MVS4Y/[L@9X1+LN1"X&N8++!8C*,,BC[QLDLR)]*307KR$GN^Y*677*BF%>"':Z=D:0@WY@#='18Z7LH^-&?MCP^2]02P,$ M% @ DHUG5YHW'K),!0 [A\ !D !X;"]W;W)K&ULM5EM;]LV$/XKA-<-+3#$)$514N88:"QKVX<.0=)LGQ6;MH5*HB?1 M<0OLQX]ZB6Q1-.T:;(#$DOS<0]YS)_(NG.QY\:7<,"; URS-R[O11HCM[7A< M+C8LB\L;OF6Y_&;%BRP6\K98C\MMP>)E;92E8PPA'6=QDH^FD_K90S&=\)U( MDYP]%*#<95E@X*M[D8?T6V$8650(_Y.V+X\N@:5*R^C6 U(Y:RA:@H8OGQ MRF8L32LF.8]_6])1-V9E>'S]QA[5SDMG7N*2S7CZ3[(4F[N1/P)+MHIWJ7CD M^S]8ZY!;\2UX6M9_P;[!$G<$%KM2\*PUEC/(DKSYC+^V0AP98'S" +<&^%(# MIS5P% ,'GC @K0&Y= 2W-7 O-:"M :VU;\2JE0YC$4\G!=^#HD)+MNJB#E=M M+05.\BJSGD0AOTVDG9@^LBTO1/R2,O#$UC)E1 G>ATS$25I^ .] DH//&[XK MXWQ93L9"CEC9C1T-<."O $/L@.>G$+Q_]T$SL=GE--A $UXQ&U V@=30S>W, M*C+3A&PA:5!+HYU-3WNGRU6GYG5.3J]FD@M:E;-)OI;9V:RM6 'XJ@UQO2R5;\O2?X;$OC<2?V^H;9*%#9E;DU7[_.L43\:OQ_&S.5PT M',[IANL%Q>V"XAJ#\LA>6;YC.M$;0WHT%G)Q0'S:=W"FP6&?R-\^+ASB" H" MCT)%L"'.@0$B%/5QD=&Q*W.9=K)1HVP_5VG\F8LX!08%&PZ$CZ51Q#L/"<]# MYN0Y?N J6FE@+@F@I^@UA!$' M^H&JV1#F0,>%JFY&SZ[4S>]T\\]GV=N^:,BSA@6A(U_@#4)$T4\/PVJ^Z6'0 M4?33PF"@O/61T<,K]0LZ_0*C?L\B21.1,&UM:S3]WCW%)EEHDVQNDRRR1-8+ M)H*'9@;:K1!;/DLQMLH66F6;6V6+;+'UXWS4M*)K:Y+6\GC5IH10)U"6.AT. M.1"J-8D&AWSD>%0!SG5 0CS?57:?R.S;M=KA@W;80F'2DBB+-U&W@MD)G*=N MN2=PCEH+G\"I:D=F)Z\5\=")(F,?=+9>:ZZKB_8@F#QVZ/&1N\RXM6EJ:7M$JZPQ50Z(O6@89J,7!0=5W"C=X MC2VU;7T1#UT9,K=E\YP5ZV]:V2RU/:V\-ME"JVQSJVR1+;9^0 _](J*6:Q=+ M#5L;9YMLH56VN56VR!9;/\Z'3A>96UW3@C?L.'V?^,13E[PACGH(8:@N>4,< M=GPW" :[KJ9QIL2AD*B+WH]H=M&AVT47M+OG:Q=MX^EZ@Q)0C\..*J,>1[W@ M^$>55&^D%CR1V>-K%3WTO\C< )\M9()A9L D\$N/,3)$EG]CURH@6%*J9KA M<]VP%'MJ9129O;M2/7SH-[&QS[FXDFEI!C6*DFFS$SBD%'#A*9SZ7NMQ4$W6 MR.SF]\HX/CJ.S&254A\-(?+S8W@V_HP](4+P;/Z&PO M=V]R:W-H965T M%6QBK#DO1Z;)HC7DF/5("85XLR(TQUPL:6*RD@*.%2C/3,>R/#/':6'X8[5W M0_TQV? L+>"&(K;),DK\'B!'E:5-_XOM;A "!XV@%.#7!. ?TG &X- M<)^;H5\#^L_-,*@!@U/ 4Y?V:H"GM*_$4DH'F&-_3,D.41DMV.2#LDNAA<^69JJ")FJ0JZJ$#=5F#Q6(195V%9[%7N_ MG5TV[!$K<0030W1D!G0+AO_NC>U9G]M\TTD6Z"2;ZR0+-9$=^=UO_.YWL?MO M$5GM.T^;GQ7:KLI/_L/<^O;8W!ZZ=#XD.!\R/Q\2=M[D'W4:-#H-.G7Z3HJ+ MNR+E$*,%QQQ8FUB=%"\M?IUD@4ZRN4ZR4!/9D:E>8ZKW7YN=I]-OG62!3K*Y M3K)0$]F1WY>-WY>O:G:=Z)?ZJ9,LJ,AL^Z [6CUKX)TTT?8PSSEII)J.=N3! ML/%@>-Z#P[^U-B,Z*5YJA$ZR8-BJL#L\,4)GSK ]9__1U"D5./0DG Q7*G'M9C(@8%@O(," "_!P &0 'AL+W=OY_&=K;MPP_B#R D>BQR*L96)F4YLFV19%!@T6,E4+6S9+S M4IE\98N2 TX-J,AMSW$&=H$)M:+0^.8\"EDE5RCP5, M6?Z'I#(;6T,+I;#$52YOV>8[-/GT-5_"\AW/B'/\?R.\TQ/AWM=Z?R?^NS-ZGO%\-M7X!L^_RVO MH.NR:[J@FT[WMI$H<0)C2S4O 7P-5O3Q@SMPOG95^CW)XOZSS-2$ M!:X#U/Z2,;DUM$ [LZ-_4$L#!!0 ( )*-9U=(-45^0P( (H& 9 M>&PO=V]R:W-H965T^KK(0*JY&H@9LGN9 5UF8J"U_5$C!Q217SPR"8^16FW$MCM[:1 M:2P:S2B'C42JJ2HL7U? Q#'QQMYI84N+4ML%/XUK7, .](]Z(\W,[RF$5L 5 M%1Q)R!-O.5ZLYC;>!?RD<%1G8V0KV0OQ;"=KDGB!%0(&F;8$;&X'> #&+,AH M_.Z87K^E33P?G^A?7>VFECU6\"#8+TITF7@?/$0@QPW36W'\!ET]4\O+!%/N MBHYM;/310UFCM*BZ9&-04=[>\4MW#F<)AG,Y(>P20N?=;N0L/V.-TUB*(Y(V MVM#LP)7JLHT>-);A8/ '=0C% 5W* S":( 7]>5& MCA==X5TJ\P[M7]&:$WJ@I,'L4M4M='(9:K^;A:IQ!HEG/@P%\@!>^O[=>!9\ M&E">],J3(7JZ;1B@<;"?WH_/M=&2B%K_?\BM[C PQTS!@-BT%YL.[Z=2>0)JO"%]Q&V:^Y3;OW>8W']RPWS#WJI]_UA\JD(7K@@IE MHN&Z;17]:M]HEVU_^1O>=NE'+ O*%6*0F]1@-#>O4[:=KYUH4;MNLQ?:]"XW M+,W/ J0-,,]S(?1I8C?H?S_I'U!+ P04 " "2C6=7.-?L$E0# "P%0 M#0 'AL+W-T>6QE3T;D:I\A8Y M%]7 GRE5?@F":C*C.:FNBI(*C62%S(G273D-JE)2DE9 RGG0;K7B("=,^,.^ MF.M72%ZIL4$P^/DQ^GS@FW=V6KH=KI143(_:K)PJ'MP2-0Z^1,%-+DMAGL M[W$]? =8]< @X[PQV/9M8-@OB5)4BAO=,8--\ 7DU>W[9:D=3B59ANV.OR:8 MFTXR+F1*99,F]%>A89_3#.Q(-IW!715E *!21:X;*2/30A#C8<6H&UIV0CF_ M@^^'W]F6]B+;V#E3$*)I:D-UT\K8#NAOJEGM3=G.FW2]DCT6ZMM<3T>8/I0: MO94T8PO37V2- 4P]Q-5)6?+E5\ZF(J=V\@=#8HE8D.4.E[ MCU0J-MF,_)6DO*<+M2JG189[;I^@YW^[SE,JJ"1\T[2N_6->Y3<[CKKO9=E\ MJ^P:=GJL7_K';K)S"B;CXS<9)#D/?!_P4F>KY-ZXSGCBHFZ-V-I2L6+@Z&65V2L_QS=TM?C M4YJ1.5?W#3CPU^V?-&7S/&E&W<)"U*/6[1\PO3!NCOTZ%Q,I7=!T5'?E=&R: MGF[HK/4%A%WDQEQN!.-8S(T AN7!'& =$>BBGAW(L MRX6,S ?+X^8D^G+/-$FB*(ZQ%1V-G Y&V+K%,?RXU3!OP,#R0*;7K36^VWB% M[*\#;$_W50@V4[P2L9GB:PV(>]V D23NW<;R /;!:QV(+\[#]24FQ-%L*N8 M-^P)QI$DP1"H17>-QC&R.C%\W/N#/251E"1N!#"W@RC"$'@:<01S !XP)(K, M>W#G?12LWE/!^G^TPV=02P,$% @ DHUG5Y>*NQS $P( L !? M3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2 M?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'W\^CE.VJW3ID?[;[""MO)6E= ^G@^9[*0:L MDDI6\JC ;,[?7>IC?RIE>/E*C>Z+$\'XW;'=V&#; 0GW$AC77-$54*[M1R-*#ZCL3N[M@"E>B=/!TR&,JX+- ME(-.8G/5G@J.]5<*?STOVJMV@!OTH?DD88>9%PTX'>3YU7(Z6ZYF4P;?5E>+ M^72RAHVSR6*R/)^Q #)"(*,C0OX3!9 Q AD?!7*UAH]OLV4 F2"0R1$A.SV9 M(I#I,2'C #)#(+-C0B8!Y'L$\OTQ(=, \@,"^8$6JQK(RP<^BIJC["P/:*%N^#2L.^\K 7[)KB%#O0_"'MNC%J% M6"N3_-\:_K1I#YDPB8R)+7(C#D+5(L3!=#$F]L57K8L[699->C"'VTMM/0&; M6"NZ XGY8DPLC$F>ZQIN+';-'[C'\[30:&I1L(4,,3%CC*F5840A'9L8 ]WX M^E' /#$F%L54&'G@/D>%4;;.U*_H,$&,B0TQ5[FN!%OS>]%APGPP)A;"5!YD M(51AV\R9&P4I/-R!PK#5CIL0$]/#F-@/*Z?S'SM=%L+8/]@, IY["/-E3 \1 ML1X6X(3.@$:8#2+J(D-7E73-?=\,Z3F4@C"D0N6R"XG6&.1ZV&OCFABW$MN7 M#VF$J2(B5L6JKBIN'GPNLI);)>%G'.K*Q]@A(F]6_L^M7^& ME)@J(F)5O)$Y/7&&F)@V(F)MA!E4;Q]BUHB(K?&82O5R8>:(B,V!YU2=V0S, M'!&Q.="DJCN?@4DD)I9(3U+5-^(QII:86"W]V54O)B:7F%@N:$K3'7%T"HM8 M-&W:T-M[F%AB8K'TJ+F7$=-*3*R5U[,8[-U4."[++B/FE)C8*?V"/F$W IX< MF8>8F%UB8KN\A?D8-D-,3#8QL6S>PCROK8.:*L3$9!,3R^;-?*>].\-Y:4PV M";%L.OG.";M>7#:A\F)^V9"&F)AODM\XL0689\S7-NP2JL!<_\46(2;FFX38 M-R\P)^6M@ #*5KD1=^PZK!@2S#<)L6]>#KK1[,*?YW&=+,1$%TW(_=.FNR=> MV,T95 ZA_K:46W]PB(DI*"%6$(K923(2S$()L86>,?T\@.&Y8[S-SYN0%&)B M%DI^4XT38):2-XO=4G1JB02S4$)LH6?,J;1\NS5BVXH(Q&3$(<3$+)006PBM MS+H+CYB%4F(+X9CATF.*62@EMA".&2X^IIB%4G(+875NISRA,VJ_:E?A!A&,HP\V3$YGFVVO0XC)49^MH8L7D@%6(' MVZG0(''/2^UG9D)(S#L9^5L!%D*F86L#WE;;M]ZKR##I9(UTALW!]LOG0FRD M$L42SF^A/>=E?FV8_VA?#$I2OYB_J )6ZKT"+,.H)4\0&K%!YB"2.7&X!N^\H#))C M]: GR&=DE2U?_Z-/5MF/+V7?#KON6+>[4YU]'O;'NFRVPW#ZE5)=;F\W)Z+65H9J]MORG#LDF?^^OIFBZ'?'>>W,R>WY9-__R6FS1U MD$"03!^D$*33!QD$V?1!#D$^?5! 4$P?M("@Q?1!]Q!T/WW0 P0]3!^4YRCC MG"!IA#6!UAFYS@1>9P0[$XB=D>Q,8'9&M#.!VAG9S@1N9X0[$\B=D>Y,8'=& MO#.!WH)Z"X'>@GH+@=XR>MDFT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!; M4&\AT%M0;R'06U%O)=!;46\ET%M1;R706T>;)01Z*^JM!'HKZJT$>BOJK01Z M*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'K;:+.;0&]#O8U M;T.]C4!O0[V-0&]#O8U ;T.]C4!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U M;Q]]K"30VU%O)]#;46\GT-M1;R?0VU%O)] [4.\@T#M0[R#0.U#O(- [4.\@ MT#M0[R#0.U#O(- [1C^;$.@=J'<0Z!VH=_RDWG7XVI=Z[?E>X_-_DNKA?&^Y M/OZR_#Z)$BXN.*?;BOKT%U!+ P04 " "2C6=7X>Q>$?0! "B)P $P M %M#;VYT96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?J;)%C>LG#]%N@"VPX =, M,J51D]BR72A_CY,"$@@J4)&XFT:M[;D3CW16/;][]A0GVZ[MX[Q8I>3/&(O5 MBCH;2^>ISRM+%SJ;\M?PP+RMUO:!F)C-#*M/C4=Y0L"\3 MAI7O U[/W3Q2"$U-DUL;TK7M\BZV;5E,SRW%VJ39>/E-$' MLG5<$:6N+7=%C_8GIWS#M/OD!^>/9?8%YIVWP?F8)Q;H]W%O(QE.3WTN1"$U M^U_Q/3&7/OC]:)AV3?4/L_/U/KFP'N<1V?@X_(X_SOB]_B_[$"!]2) ^%$@? M&J0/ ]+',4@?)R!]G(+TP6^?6?QP_/LO.-OU;/AO_FK=X 5!+ 0(4 Q0 ( )*-9U<'04UB M@0 +$ 0 " 0 !D;V-0&UL4$L! M A0#% @ DHUG5V48Z?+O *P( !$ ( !KP &1O M8U!R;W!S+V-O&UL4$L! A0#% @ DHUG5YE&PO=V]R:W-H M965T&UL4$L! A0#% @ DHUG5ZZM3(Z2!@ OQH !@ M ("!$@X 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ DHUG5S E:$Q% P A L !@ ("!,QX M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG M5Y-<$&PO=V]R:W-H M965TN.6B&< < &06 9 M " @6E% !X;"]W;W)K&UL4$L! M A0#% @ DHUG5[R(&+[!"P 6B0 !D ("!$$T 'AL M+W=O&PO=V]R:W-H965T*^"\H=P0 , , 9 " M@3MM !X;"]W;W)K&UL4$L! A0#% @ DHUG M5]RMK/=U P 40@ !D ("!Z7$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG5^^H:^LJ!0 .PP M !D ("!\7\ 'AL+W=O&PO=V]R:W-H965T[A06M MTP8 !L4 9 " @3&* !X;"]W;W)K&UL4$L! A0#% @ DHUG5]S[O@+*!@ QQ$ !D M ("!.Y$ 'AL+W=O&PO=V]R:W-H965T M; !X;"]W;W)K&UL4$L! A0# M% @ DHUG5U]SET(Y!@ 61( !D ("!%Z4 'AL+W=O M&PO=V]R:W-H965TO M !X;"]W;W)K&UL4$L! A0#% @ DHUG5VJX MD1GD! ;0X !D ("!T+( 'AL+W=O&PO=V]R:W-H965TP0 !T- 9 " @2"^ !X;"]W;W)K&UL4$L! A0#% @ DHUG5Q@,++GO @ _ 8 !D M ("!TL( 'AL+W=O&PO M=V]R:W-H965T/0)*6. , M &T) 9 " @6;) !X;"]W;W)K&UL4$L! A0#% @ DHUG5QBY/*]$! \PX !D ("! MU

&PO=V]R:W-H965T&UL4$L! A0#% M @ DHUG5]2VEK(Z @ LP4 !D ("!O-@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG5RWV,DM'! 2Q@ !D M ("!\/4 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ DHUG5ZI\T" "0"P &0 @(&&!0$ >&PO=V]R:W-H965TGE+B9XP( %$( 9 M " @:H( 0!X;"]W;W)K&UL4$L! A0#% @ MDHUG5S26SL+J @ G0@ !D ("!Q L! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG5UZ@.'67! M(1T !D ("!$!L! 'AL+W=O M'P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG5PH9L570 P I!$ !D M ("!:28! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ DHUG5T.3MC>5 P (!4 !D ("!>#0! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG M5R)_WX2A!0 )RP !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ DHUG5XDT)0$&!@ U2H M !D ("!B5 ! 'AL+W=O&PO=V]R:W-H965T:-QZR M3 4 .X? 9 " @659 0!X;"]W;W)K&UL4$L! A0#% @ DHUG5V#V,WTY P [P\ !D M ("!Z%X! 'AL+W=O8%@O(," "_!P &0 @(%88@$ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ DHUG5SC7[!)4 P L!4 T ( !C&6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% M @ DHUG5Q;=:Q0F @ 8R@ !H ( !IG$! 'AL+U]R96QS M+W=O XML 81 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 82 report.css IDEA: XBRL DOCUMENT /* 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; } XML 83 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 217 308 1 false 47 0 false 9 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 7 false false R8.htm 00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 10101 - Disclosure - Nature of Business Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusiness Nature of Business Notes 9 false false R10.htm 10201 - Disclosure - Basis of Presentation Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentation Basis of Presentation Notes 10 false false R11.htm 10301 - Disclosure - Fair Value Measurements Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 11 false false R12.htm 10401 - Disclosure - Acquisitions Sheet http://www.primoriscorp.com/role/DisclosureAcquisitions Acquisitions Notes 12 false false R13.htm 10501 - Disclosure - Revenue Sheet http://www.primoriscorp.com/role/DisclosureRevenue Revenue Notes 13 false false R14.htm 10601 - Disclosure - Goodwill and Intangible Assets Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 14 false false R15.htm 10701 - Disclosure - Accounts Payable and Accrued Liabilities Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities Accounts Payable and Accrued Liabilities Notes 15 false false R16.htm 10801 - Disclosure - Credit Arrangements Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangements Credit Arrangements Notes 16 false false R17.htm 10901 - Disclosure - Derivative Instruments Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstruments Derivative Instruments Notes 17 false false R18.htm 11001 - Disclosure - Income Taxes Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxes Income Taxes Notes 18 false false R19.htm 11101 - Disclosure - Dividends and Earnings Per Share Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare Dividends and Earnings Per Share Notes 19 false false R20.htm 11201 - Disclosure - Stockholders' Equity Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 20 false false R21.htm 11301 - Disclosure - Leases Sheet http://www.primoriscorp.com/role/DisclosureLeases Leases Notes 21 false false R22.htm 11401 - Disclosure - Commitments and Contingencies Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 22 false false R23.htm 11501 - Disclosure - Reportable Segments Sheet http://www.primoriscorp.com/role/DisclosureReportableSegments Reportable Segments Notes 23 false false R24.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies 24 false false R25.htm 30203 - Disclosure - Basis of Presentation (Tables) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables Basis of Presentation (Tables) Tables http://www.primoriscorp.com/role/DisclosureBasisOfPresentation 25 false false R26.htm 30303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.primoriscorp.com/role/DisclosureFairValueMeasurements 26 false false R27.htm 30403 - Disclosure - Acquisitions (Tables) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.primoriscorp.com/role/DisclosureAcquisitions 27 false false R28.htm 30503 - Disclosure - Revenue (Tables) Sheet http://www.primoriscorp.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.primoriscorp.com/role/DisclosureRevenue 28 false false R29.htm 30603 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets 29 false false R30.htm 30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables Accounts Payable and Accrued Liabilities (Tables) Tables http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities 30 false false R31.htm 30803 - Disclosure - Credit Arrangements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables Credit Arrangements (Tables) Tables http://www.primoriscorp.com/role/DisclosureCreditArrangements 31 false false R32.htm 30903 - Disclosure - Derivative Instruments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.primoriscorp.com/role/DisclosureDerivativeInstruments 32 false false R33.htm 31103 - Disclosure - Dividends and Earnings Per Share (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables Dividends and Earnings Per Share (Tables) Tables http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare 33 false false R34.htm 31303 - Disclosure - Leases (Tables) Sheet http://www.primoriscorp.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.primoriscorp.com/role/DisclosureLeases 34 false false R35.htm 31503 - Disclosure - Reportable Segments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables Reportable Segments (Tables) Tables http://www.primoriscorp.com/role/DisclosureReportableSegments 35 false false R36.htm 40101 - Disclosure - Nature of Business (Details) Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails Nature of Business (Details) Details http://www.primoriscorp.com/role/DisclosureNatureOfBusiness 36 false false R37.htm 40201 - Disclosure - Basis of Presentation - Restricted Cash (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails Basis of Presentation - Restricted Cash (Details) Details 37 false false R38.htm 40202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails Basis of Presentation - Accounts Receivable Securitization Facility (Details) Details 38 false false R39.htm 40203 - Disclosure - Basis of Presentation - Customer concentration (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails Basis of Presentation - Customer concentration (Details) Details 39 false false R40.htm 40301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables 40 false false R41.htm 40401 - Disclosure - Acquisitions - PLH and FIH (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails Acquisitions - PLH and FIH (Details) Details 41 false false R42.htm 40402 - Disclosure - Acquisitions - B Comm Holdco, LLC (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails Acquisitions - B Comm Holdco, LLC (Details) Details 42 false false R43.htm 40403 - Disclosure - Acquisitions - Alberta Screw Piles, Ltd (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails Acquisitions - Alberta Screw Piles, Ltd (Details) Details 43 false false R44.htm 40404 - Disclosure - Acquisitions - Pro Forma Information (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails Acquisitions - Pro Forma Information (Details) Details 44 false false R45.htm 40501 - Disclosure - Revenue - Performance obligations (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails Revenue - Performance obligations (Details) Details 45 false false R46.htm 40502 - Disclosure - Revenue - Performance obligations - Details (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails Revenue - Performance obligations - Details (Details) Details 46 false false R47.htm 40503 - Disclosure - Revenue - Contract assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails Revenue - Contract assets (Details) Details 47 false false R48.htm 40504 - Disclosure - Revenue - Contract liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails Revenue - Contract liabilities (Details) Details 48 false false R49.htm 40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails Revenue - Disaggregation of revenue by customer type and contract type (Details) Details 49 false false R50.htm 40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 50 false false R51.htm 40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 51 false false R52.htm 40603 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails Goodwill and Intangible Assets - Future Amortization (Details) Details 52 false false R53.htm 40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails Accounts Payable and Accrued Liabilities (Details) Details http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables 53 false false R54.htm 40801 - Disclosure - Credit Arrangements (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails Credit Arrangements (Details) Details http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables 54 false false R55.htm 40802 - Disclosure - Credit Arrangements - Narratives (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails Credit Arrangements - Narratives (Details) Details 55 false false R56.htm 40803 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails Credit Arrangements- Canadian Credit Facilities (Details) Details 56 false false R57.htm 40901 - Disclosure - Derivative Instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables 57 false false R58.htm 40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails Derivative Instruments - Derivative contract and instruments (Details) Details 58 false false R59.htm 41001 - Disclosure - Income Taxes (Details) Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://www.primoriscorp.com/role/DisclosureIncomeTaxes 59 false false R60.htm 41101 - Disclosure - Dividends and Earnings Per Share (Details) Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails Dividends and Earnings Per Share (Details) Details http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables 60 false false R61.htm 41201 - Disclosure - Stockholders' Equity (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.primoriscorp.com/role/DisclosureStockholdersEquity 61 false false R62.htm 41202 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) Details 62 false false R63.htm 41301 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails Leases - Components of Lease Expense and Operating Lease Liabilities (Details) Details 63 false false R64.htm 41401 - Disclosure - Commitments and Contingencies - Legal (Details) Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails Commitments and Contingencies - Legal (Details) Details 64 false false R65.htm 41501 - Disclosure - Reportable Segments (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails Reportable Segments (Details) Details http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables 65 false false R66.htm 41502 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails Reportable Segments - Revenue and Total Assets by Geographic Area (Details) Details 66 false false R67.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 67 false false R68.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 68 false false All Reports Book All Reports prim-20230930.xsd prim-20230930_cal.xml prim-20230930_def.xml prim-20230930_lab.xml prim-20230930_pre.xml prim-20230930x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 86 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prim-20230930x10q.htm": { "nsprefix": "prim", "nsuri": "http://www.primoriscorp.com/20230930", "dts": { "schema": { "local": [ "prim-20230930.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://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "prim-20230930_cal.xml" ] }, "definitionLink": { "local": [ "prim-20230930_def.xml" ] }, "labelLink": { "local": [ "prim-20230930_lab.xml" ] }, "presentationLink": { "local": [ "prim-20230930_pre.xml" ] }, "inline": { "local": [ "prim-20230930x10q.htm" ] } }, "keyStandard": 255, "keyCustom": 53, "axisStandard": 22, "axisCustom": 0, "memberStandard": 26, "memberCustom": 21, "hidden": { "total": 24, "http://fasb.org/us-gaap/2023": 18, "http://xbrl.sec.gov/dei/2023": 5, "http://www.primoriscorp.com/20230930": 1 }, "contextCount": 217, "entityCount": 1, "segmentCount": 47, "elementCount": 568, "unitCount": 9, "baseTaxonomies": { "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 4, "http://fasb.org/us-gaap/2023": 748 }, "report": { "R1": { "role": "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:ReceivablesNetCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R3": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_4esbztWwBkiEb6lsaMrHSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_4esbztWwBkiEb6lsaMrHSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R5": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R6": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_ZLTlAPD7BEC3DKEm-oivrA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_ZLTlAPD7BEC3DKEm-oivrA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "Duration_8_2_2023_To_8_2_2023_76QYyJcohkqqc-RHBfd4cQ", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_4esbztWwBkiEb6lsaMrHSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R9": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness", "longName": "10101 - Disclosure - Nature of Business", "shortName": "Nature of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation", "longName": "10201 - Disclosure - Basis of Presentation", "shortName": "Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements", "longName": "10301 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitions", "longName": "10401 - Disclosure - Acquisitions", "shortName": "Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.primoriscorp.com/role/DisclosureRevenue", "longName": "10501 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets", "longName": "10601 - Disclosure - Goodwill and Intangible Assets", "shortName": "Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities", "longName": "10701 - Disclosure - Accounts Payable and Accrued Liabilities", "shortName": "Accounts Payable and Accrued Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangements", "longName": "10801 - Disclosure - Credit Arrangements", "shortName": "Credit Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments", "longName": "10901 - Disclosure - Derivative Instruments", "shortName": "Derivative Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxes", "longName": "11001 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare", "longName": "11101 - Disclosure - Dividends and Earnings Per Share", "shortName": "Dividends and Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquity", "longName": "11201 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.primoriscorp.com/role/DisclosureLeases", "longName": "11301 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies", "longName": "11401 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegments", "longName": "11501 - Disclosure - Reportable Segments", "shortName": "Reportable Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables", "longName": "30203 - Disclosure - Basis of Presentation (Tables)", "shortName": "Basis of Presentation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables", "longName": "30303 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "longName": "30403 - Disclosure - Acquisitions (Tables)", "shortName": "Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember__xLUkSRpvU6HUzcOQjJAhw", "name": "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember__xLUkSRpvU6HUzcOQjJAhw", "name": "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueTables", "longName": "30503 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "longName": "30603 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables", "longName": "30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)", "shortName": "Accounts Payable and Accrued Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables", "longName": "30803 - Disclosure - Credit Arrangements (Tables)", "shortName": "Credit Arrangements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables", "longName": "30903 - Disclosure - Derivative Instruments (Tables)", "shortName": "Derivative Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables", "longName": "31103 - Disclosure - Dividends and Earnings Per Share (Tables)", "shortName": "Dividends and Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesTables", "longName": "31303 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables", "longName": "31503 - Disclosure - Reportable Segments (Tables)", "shortName": "Reportable Segments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "longName": "40101 - Disclosure - Nature of Business (Details)", "shortName": "Nature of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_pngvfj6qh0mmtrzIsfLfxQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": null }, "R37": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "longName": "40201 - Disclosure - Basis of Presentation - Restricted Cash (Details)", "shortName": "Basis of Presentation - Restricted Cash (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2022_T3qi3Px3OkmP2WuXfHINBA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R38": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "longName": "40202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details)", "shortName": "Basis of Presentation - Accounts Receivable Securitization Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "longName": "40203 - Disclosure - Basis of Presentation - Customer concentration (Details)", "shortName": "Basis of Presentation - Customer concentration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_e-tMAjCQrkKhhth1LbQrjg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_e-tMAjCQrkKhhth1LbQrjg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails", "longName": "40301 - Disclosure - Fair Value Measurements (Details)", "shortName": "Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_9_iIhB4FI02-1vg9dNqpfA", "name": "prim:ContingentConsiderationLiabilitiesFairValue", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_9_iIhB4FI02-1vg9dNqpfA", "name": "us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R41": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "longName": "40401 - Disclosure - Acquisitions - PLH and FIH (Details)", "shortName": "Acquisitions - PLH and FIH (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_8_1_2022_To_8_1_2022_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember__l5VSc_kEEWPD7r7LJy_GQ", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R42": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "longName": "40402 - Disclosure - Acquisitions - B Comm Holdco, LLC (Details)", "shortName": "Acquisitions - B Comm Holdco, LLC (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_8_2022_To_6_8_2022_us-gaap_BusinessAcquisitionAxis_prim_BCommConstructorLlcMember_o4vg75prX0qFa8iJnsJxOQ", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R43": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "longName": "40403 - Disclosure - Acquisitions - Alberta Screw Piles, Ltd (Details)", "shortName": "Acquisitions - Alberta Screw Piles, Ltd (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_3_1_2022_To_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_T6JqpbXymkSFvtj32Npjxw", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R44": { "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails", "longName": "40404 - Disclosure - Acquisitions - Pro Forma Information (Details)", "shortName": "Acquisitions - Pro Forma Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_7_1_2022_To_9_30_2022_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember_hL0VLHHO_02z-Q3cSABRag", "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2022_To_9_30_2022_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember_hL0VLHHO_02z-Q3cSABRag", "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "longName": "40501 - Disclosure - Revenue - Performance obligations (Details)", "shortName": "Revenue - Performance obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R46": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "longName": "40502 - Disclosure - Revenue - Performance obligations - Details (Details)", "shortName": "Revenue - Performance obligations - Details (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20231001__J9SOxYQ6EqeFtIMSnli2w", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20231001__J9SOxYQ6EqeFtIMSnli2w", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "longName": "40503 - Disclosure - Revenue - Contract assets (Details)", "shortName": "Revenue - Contract assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "longName": "40504 - Disclosure - Revenue - Contract liabilities (Details)", "shortName": "Revenue - Contract liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "longName": "40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)", "shortName": "Revenue - Disaggregation of revenue by customer type and contract type (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_cFJzK5C_eU26Q_kIwKVigA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R50": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "longName": "40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_12_31_2022_HjiPMVuaH0KXUK2BgejlMQ", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_q2ZmMW7KzkisqyDciGt-qg", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R51": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "longName": "40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)", "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_HjiPMVuaH0KXUK2BgejlMQ", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R52": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "longName": "40603 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details)", "shortName": "Goodwill and Intangible Assets - Future Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "longName": "40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)", "shortName": "Accounts Payable and Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "longName": "40801 - Disclosure - Credit Arrangements (Details)", "shortName": "Credit Arrangements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "longName": "40802 - Disclosure - Credit Arrangements - Narratives (Details)", "shortName": "Credit Arrangements - Narratives (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "longName": "40803 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details)", "shortName": "Credit Arrangements- Canadian Credit Facilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Dzr9HW2fwkGby0rJyNyOtA", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_4PBr9DC8lE2vzIRbhLgOgQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Dzr9HW2fwkGby0rJyNyOtA", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_4PBr9DC8lE2vzIRbhLgOgQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "longName": "40901 - Disclosure - Derivative Instruments (Details)", "shortName": "Derivative Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_FdYUczsh70q0v3_Eur_dQw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_FdYUczsh70q0v3_Eur_dQw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "longName": "40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)", "shortName": "Derivative Instruments - Derivative contract and instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_0qrH23gp2EOWQs8IYDmhHQ", "name": "us-gaap:DerivativeAssetsCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_0qrH23gp2EOWQs8IYDmhHQ", "name": "us-gaap:DerivativeAssetsCurrent", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "longName": "41001 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "longName": "41101 - Disclosure - Dividends and Earnings Per Share (Details)", "shortName": "Dividends and Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "Duration_8_2_2023_To_8_2_2023_76QYyJcohkqqc-RHBfd4cQ", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_4esbztWwBkiEb6lsaMrHSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_xbWktT0WKE-wDwo1AC_ibQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R61": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "longName": "41201 - Disclosure - Stockholders' Equity (Details)", "shortName": "Stockholders' Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ProceedsFromIssuanceOfCommonStock", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X9yBzEKn5EKomv7Ygtqw2A", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised", "unitRef": "Unit_Standard_shares_xbWktT0WKE-wDwo1AC_ibQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R62": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "longName": "41202 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details)", "shortName": "Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:ProceedsFromIssuanceOfCommonStock", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_2_28_2022_LbGbhGg1UEWTmltrQnufAw", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R63": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "longName": "41301 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "shortName": "Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails", "longName": "41401 - Disclosure - Commitments and Contingencies - Legal (Details)", "shortName": "Commitments and Contingencies - Legal (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_UG2FRz58xkilYqj75Syoqw", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "longName": "41501 - Disclosure - Reportable Segments (Details)", "shortName": "Reportable Segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_InyoiVAhsUCuyDHZiTxKeg", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_pngvfj6qh0mmtrzIsfLfxQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "prim:GrossProfitAsPercentageOfSegmentRevenue", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R66": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails", "longName": "41502 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "shortName": "Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_9_30_2023_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_KqjTvaYtk0GBV6Njcp26XA", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_xiPthQzwPk6ycgnz2mQN3A", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "unique": true } }, "R67": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "67", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_CcptBcWlvkuFLQKjQVORGw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true }, "uniqueAnchor": null }, "R68": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "68", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_30_2023_Na0Ir7ujzkq2ZXt3cXcvAg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20230930x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "verboseLabel": "Operating lease assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r445" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of assets", "verboseLabel": "Aggregate sales price, net of closing costs", "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." } } }, "auth_ref": [ "r106" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r720" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "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." } } }, "auth_ref": [ "r22", "r148", "r177", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r406", "r409", "r410", "r432", "r635", "r769", "r810", "r811" ] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Payments on revolving lines of credit", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r35", "r745" ] }, "us-gaap_DividendsDeclaredTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsDeclaredTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Dividends Declared [Table Text Block]", "terseLabel": "Schedule of cash dividends paid or declared", "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible assets", "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." } } }, "auth_ref": [ "r462" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Debt", "negatedLabel": "Payments on long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r35", "r504" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "totalLabel": "Contract liabilities", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r322", "r323", "r336" ] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r119", "r176", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r421", "r565", "r566", "r587" ] }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Current Assets", "negatedLabel": "Other current assets", "documentation": "Amount of increase (decrease) in current assets classified as other." } } }, "auth_ref": [ "r743" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "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." } } }, "auth_ref": [ "r20", "r177", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r406", "r409", "r410", "r432", "r522", "r608", "r650", "r769", "r810", "r811" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Earnout", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r2", "r71", "r402" ] }, "prim_AccountsReceivableSecuritizationTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "AccountsReceivableSecuritizationTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "The period over which the entity entered for securitization of accounts receivable.", "label": "Accounts Receivable Securitization Term", "terseLabel": "Facility term" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r258", "r259", "r260", "r261", "r462", "r463" ] }, "prim_AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable securitization facility.", "label": "Accounts Receivable Securitization Facility Policy [Policy Text Block]", "terseLabel": "Accounts Receivable Securitization Facility" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "verboseLabel": "Goodwill and Intangible Assets", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r113" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "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." } } }, "auth_ref": [ "r211", "r212", "r223", "r228", "r229", "r235", "r237", "r239", "r334", "r335", "r461" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Estimated future amortization expense for intangible assets" } } }, "auth_ref": [] }, "prim_ProceedsFromAccountsReceivableSecuritizationOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ProceedsFromAccountsReceivableSecuritizationOperatingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Proceeds from securitizations of receivables treated as collateralized borrowings, which are classified as operating activities.", "label": "Proceeds From Accounts Receivable Securitization, Operating Activities", "terseLabel": "Cash proceeds from facility" } } }, "auth_ref": [] }, "prim_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxes", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred taxes acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Taxes", "terseLabel": "Change in deferred taxes" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other long-term liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r52", "r54" ] }, "prim_SpecialPurposeEntityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "SpecialPurposeEntityMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Special Purpose Entity.", "label": "Special Purpose Entity [Member]", "terseLabel": "Special Purpose Entity" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other long-term assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r743" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r637", "r638", "r639", "r641", "r642", "r643", "r646", "r748", "r749", "r805", "r824", "r825" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment [Abstract]", "terseLabel": "Preliminary estimated fair values" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r96", "r131", "r475", "r635", "r746", "r754", "r806" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r397", "r398" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Nonoperating, Net", "terseLabel": "Interest expense, net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other", "negatedLabel": "Other long-term liabilities", "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net Income", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r397", "r398" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles", "terseLabel": "Increase (decrease) to intangible assets", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to intangibles acquired in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r68" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r146", "r160", "r162", "r170", "r177", "r183", "r191", "r192", "r210", "r224", "r230", "r233", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r404", "r407", "r408", "r424", "r432", "r467", "r478", "r507", "r544", "r560", "r561", "r609", "r632", "r633", "r649", "r741", "r769" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeFairValueOfDerivativeAsset", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Fair Value, Gross Asset", "terseLabel": "Derivative asset", "documentation": "Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement." } } }, "auth_ref": [ "r13", "r74", "r97", "r158", "r606" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Domain]", "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." } } }, "auth_ref": [ "r23", "r56" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Business Combination, Acquisition Related Costs", "verboseLabel": "Transaction and related costs", "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." } } }, "auth_ref": [ "r63" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "auth_ref": [] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Fixed Interest Rate", "terseLabel": "Derivative fixed interest rate (as a percent)", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (See Note 14)", "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." } } }, "auth_ref": [ "r25", "r85", "r471", "r523" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average common shares outstanding:", "verboseLabel": "Denominator:" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Total", "totalLabel": "Total", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r67" ] }, "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables" ], "lang": { "en-us": { "role": { "label": "Restrictions on Cash and Cash Equivalents [Table Text Block]", "terseLabel": "Schedule of reconciliation of cash, cash equivalents and restricted cash", "documentation": "Tabular disclosure of cash and cash equivalents restricted as to withdrawal or usage." } } }, "auth_ref": [ "r14", "r127", "r821" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average shares for computation of basic earnings per share", "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." } } }, "auth_ref": [ "r194", "r203" ] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Long-term Debt", "terseLabel": "Proceeds from issuance of long-term debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r33", "r503" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r9" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "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." } } }, "auth_ref": [ "r207", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r233", "r239", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r263", "r264", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r611", "r734", "r822" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign exchange gain, net", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r433", "r434", "r435", "r436", "r559" ] }, "prim_ScheduleOfTheCashPaidForAcquisitionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the cash paid for acquisitions by the entity.", "label": "Schedule of the Cash Paid for Acquisitions [Table Text Block]", "terseLabel": "Summary of the cash paid for acquisitions" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes, net of refunds received", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r39" ] }, "us-gaap_DividendsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Current", "terseLabel": "Dividends payable", "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r21" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "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." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r48", "r99" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r712" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "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." } } }, "auth_ref": [ "r128", "r153", "r177", "r210", "r225", "r231", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r405", "r409", "r432", "r469", "r536", "r635", "r650", "r769", "r770", "r810" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Payroll and related employee benefits", "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)." } } }, "auth_ref": [ "r21" ] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Options to extend leases", "documentation": "Indicates (true false) whether lessee has option to extend operating lease." } } }, "auth_ref": [ "r448" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of stock", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r210", "r224", "r230", "r233", "r609" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues and total assets by geographic area", "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." } } }, "auth_ref": [] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r712" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income", "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." } } }, "auth_ref": [ "r31", "r161", "r163", "r167", "r465", "r480" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Customer concentration", "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." } } }, "auth_ref": [ "r589" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts receivable", "verboseLabel": "Accounts receivable, net", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r589" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r41", "r43", "r80", "r81", "r239", "r589", "r731" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue expected timing", "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." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "verboseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r61", "r62", "r349" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Customer concentration", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r87", "r138" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r40", "r41", "r43", "r44", "r80", "r126", "r589" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective income tax rate reconciliation (in percent)", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r385" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r712" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r712" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r151", "r260" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "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." } } }, "auth_ref": [ "r64", "r65", "r399" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of pro forma results", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r732", "r733" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill by Reporting Unit [Table Text Block]", "terseLabel": "Schedule of goodwill by reporting unit", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r611", "r755", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r765" ] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "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." } } }, "auth_ref": [ "r178", "r381", "r386", "r387", "r388", "r391", "r394", "r395", "r396", "r506" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r52", "r54", "r462" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r689" ] }, "us-gaap_EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP), Weighted Average Purchase Price of Shares Purchased", "terseLabel": "Stock purchase price", "documentation": "Weighted average purchase price of capital shares purchased through an employee stock ownership plan." } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Summary of intangible asset categories, amounts and the average amortization periods", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r52", "r54" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r729", "r742" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net, Noncurrent", "verboseLabel": "Deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r382", "r383", "r470" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r152" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid", "terseLabel": "Cash paid for interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r169", "r172", "r173" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "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." } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r105" ] }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockAcquiredAverageCostPerShare", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Amount paid for shares purchased and cancelled under share purchase program (per share)", "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased." } } }, "auth_ref": [ "r59" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised", "terseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares)", "documentation": "Number of non-option equity instruments exercised by participants." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerBasisOfPricingAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Axis]", "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer." } } }, "auth_ref": [ "r622", "r774" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital", "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." } } }, "auth_ref": [ "r378", "r379", "r380", "r508", "r748", "r749", "r750", "r805", "r825" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity Roll Forward", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value Issued to Employees and Directors", "terseLabel": "Issuance of shares to employees and directors", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r60", "r90", "r91", "r122" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Amount received in exchange for shares of common stock under a long term incentive plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r11", "r90", "r91", "r122" ] }, "us-gaap_GranteeStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Axis]", "documentation": "Information by status of recipient to whom award is granted." } } }, "auth_ref": [ "r348", "r350", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "verboseLabel": "SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r426", "r427", "r430" ] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FixedPriceContractMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Fixed price", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r622" ] }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes", "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities." } } }, "auth_ref": [ "r11", "r27", "r122" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Amount paid for shares purchased under share purchase program", "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)." } } }, "auth_ref": [ "r11", "r90", "r91", "r122" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, New Issues", "verboseLabel": "Issuance of shares (in shares)", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r11", "r90", "r91", "r122", "r503", "r562", "r585" ] }, "us-gaap_MortgagesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MortgagesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Mortgage notes", "documentation": "A loan to finance the purchase of real estate where the lender has a lien on the property as collateral for the loan." } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income, net of tax:" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerBasisOfPricingDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Domain]", "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts." } } }, "auth_ref": [ "r622", "r774" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Significant Other Observable Inputs (Level2)", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r294", "r340", "r345", "r427", "r456", "r613", "r614", "r626", "r627", "r628" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "terseLabel": "Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors", "verboseLabel": "Issuance of shares to employees and directors (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r11", "r90", "r91", "r122" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Quoted Prices in Active Markets for Identical Assets (Level 1)", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r294", "r340", "r345", "r427", "r455", "r626", "r627", "r628" ] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed." } } }, "auth_ref": [ "r52" ] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from issuance of common stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r6" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r11", "r27", "r144", "r164", "r165", "r166", "r180", "r181", "r182", "r184", "r190", "r192", "r205", "r243", "r244", "r321", "r378", "r379", "r380", "r389", "r390", "r414", "r415", "r416", "r417", "r418", "r419", "r422", "r437", "r438", "r439", "r440", "r441", "r442", "r453", "r495", "r496", "r497", "r508", "r562" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Significant Unobservable Inputs (Level 3)", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r294", "r340", "r341", "r342", "r343", "r344", "r345", "r427", "r457", "r613", "r614", "r626", "r627", "r628" ] }, "us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Derivative Assets at Fair Value [Table Text Block]", "terseLabel": "Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets", "documentation": "Tabular disclosure of derivative assets at fair value." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r144", "r180", "r181", "r182", "r184", "r190", "r192", "r243", "r244", "r378", "r379", "r380", "r389", "r390", "r414", "r416", "r417", "r419", "r422", "r495", "r497", "r508", "r825" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computation of basic and diluted earnings per share", "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." } } }, "auth_ref": [ "r752" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contract liability at beginning of period", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r337" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares of common stock issued under the long-term incentive plan", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r11", "r90", "r91", "r122" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of estimated future amortization expense for intangible assets", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r54" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r714" ] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares)", "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities." } } }, "auth_ref": [ "r11", "r26", "r57", "r122", "r297" ] }, "us-gaap_DerivativeLiabilityNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLiabilityNotionalAmount", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Notional Amount", "terseLabel": "Notional Amount", "documentation": "Nominal or face amount used to calculate payments on the derivative liability." } } }, "auth_ref": [ "r575", "r577", "r579", "r581", "r801", "r802", "r803" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r11", "r144", "r164", "r165", "r166", "r180", "r181", "r182", "r184", "r190", "r192", "r205", "r243", "r244", "r321", "r378", "r379", "r380", "r389", "r390", "r414", "r415", "r416", "r417", "r418", "r419", "r422", "r437", "r438", "r439", "r440", "r441", "r442", "r453", "r495", "r496", "r497", "r508", "r562" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Number of shares purchased and cancelled under share purchase program", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r11", "r90", "r91", "r122" ] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtInstrumentsTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table Text Block]", "terseLabel": "Schedule of long-term debt and credit facilities", "documentation": "Tabular disclosure of long-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 entity, if longer." } } }, "auth_ref": [ "r23", "r57", "r58", "r82", "r83", "r84", "r86", "r120", "r121", "r613", "r615", "r747" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income", "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." } } }, "auth_ref": [ "r4", "r10", "r30", "r415", "r418", "r453", "r495", "r496", "r739", "r740", "r741", "r748", "r749", "r750" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair value measurements", "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." } } }, "auth_ref": [ "r426", "r427", "r430" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "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 used in operating activities (net of effect of acquisitions):" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosureAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r136", "r141", "r191", "r192", "r218", "r384", "r392", "r482" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Contract assets", "totalLabel": "Contract assets", "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." } } }, "auth_ref": [ "r322", "r324", "r336" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r8", "r215" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Borrowings under revolving lines of credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r33", "r745" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "verboseLabel": "Revenue", "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." } } }, "auth_ref": [ "r143", "r325", "r326", "r327", "r328", "r329", "r330", "r332", "r333", "r338" ] }, "us-gaap_GranteeStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Domain]", "documentation": "Status of recipient to whom award is granted." } } }, "auth_ref": [ "r348", "r350", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377" ] }, "prim_RenewableEnergyCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "RenewableEnergyCustomerMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the renewable energy customer.", "label": "Renewable Energy Customer [Member]", "terseLabel": "Renewable energy customer" } } }, "auth_ref": [] }, "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterAnnualReport": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterAnnualReport", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The period following filing of annual report for purchase of shares under the equity-based payment award.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Share Purchase Period after Annual Report", "terseLabel": "Purchase in annual report period" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense of intangible assets", "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." } } }, "auth_ref": [ "r8", "r51", "r55" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Cash paid for acquisitions, net of cash and restricted cash acquired", "terseLabel": "Net cash paid", "totalLabel": "Net cash paid", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r32" ] }, "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterQuarterlyReport": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterQuarterlyReport", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The period following filing of quarterly report for purchase of shares under the equity-based payment award.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Share Purchase Period after Quarterly Report", "terseLabel": "Purchase of quarterly report period" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAndWorkingCapitalTotal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAndWorkingCapitalTotal", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment and working capital recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, And, Working Capital, Total", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, fixed assets and working capital" } } }, "auth_ref": [] }, "prim_SecondAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "SecondAgreementMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the second agreement.", "label": "Second Agreement [Member]", "terseLabel": "Second agreement" } } }, "auth_ref": [] }, "prim_FirstAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "FirstAgreementMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the first agreement.", "label": "First Agreement [Member]", "terseLabel": "First agreement" } } }, "auth_ref": [] }, "prim_IncreaseDecreaseInWorkingCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncreaseDecreaseInWorkingCapital", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to working capital assumed in connection with a business combination for which the initial accounting was incomplete.", "label": "Increase decrease in working capital", "terseLabel": "Increase (decrease) in working capital" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of contract liabilities, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract Liabilities", "negatedLabel": "Contract liabilities" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of contract assets, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract Assets", "terseLabel": "Contract assets" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Basis of Presentation" } } }, "auth_ref": [] }, "prim_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContractLiabilities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to contract liabilities assumed in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Contract Liabilities", "terseLabel": "Increase in contract liabilities" } } }, "auth_ref": [] }, "prim_LesseeOperatingLeaseLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of operating lease liabilities.", "label": "Lessee Operating Lease Liability [Table Text Block]", "terseLabel": "Summary of operating lease liabilities" } } }, "auth_ref": [] }, "prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating lease assets and liabilities.", "label": "Increase Decrease in Operating Lease Assets and Liabilities", "negatedLabel": "Operating lease assets and liabilities, net" } } }, "auth_ref": [] }, "prim_EnergyRenewablesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "EnergyRenewablesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Energy/Renewables, a reportable segment of the entity.", "label": "Energy", "terseLabel": "Energy" } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r24" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of operating lease assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Assets", "terseLabel": "Operating lease assets" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of operating lease liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Operating Lease Liabilities", "negatedLabel": "Noncurrent operating lease liabilities, net of current" } } }, "auth_ref": [] }, "prim_EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of income tax rate used for calculation of proforma income loss and adjustments due to business acquisition.", "label": "Effective Income Tax Rate Reconciliation, Proforma Tax Effect Business Acquisition", "terseLabel": "Tax rate" } } }, "auth_ref": [] }, "prim_PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of time goodwill is expected to be deductible for income tax purposes.", "label": "Period of Time Goodwill is Deductible for Income Tax Purposes", "terseLabel": "Goodwill is expected to be deductible for income tax purposes (in years)" } } }, "auth_ref": [] }, "prim_TopTenCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "TopTenCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the top ten customers of the entity.", "label": "Top ten customers" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "prim_RemainingPerformanceObligationOnBondedProjects": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "RemainingPerformanceObligationOnBondedProjects", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the remaining performance obligation on the bonded projects.", "label": "Remaining Performance Obligation on Bonded Projects", "terseLabel": "Remaining performance obligation on the bonded projects." } } }, "auth_ref": [] }, "prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CommercialEquipmentFinancingDueJune2018ToAugust2022Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the written promise to pay a note to a commercial equipment finance entity, maturing range from June 15, 2018 to August 22, 2022.", "label": "Commercial equipment notes" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt, including current portion, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Long-term Debt", "negatedLabel": "Long-term debt (including current portion)" } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfTopCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ConcentrationRiskNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of top customers who typically generate revenue in excess of a specified percentage of total revenues for the entity and consist of a different group of customers in each year.", "label": "Concentration Risk, Number of Top Customers", "terseLabel": "Number of top customers" } } }, "auth_ref": [] }, "prim_ContingentConsiderationLiabilitiesFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContingentConsiderationLiabilitiesFairValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of contingent consideration liabilities.", "label": "Contingent Consideration Liabilities, Fair Value", "terseLabel": "Contingent consideration", "verboseLabel": "Estimated fair value of the contingent consideration" } } }, "auth_ref": [] }, "prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year.", "label": "Concentration Risk, Minimum Percentage of Revenues Generated by Specified Number of Top Customers", "terseLabel": "Minimum percentage of revenues generated by top ten customers" } } }, "auth_ref": [] }, "prim_FiniteLivedIntangibleAssetExpectedAmortizationInAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "FiniteLivedIntangibleAssetExpectedAmortizationInAfterYearFour", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized in the fourth fiscal year following current fiscal year and thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization in After Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "prim_AlbertaScrewPilesLtdMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "AlbertaScrewPilesLtdMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Alberta screw piles, ltd.", "label": "ASP" } } }, "auth_ref": [] }, "prim_RevenuePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "RevenuePercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of revenue to total revenue.", "label": "Revenue, Percentage", "terseLabel": "% of Total Revenue", "verboseLabel": "% of Revenue" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r41", "r43", "r80", "r81", "r239", "r589" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Acquired intangible assets", "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." } } }, "auth_ref": [] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r712" ] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedWorkingCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedWorkingCapital", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of working capital acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, working capital" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionGoodwillExpectedTaxDeductiblePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionGoodwillExpectedTaxDeductiblePercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of goodwill arising from a business combination that is expected to be deductible for tax purposes.", "label": "Business Acquisition, Goodwill, Expected Tax Deductible Percentage", "terseLabel": "Goodwill expected to be deductible rate" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "auth_ref": [] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r712" ] }, "prim_CashAndRestrictedCashAcquiredFromAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CashAndRestrictedCashAcquiredFromAcquisition", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The cash and restricted cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "Cash and Restricted Cash Acquired from Acquisition", "negatedLabel": "Less cash and restricted cash acquired" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r41", "r43", "r80", "r81", "r239", "r501", "r589" ] }, "prim_BCommConstructorLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BCommConstructorLlcMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to B COMM Constructor, LLC.", "label": "B Comm Holdco, LLC" } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. 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). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r111" ] }, "prim_ForeignLettersOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ForeignLettersOfCreditMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution outside the USA which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Foreign letters of credit [Member]", "terseLabel": "Foreign letters of credit" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Reportable Segments" } } }, "auth_ref": [] }, "prim_BondsIssuedAndOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BondsIssuedAndOutstanding", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of bonds issued and outstanding.", "label": "Bonds, Issued and Outstanding", "terseLabel": "Bid and completion bonds issued and outstanding" } } }, "auth_ref": [] }, "prim_PlhGroupIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "PlhGroupIncMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to PLH Group, Inc", "label": "PLH Group Inc" } } }, "auth_ref": [] }, "prim_SaleLeasebackTransactionLeaseInitialTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "SaleLeasebackTransactionLeaseInitialTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Period of sale leaseback transaction lease in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Sale Leaseback Transaction Lease Initial Term", "terseLabel": "Initial term" } } }, "auth_ref": [] }, "prim_StockholdersEquityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "StockholdersEquityLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stockholders Equity [Line Items]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue.", "label": "Concentration Risk, Number of Calendar Years in which Top Customers Generate Specified Percentage of Revenue", "terseLabel": "Number of calendar years in which top customers typically generate minimum specified percentage of revenue" } } }, "auth_ref": [] }, "prim_DividendsAndEarningsPerShareDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "DividendsAndEarningsPerShareDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for dividends paid or declared and earnings per share.", "label": "Dividends and Earnings Per Share Disclosure [Text Block]", "terseLabel": "Dividends and Earnings Per Share" } } }, "auth_ref": [] }, "prim_SaleAndLeasebackTransactionNetProceedsInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "SaleAndLeasebackTransactionNetProceedsInvestingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow after closing and debt issuance costs received by a seller-lessee in a sale-leaseback recognized in investing activities.", "label": "Sale and Leaseback Transaction, Net Proceeds, Investing Activities", "terseLabel": "Proceeds from sale and leaseback transaction, net of related expenses" } } }, "auth_ref": [] }, "prim_CreditFacilityWithCanadianBankMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CreditFacilityWithCanadianBankMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to credit facility with a Canadian bank.", "label": "Canadian Credit Facility" } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r687" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (as a percent)", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends per common share (in dollars per share)", "verboseLabel": "Cash dividend declared (in dollars per share)", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r122" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r717" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r726" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Hierarchy [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r294", "r340", "r341", "r342", "r343", "r344", "r345", "r427", "r455", "r456", "r457", "r613", "r614", "r626", "r627", "r628" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Purchase of common stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r34" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r117", "r265", "r266", "r590", "r767" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r426", "r427", "r428", "r429", "r431" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r720" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of financial assets and liabilities which are required to be measured at fair value", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r426", "r427" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Dividends paid", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Summary of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of the identifiable assets acquired and liabilities assumed", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r124" ] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r700" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r21" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r701" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment", "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." } } }, "auth_ref": [ "r107" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r29", "r30", "r98", "r156", "r473", "r499", "r500" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Recurring", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r425", "r431" ] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt", "totalLabel": "Total debt, net", "verboseLabel": "Aggregate principal amount", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r15", "r130", "r293", "r308", "r613", "r614", "r820" ] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxesPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Taxes Payable, Current", "terseLabel": "Corporate income taxes and other taxes", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r19" ] }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedPaymentArrangementNonemployeeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Independent Directors", "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires." } } }, "auth_ref": [ "r348", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r116" ] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Amount Outstanding", "terseLabel": "Borrowings outstanding", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a 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. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r15", "r130", "r820" ] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current Maturities", "negatedLabel": "Less: current portion", "terseLabel": "Current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r154" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "verboseLabel": "Diluted earnings per share (in dollars per share)", "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." } } }, "auth_ref": [ "r168", "r185", "r186", "r187", "r188", "r189", "r196", "r201", "r202", "r203", "r204", "r423", "r424", "r466", "r481", "r607" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_LandBuildingsAndImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandBuildingsAndImprovementsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Land, buildings and improvements", "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r657", "r668", "r678", "r703" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r140" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Trade accounts receivables", "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." } } }, "auth_ref": [ "r240", "r241" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r808" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r701" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r91" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestRateSwapMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Interest rate swap", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r603", "r644", "r645" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r688" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r701" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt, net of current portion", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r155" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions", "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)." } } }, "auth_ref": [ "r123", "r400" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r701" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r666", "r674", "r684", "r701", "r709", "r713", "r721" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r666", "r674", "r684", "r701", "r709", "r713", "r721" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Services, Excluding Depreciation, Depletion, and Amortization", "terseLabel": "Cost of revenue", "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." } } }, "auth_ref": [ "r103", "r461" ] }, "us-gaap_ReceivablesLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesLongTermContractsOrPrograms", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Receivables, Long-term Contracts or Programs", "terseLabel": "Retention receivable", "documentation": "Amount to be collected within one year of the balance sheet date (or one operating cycle, if longer) from customers in accordance with the contractual provisions of long-term contracts or programs including amounts billed and unbilled as of the balance sheet date." } } }, "auth_ref": [ "r736" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r656", "r667", "r677", "r702" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r719" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Weighted average shares for computation of diluted earnings per share", "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." } } }, "auth_ref": [ "r195", "r203" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r656", "r667", "r677", "r702" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r93", "r122", "r474", "r498", "r500", "r505", "r525", "r635" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "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." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Customer concentration", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r42", "r239" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "terseLabel": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r102", "r177", "r210", "r224", "r230", "r233", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r432", "r609", "r769" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Goodwill", "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." } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r611" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r720" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r611" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Useful life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DividendsPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Dividends Payable", "terseLabel": "Dividends declared and not yet paid", "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding." } } }, "auth_ref": [ "r88", "r89", "r129", "r647", "r819" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r652" ] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r193", "r347", "r727", "r728", "r751" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario, Unspecified [Domain]" } } }, "auth_ref": [ "r193", "r347", "r727", "r751" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r91", "r94", "r95", "r112", "r526", "r542", "r563", "r564", "r635", "r650", "r746", "r754", "r806", "r825" ] }, "us-gaap_BusinessAcquisitionProFormaInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Abstract]", "terseLabel": "Pro forma results" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r64", "r65", "r399", "r629", "r630" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r652" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Adjustments to identifiable assets acquired and liabilities assumed", "verboseLabel": "Adjustments to goodwill", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting 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." } } }, "auth_ref": [ "r1", "r762" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "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." } } }, "auth_ref": [ "r399", "r629", "r630" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "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." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r70" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, New Issues", "verboseLabel": "Issuance of shares", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r11", "r90", "r91", "r122", "r508", "r562", "r585", "r649" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "verboseLabel": "Acquisitions", "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." } } }, "auth_ref": [ "r399" ] }, "prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerLiabilityAccruedLossProvisionCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Accrued loss provision component 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 Accrued Loss Provision Current", "terseLabel": "Accrued loss provision" } } }, "auth_ref": [] }, "prim_MasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "MasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for MSA customers.", "label": "MSA" } } }, "auth_ref": [] }, "prim_UnitPriceContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "UnitPriceContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Unit-price contract.", "label": "Unit price" } } }, "auth_ref": [] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "prim_CostReimbursableContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CostReimbursableContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for cost reimbursable contract.", "label": "Cost reimbursable" } } }, "auth_ref": [] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r513", "r515", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r537", "r538", "r539", "r540", "r549", "r550", "r551", "r552", "r555", "r556", "r557", "r558", "r574", "r576", "r580", "r582", "r637", "r639" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets", "verboseLabel": "Deferred tax assets", "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r339", "r346", "r374", "r375", "r376", "r458", "r459", "r494", "r514", "r515", "r567", "r569", "r571", "r572", "r583", "r601", "r602", "r610", "r617", "r631", "r636", "r639", "r766", "r773", "r813", "r814", "r815", "r816", "r817" ] }, "prim_ContractWithCustomerAccountsPayableDueToSubcontractors": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerAccountsPayableDueToSubcontractors", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount due to subcontractors and retained pending contract completion and customer acceptance of jobs included in accounts payable.", "label": "Contract with Customer, Accounts Payable, Due to Subcontractors", "terseLabel": "Retention amounts included in accounts payable" } } }, "auth_ref": [] }, "prim_NumberOfInstrumentsUsedForTrading": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "NumberOfInstrumentsUsedForTrading", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of instruments used for trading.", "label": "Number Of Instruments Used For Trading", "terseLabel": "Number of instruments used for trading" } } }, "auth_ref": [] }, "prim_CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the threshold restriction percentage of disposal of total assets.", "label": "Credit Agreement, Threshold Restriction Percentage Of Disposal Of Total Assets", "terseLabel": "Percentage of credit agreement, threshold restriction of total assets" } } }, "auth_ref": [] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r715" ] }, "prim_ContractWithCustomerLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerLiabilityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contract liabilities balances and changes in contract liabilities balances.", "label": "Contract with Customer, Liability [Table Text Block]", "terseLabel": "Schedule of contract liabilities" } } }, "auth_ref": [] }, "prim_ContractWithCustomerLiabilityDeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerLiabilityDeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of obligation before accrued loss provision on transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "auth_ref": [] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "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." } } }, "auth_ref": [ "r180", "r181", "r182", "r205", "r461", "r502", "r509", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r537", "r538", "r539", "r540", "r541", "r543", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r562", "r640" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r689" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r689" ] }, "prim_ContractWithCustomerLiabilityModificationOfContract": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerLiabilityModificationOfContract", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of contract modifications included in the expected contract value.", "label": "Contract with Customer, Liability, Modification of Contract", "terseLabel": "Amount of contract modifications included in the expected contract value." } } }, "auth_ref": [] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Revenues", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r239", "r730" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r692" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r691" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r346", "r459", "r494", "r514", "r515", "r567", "r569", "r571", "r572", "r583", "r601", "r602", "r610", "r617", "r631", "r636", "r773", "r812", "r813", "r814", "r815", "r816", "r817" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "documentation": "Disclosure of information about derivatives and hedging activities." } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ConcentrationRiskNumberOfCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage.", "label": "Concentration Risk, Number of Customers", "terseLabel": "Number of customers" } } }, "auth_ref": [] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r339", "r346", "r374", "r375", "r376", "r458", "r459", "r494", "r514", "r515", "r567", "r569", "r571", "r572", "r583", "r601", "r602", "r610", "r617", "r631", "r636", "r639", "r766", "r773", "r813", "r814", "r815", "r816", "r817" ] }, "prim_GrossProfitAsPercentageOfSegmentRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "GrossProfitAsPercentageOfSegmentRevenue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the gross profit represented as a percentage of total segment revenue.", "label": "Gross Profit as Percentage of Segment Revenue", "terseLabel": "% of Segment Revenue" } } }, "auth_ref": [] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r690" ] }, "prim_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma income from continuing operations before income taxes for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisitions, Pro Forma Income (Loss) from Continuing Operations before Income Taxes", "terseLabel": "Income before provision for income taxes" } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r346", "r459", "r494", "r514", "r515", "r567", "r569", "r571", "r572", "r583", "r601", "r602", "r610", "r617", "r631", "r636", "r773", "r812", "r813", "r814", "r815", "r816", "r817" ] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Weighted Average Number of Shares Outstanding [Abstract]", "terseLabel": "Weighted average common shares outstanding:" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma number of basic weighted average shares outstanding for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Weighted Average Number of Shares Outstanding Basic", "terseLabel": "Basic (in shares)" } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments", "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." } } }, "auth_ref": [] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r690" ] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma number of diluted weighted average shares outstanding for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Weighted Average Number of Diluted Shares Outstanding", "terseLabel": "Diluted (in shares)" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionProFormaEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "BusinessAcquisitionProFormaEarningsPerShareAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Earnings Per Share [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r691" ] }, "prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents percentage of average market closing prices used in determining number of common stock that could be purchased by participants.", "label": "Deferred Compensation Arrangement Percentage of Average Market Closing Prices used in Determining Number of Common Stock that Could be Purchased by Participants", "terseLabel": "Percentage of average market closing prices used in determining number of common stock that could be purchased by participants" } } }, "auth_ref": [] }, "prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the credit agreement with Private Bank, Bank of the West and IBERIABANK Corporation.", "label": "Credit Agreement." } } }, "auth_ref": [] }, "prim_EquityIncentivePlan2013Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "EquityIncentivePlan2013Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the 2013 Equity Incentive Plan of the entity.", "label": "Equity Plan" } } }, "auth_ref": [] }, "prim_NonUnitedStatesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "NonUnitedStatesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents regions excluding the United States.", "label": "Non-United States" } } }, "auth_ref": [] }, "prim_NonMasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "NonMasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Non-MSA customers.", "label": "Non-MSA" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r692" ] }, "prim_LongTermRetentionPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "LongTermRetentionPlanMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the Long-Term Retention Plan of the entity.", "label": "LTR Plan" } } }, "auth_ref": [] }, "prim_TotalAssetsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "TotalAssetsPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of assets to total assets.", "label": "% of total assets" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r692" ] }, "prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncreaseDecreaseInContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in contract with customers liability current.", "label": "Increase (Decrease) in Contract with Customer Liability Current", "terseLabel": "Increase in contract liabilities" } } }, "auth_ref": [] }, "prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "RevenueRemainingPerformanceObligationExpectedTimingPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of revenue to be recognized on performance obligations for the period.", "label": "Revenue Remaining Performance Obligation Expected Timing Percentage", "terseLabel": "Percentage of remaining performance obligation expected to be recognized in period" } } }, "auth_ref": [] }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the maximum period of statute of limitations of state and foreign jurisdictions.", "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Maximum", "terseLabel": "Maximum period of statute of limitations of state and foreign jurisdictions" } } }, "auth_ref": [] }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum period of statute of limitations of state and foreign jurisdictions.", "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Minimum", "terseLabel": "Minimum period of statute of limitations of state and foreign jurisdictions" } } }, "auth_ref": [] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r692" ] }, "prim_DividendsAndEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "DividendsAndEarningsPerShareAbstract", "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Dividends and Earnings Per Share" } } }, "auth_ref": [] }, "prim_UAndDSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "UAndDSegmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "Pertaining to the Utilities and Distribution segment.", "label": "Utilities" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r693" ] }, "prim_ContractWithCustomerAssetTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "ContractWithCustomerAssetTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contract assets balances and changes in contract assets balances.", "label": "Contract with Customer, Asset [Table Text Block]", "terseLabel": "Schedule of contract assets" } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "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." } } }, "auth_ref": [ "r92" ] }, "prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20230930", "localname": "IncreaseDecreaseInContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in contract with customer asset net current.", "label": "Increase (Decrease) in Contract with Customer Asset Net Current", "terseLabel": "Increase (decrease) in contract assets" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "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)." } } }, "auth_ref": [ "r16", "r635" ] }, "srt_ConsolidatedEntitiesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Interest Entity, Classification [Domain]" } } }, "auth_ref": [ "r179", "r405", "r406", "r409", "r410", "r454", "r600", "r768", "r771", "r772" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Components of lease expense" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "Credit Agreements", "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." } } }, "auth_ref": [ "r179", "r281", "r282", "r283", "r284", "r285", "r287", "r292", "r293", "r294", "r295", "r297", "r298", "r299", "r300", "r301", "r302", "r305", "r443", "r612", "r613", "r614", "r615", "r616", "r745" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r720" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangements" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Credit Arrangements", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r118", "r175", "r280", "r286", "r287", "r288", "r289", "r290", "r291", "r296", "r303", "r304", "r306" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "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." } } }, "auth_ref": [ "r23", "r57", "r58", "r82", "r83", "r84", "r86", "r120", "r121", "r179", "r281", "r282", "r283", "r284", "r285", "r287", "r292", "r293", "r294", "r295", "r297", "r298", "r299", "r300", "r301", "r302", "r305", "r443", "r612", "r613", "r614", "r615", "r616", "r745" ] }, "us-gaap_OtherNoncashExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Expense", "terseLabel": "Other non-cash items", "documentation": "Amount of expense or loss included in net income that result in no cash flow, classified as other." } } }, "auth_ref": [ "r110" ] }, "srt_ConsolidatedEntitiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Axis]" } } }, "auth_ref": [ "r179", "r405", "r406", "r409", "r410", "r454", "r600", "r768", "r771", "r772" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r721" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r721" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Total debt", "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." } } }, "auth_ref": [ "r15", "r130", "r307" ] }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeGainLossOnDerivativeNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Gain (Loss) on Derivative, Net", "negatedLabel": "Amount of (gain) loss recognized on derivatives, net", "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement." } } }, "auth_ref": [ "r804" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Debt issuance costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r36" ] }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Revenue recognized from performance obligations satisfied in previous periods", "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price." } } }, "auth_ref": [ "r331" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Tradename", "terseLabel": "Tradenames", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r69" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r722" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r449", "r634" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r721" ] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCash", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash", "verboseLabel": "Restricted cash included in prepaid expense and other current assets", "documentation": "Amount of cash restricted as to withdrawal or usage. 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." } } }, "auth_ref": [ "r735", "r744", "r818", "r821" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegments" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Reportable Segments", "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." } } }, "auth_ref": [ "r206", "r207", "r208", "r209", "r210", "r222", "r227", "r231", "r232", "r233", "r234", "r235", "r236", "r239" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r447" ] }, "us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Cumulative Catch-up Adjustment to Revenue, Modification of Contract", "terseLabel": "Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from contract modification which increases (decreases) right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r618" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r723" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r722" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash, cash equivalents and restricted cash", "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." } } }, "auth_ref": [ "r3", "r108" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r719" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash", "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; including, but not limited to, 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." } } }, "auth_ref": [ "r807" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of revenue disaggregation by various categories", "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." } } }, "auth_ref": [ "r774" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of revenue and gross profit by segment", "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." } } }, "auth_ref": [ "r45", "r46", "r47", "r49" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of the period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of the period", "totalLabel": "Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows", "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." } } }, "auth_ref": [ "r37", "r108", "r174" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment reporting information", "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." } } }, "auth_ref": [] }, "us-gaap_UnrealizedGainLossOnDerivatives": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrealizedGainLossOnDerivatives", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Unrealized Gain (Loss) on Derivatives", "negatedLabel": "Unrealized gain on interest rate swap", "documentation": "The net change in the difference between the fair value and the carrying value, or in the comparative fair values, of derivative instruments, including options, swaps, futures, and forward contracts, held at each balance sheet date, that was included in earnings for the period." } } }, "auth_ref": [ "r8", "r555", "r556", "r557", "r558", "r578" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "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." } } }, "auth_ref": [ "r45", "r46", "r47", "r49" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r724" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r655", "r725" ] }, "us-gaap_AccruedInsuranceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Insurance, Current", "terseLabel": "Casualty insurance reserves", "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)." } } }, "auth_ref": [ "r21" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r83", "r84", "r281", "r443", "r613", "r614" ] }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Common Stock", "verboseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r719" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r718" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "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. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r21" ] }, "us-gaap_RestrictedCashAssetStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAssetStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes cash restricted to withdrawal or usage." } } }, "auth_ref": [ "r744" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r655", "r725" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue", "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." } } }, "auth_ref": [ "r335", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Acquisitions" } } }, "auth_ref": [] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r655", "r725" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "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." } } }, "auth_ref": [ "r335", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ] }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryForLongTermContractsOrPrograms", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Inventory for Long-term Contracts or Programs, Gross", "terseLabel": "Contract materials (not yet installed)", "documentation": "Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r737" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses", "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." } } }, "auth_ref": [ "r104" ] }, "us-gaap_DerivativeAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current", "terseLabel": "Derivative assets, current", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r159" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r140" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Remaining performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r139" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "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." } } }, "auth_ref": [ "r7" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents", "documentation": "Fair value portion 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." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2025", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)." } } }, "auth_ref": [ "r115" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "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." } } }, "auth_ref": [ "r37", "r149", "r605" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]", "terseLabel": "Identifiable assets acquired and liabilities assumed" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Goodwill, Ending Balance", "periodStartLabel": "Goodwill, Beginning Balance", "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." } } }, "auth_ref": [ "r150", "r246", "r464", "r611", "r635", "r756", "r763" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2024", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)." } } }, "auth_ref": [ "r115" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r114", "r463" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r7" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2026", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)." } } }, "auth_ref": [ "r115" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2027", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in 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)." } } }, "auth_ref": [ "r115" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r294", "r340", "r341", "r342", "r343", "r344", "r345", "r455", "r456", "r457", "r613", "r614", "r626", "r627", "r628" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "positiveTerseLabel": "Property, plant and equipment", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, fixed assets", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r66", "r67" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "U.S. federal statutory income tax rate (as a percent)", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r178", "r385", "r393" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r101", "r110", "r133", "r146", "r160", "r162", "r166", "r177", "r183", "r185", "r186", "r187", "r188", "r191", "r192", "r200", "r210", "r224", "r230", "r233", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r424", "r432", "r479", "r544", "r560", "r561", "r609", "r648", "r769" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangible assets", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r66", "r67" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "terseLabel": "2023 (remaining six months)", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Restricted cash", "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits." } } }, "auth_ref": [ "r38", "r127" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Total identifiable net assets", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r66", "r67" ] }, "us-gaap_TreasuryStockValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockValueAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "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." } } }, "auth_ref": [ "r180", "r181", "r182", "r205", "r461", "r502", "r509", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r537", "r538", "r539", "r540", "r541", "r543", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r562", "r640" ] }, "us-gaap_IncreaseDecreaseInReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInReceivables", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Receivables", "negatedLabel": "Accounts receivable", "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r7" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Leased assets obtained in exchange for new operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r451", "r634" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Total purchase consideration", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r32", "r401" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r239", "r621", "r774", "r822", "r823" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r72", "r76" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes", "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." } } }, "auth_ref": [ "r0", "r100", "r132", "r210", "r224", "r230", "r233", "r467", "r477", "r609" ] }, "us-gaap_SaleLeasebackTransactionAnnualRentalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleLeasebackTransactionAnnualRentalPayments", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sale Leaseback Transaction, Annual Rental Payments", "terseLabel": "Aggregate initial annual rent payment", "documentation": "The yearly payments due under the lease entered into in connection with the transaction involving the sale of property to another party and the lease of the property back to the seller." } } }, "auth_ref": [ "r134", "r135" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "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." } } }, "auth_ref": [ "r738" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Commercial letters of credit", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r239", "r621", "r774", "r822", "r823" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity", "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." } } }, "auth_ref": [ "r18" ] }, "us-gaap_SaleLeasebackTransactionImputedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleLeasebackTransactionImputedInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sale Leaseback Transaction, Imputed Interest Rate", "terseLabel": "Percentage of annual rent increases", "documentation": "The financing cost related to leases that have been recorded under the deposit method, as a financing or as a capital leases in connection with the transaction involving the sale of property to another party and the lease of the property back to the seller." } } }, "auth_ref": [] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "RSUs", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssued", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury." } } }, "auth_ref": [ "r11" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Available borrowing capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r18" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Property, Plant, and Equipment", "terseLabel": "Increase (decrease) in fixed assets", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to property, plant, and equipment acquired in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r68" ] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments", "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." } } }, "auth_ref": [ "r753" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r693" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r716" ] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r693" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "verboseLabel": "Change in fair value of contingent consideration liability during year", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r403", "r743" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r693" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "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." } } }, "auth_ref": [ "r91" ] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic earnings per share (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r168", "r185", "r186", "r187", "r188", "r189", "r194", "r196", "r201", "r202", "r203", "r204", "r423", "r424", "r466", "r481", "r607" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of components of lease expense", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r809" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r732", "r733" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets", "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r743" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,352,611 and 53,124,899 issued and outstanding at September 30, 2023 and December 31, 2022, respectively", "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." } } }, "auth_ref": [ "r91", "r472", "r635" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" ], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accounts Payable and Accrued Liabilities", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r17" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r693" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r693" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Contract liabilities", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r460", "r743" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r91", "r524" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r11", "r91", "r524", "r542", "r825", "r826" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r694" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r694" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r694" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r41", "r43", "r80", "r81", "r239", "r589" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r694" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r694" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r732", "r733" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash, cash equivalents and restricted cash", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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." } } }, "auth_ref": [ "r67" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r73", "r75", "r77", "r78", "r513", "r515", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r537", "r538", "r539", "r540", "r549", "r550", "r551", "r552", "r555", "r556", "r557", "r558", "r574", "r576", "r580", "r582", "r606", "r637", "r639" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r720" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r694" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r694" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "terseLabel": "Prepaid expenses and other current assets", "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, acquired at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r695" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other long-term assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r697" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r696" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r699" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r698" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable and accrued liabilities", "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r699" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r658", "r669", "r679", "r704" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Nature of Business" } } }, "auth_ref": [] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r664", "r675", "r685", "r710" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r662", "r673", "r683", "r708" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r659", "r670", "r680", "r705" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r659", "r670", "r680", "r705" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities" } } }, "auth_ref": [] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r660", "r671", "r681", "r706" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r23" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" ], "lang": { "en-us": { "role": { "label": "Nature of Operations [Text Block]", "terseLabel": "Nature of Business", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r137", "r142" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r661", "r672", "r682", "r707" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r663", "r674", "r684", "r709" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r663", "r674", "r684", "r701", "r709" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Aggregate purchase price up to which shares can be acquired under share purchase program", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Amount remaining for purchase under share purchase program", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r665", "r676", "r686", "r711" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]", "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r28" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r663", "r674", "r684", "r709" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r663", "r674", "r684", "r709" ] }, "us-gaap_DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset classified as current." } } }, "auth_ref": [ "r411" ] }, "us-gaap_DerivativeAssetNoncurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetNoncurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Noncurrent, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset classified as noncurrent." } } }, "auth_ref": [ "r411" ] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit outstanding", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r664", "r675", "r685", "r710" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r663", "r674", "r684", "r709" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Derivative Instruments" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r663", "r674", "r684", "r709" ] }, "us-gaap_DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]", "documentation": "Indicates line item in statement of income or comprehensive income that includes gain (loss) from derivative." } } }, "auth_ref": [ "r804" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME" } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Revolving credit facility", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Gain on sale of property and equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r8" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Credit Arrangements" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustments", "verboseLabel": "Foreign currency translation adjustments, net of tax", "documentation": "Amount after tax and 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." } } }, "auth_ref": [ "r5" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "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." } } }, "auth_ref": [ "r425" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Receivables, Net, Current", "terseLabel": "Accounts receivable, net", "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value." } } }, "auth_ref": [ "r635" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r444" ] }, "us-gaap_LoansPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansPayableMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Term loan", "documentation": "Borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r712" ] }, "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Contingent Consideration Classified as Equity, Fair Value Disclosure", "terseLabel": "Estimated fair value of the contingent consideration", "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity." } } }, "auth_ref": [ "r79" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r651" ] }, "us-gaap_BusinessCombinationContingentConsiderationAssetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationAssetAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Asset [Abstract]", "terseLabel": "Contingent consideration" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableSale": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableSale", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Sale", "terseLabel": "Sale of accounts receivable", "documentation": "Amount of decrease from sale of accounts receivable." } } }, "auth_ref": [ "r245" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r713" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r653" ] }, "us-gaap_AccountsReceivableFromSecuritization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableFromSecuritization", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable from Securitization", "terseLabel": "Accounts receivable from securitization", "documentation": "The amount owed to the reporting entity by counterparties in securitized loan transactions." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Schedule of derivative instruments within the Condensed Consolidated Statements of Income", "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments." } } }, "auth_ref": [ "r73", "r77", "r412" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "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." } } }, "auth_ref": [ "r147", "r157", "r177", "r242", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r405", "r409", "r432", "r635", "r769", "r770", "r810" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r713" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Dilutive effect of stock-based awards", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r197", "r198", "r199", "r203", "r351" ] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends declared", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r122" ] }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAndLiabilitiesLesseeAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "terseLabel": "Operating lease liabilities" } } }, "auth_ref": [] }, "us-gaap_SaleAndLeasebackTransactionGainLossNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleAndLeasebackTransactionGainLossNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Sale and Leaseback Transaction, Gain (Loss), Net", "negatedLabel": "Gain on sale and leaseback transaction", "documentation": "Amount of gain (loss) on sale and leaseback transaction from transfer of asset accounted for as sale." } } }, "auth_ref": [ "r450", "r452", "r634" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r652" ] }, "us-gaap_UnamortizedDebtIssuanceExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnamortizedDebtIssuanceExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unamortized Debt Issuance Expense", "negatedLabel": "Unamortized debt issuance costs", "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Percentage of concentration risk", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r41", "r43", "r80", "r81", "r239" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_DerivativeAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Noncurrent", "terseLabel": "Derivative assets, noncurrent", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r159" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r145", "r207", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r233", "r239", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r262", "r263", "r264", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r611", "r734", "r822" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "negatedLabel": "Purchase of stock", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r11", "r90", "r91", "r122", "r508", "r562", "r586", "r649" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash (used in) provided by financing activities", "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." } } }, "auth_ref": [ "r171" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "totalLabel": "Net cash used in investing activities", "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." } } }, "auth_ref": [ "r171" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash used in operating activities", "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." } } }, "auth_ref": [ "r108", "r109", "r110" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments", "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts." } } }, "auth_ref": [ "r125", "r413", "r420" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r446" ] }, "us-gaap_EmployeeStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock [Member]", "terseLabel": "Employee Stock Purchase Plan", "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r652" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Accrued liabilities", "verboseLabel": "Current operating lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r446" ] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "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." } } }, "auth_ref": [ "r652" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r237", "r238", "r510", "r511", "r512", "r568", "r570", "r573", "r584", "r588", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r604", "r620", "r639", "r774", "r822" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r468", "r476", "r635" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r652" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "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'." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent operating lease liabilities, net of current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r446" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "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." } } }, "auth_ref": [ "r50", "r53" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r652" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Additional General Disclosures [Abstract]", "terseLabel": "Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Purchase of stock (in shares)", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r11", "r90", "r91", "r122", "r504", "r562", "r586" ] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r654" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r237", "r238", "r510", "r511", "r512", "r568", "r570", "r573", "r584", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r604", "r620", "r639", "r774", "r822" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(2)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(c)(2)", "SubTopic": "20", "Topic": "860", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4D" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-4A" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a),(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-7" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//815/tableOfContent" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481440/840-10-50-2" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481295/840-40-50-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12A" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5C" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//842-20/tableOfContent" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479741/842-40-50-2" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r604": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r605": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r607": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r608": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r609": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r610": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r611": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r612": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r613": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r614": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r615": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r616": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r617": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r618": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r619": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r620": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r621": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r622": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r623": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r624": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r625": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r626": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r629": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r630": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r631": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r632": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r633": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r634": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r635": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r636": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r637": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r639": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r644": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r645": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r646": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r647": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "405", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480191/946-405-45-2" }, "r648": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r649": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r665": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r666": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r667": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r668": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r671": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r672": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r673": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r674": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r675": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r676": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r677": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r678": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r686": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r687": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r689": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r690": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r691": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r692": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r693": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r694": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r695": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r696": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r697": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r698": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r699": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r700": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r701": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r702": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r703": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r704": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r705": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r706": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r707": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r708": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r709": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r710": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r711": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r712": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r713": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r714": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r715": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r716": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r719": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r720": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r721": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r727": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10" }, "r728": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r749": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r755": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r756": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r757": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r758": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r759": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r760": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r761": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r763": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r765": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r766": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r768": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r769": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r771": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r772": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r773": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r774": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r775": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r776": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r777": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r778": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r779": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r780": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r781": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r782": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r783": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r784": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r785": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r786": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r787": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r788": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r789": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r790": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r791": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r792": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r795": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r798": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r799": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r801": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r802": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r803": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r805": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r806": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r807": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r808": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r809": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r811": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r813": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r819": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r825": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 87 0001558370-23-018043-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-23-018043-xbrl.zip M4$L#!!0 ( )*-9U>80!I;R!0 .+= 1 <')I;2TR,#(S,#DS,"YX MR),O=:?>..T>6Y6DELJU8ZO3D*0P8OD-'O#AYFVB*H"JCZ@ !1N/__Q=6NA9\(X=>SKL_YY M[PP1VW!,:J^OSSQWU?EP]L=/__&[G_^ST_GUYFF*3,?PML1VD<$(=HF)7JB[ M00MGM\,VNB>,4=X[[P]0I_-)RKC!''@<&TEA%^=]E3 * MQ#GV1]3O=]]U+WH7 W3U<7#Y\?(*#>\5W3T4;46+"%^Y^9$;&[+%"+LNHTO/ M)7<.V]Z2%?8L%S2S?_.P)26!PA81*L4((LDN9FOB/N MX3MLD.NSC>ON/G:[ M+R\OYSM&MPZCW'#8[MQPMK(TO:L!F!$,:_./);+W"2UJ?XN)?ETRZ]QA:Q#9 M&W1%\A*,I\@96>52O^]"JB(4":8;TD;IWG7]Q"@IU92!VMS%MA&6X=72$/\Z MA1(?*)/:O0PD:?_JZJHK4T-2;F81@LQ^]]?[Z5RB>B"FQ<2=9+D-Q[-=MH_; MA!/C?.T\=X-$":1B\'AGC?$N9%AAOI09!0DQ8INL14W.-7V)PN+=(19(1A%UP)[UR$9,W7B#4/AI/>C6:ZOO>^ MZZ.AC0TSQ\2&&XM\PE%HD^PZ??(20[(FS;CBM;A?BD/NYVU%XY_A?X M)ES@1V&2!51")/[X\C31MU)IP%OX8#G<8V0./L[$S!S:YLCCKK,=OE)^ZVPQ MM8-^AY\A"FI68U$E5&4TR8K:5&H#OKO70QUT$ @_E$P$0I$O%0FQR)>+E."? MNTEQB8P\&"D\VI_DWU"S./30THBB7PF8 Q(-HX$MP[.J\QV*E(E@)P3"5/ZXF,,3>DC(P9G!I ML;PHB^5\ ?_3H20I&S@I%1TR#5M$"OR:33^W )4 Z(D\$]LC MX!]=A@UWR#D,57-PTM)JX7K7&R3A"H0)5QK(0U@*;&&K#MN4XB6UH#"D)'89 M# 4 7I8 T#I(;5$L@>(OCF.^4,N":?H$E+;7(H3G-ZL[SQ6>$=A=^D^I5@ZP MM61HL7Z?;JPJ$X1M$QVR07X^0.!GA:)YM36@5/\H8]U\AO=8X&:;\(5YQ"QN MT558M7C_(:LO]66C0+C$/1"/IFTKKX3QB!&3ND/&H-7X\XX<1/,)M?A]2./G M2T)142U4QT UPM9%:;@DL1:RJXJ0B700VB*7B]PM?:8PU3:7]>+"\\7CZ,^?'Z>WXZ?Y?Z/Q7[Y,%G]K<<_M#QZPF%P^ MKFX\3FW"4^X]E:[!#/KLM+?V!0@'K42T:.2B<8!-<<1&CU.YR%H+22XD_@Z:!7Y-MZ)HD@Z$?B\-@L^+ M)'-K_5HQL2K!,#T^-:)@+6::'<398X((-" M"\Z[-#@'$4C):"')]VK>=HO9_G$UIVN;KJB!;3<8\4*-GCD6%75:_9OR>-6X M-5"*TU(7*6_HBQ?AGT@&Z) #4J+13^JO-DQ;,4"T$$VE7)@H(-7 ..@-TGM4 M)+^6U MN-*<6EC_D-42R^[N:@&N'G3*AC.73@O>AS1XF?N$6IR.B85D(U:"0X==OY_& MKGAW4 MD]=E=-GRY=%K0,@\JI&9Z+4[5%^USMF;ED6E0NBRWA-]NGZIW^$Z- M#IZ(0>BSWX ,CU&UK_\.&V)\L"]_+*^J1"WV&1/XO -[X3CGD#&*YXQ4UFUE MJ5=9_,LE"!LYMD'$*2#QL7S-T+(75(.4H\ZK!BH39$1S:1&O&\K)@5=+J\6R M_,Z?%K2*T9R9M8'AZQTM@D"_V]V@Z';5 5@1R:"T)S![F!B,O,PISAJEK MEH!3QU8 JC[P"C]]T4C*1E(X0.N:+;15?2MSQ(62>&*OQ#^:D4])K@)@4R>P MD_Z6.4B*1A'9+:KE3]//")-V@U'BX]*B:_\61?V!>CV/%M',565UICXB%SD' MP2V<)X+S"%1+@IOJ7(O!!09?=@OSR6"6-QT>A79,PEN"'F35@E\>?/B UVM& M?&,^KH+/-WLUZ1<9!#NQQ!4EXJ>^,APCL:!RO,NO'/%<11"#!6G+/3)4 $-< MCBNG5(:Z<45^:>O+4:OI*JGZ!2M)3BW^E8]M1 E:B(^"./F[.M1Y$@H@3_4' MA9!G;+-HL:^Q#/^ F0CT/N=>"E"&18ONAS2Z68OS8FU*R6VQK(7E"-O8I-CV M4X(UF_SK'JH+*,"YS"8,<4.+GXE*/633PEYFAP9A]%DVDXG-7>;IUAJTM%HP M,V[>.0A#$6DM9O4Q4Q_#FR)%?UH3TW*R"C!/.>H=:LQ:H65N/MSG+VQ$^9> EMKPVQN #2/ M4 M>N<.1+52UH HBQ-"T%HZ++3\B=+/_A3AKAG<;:@P9P:7QK"2M /2,E8XT MZ(<0MVC#,E,5U5KNT2%?)#)NJTA^%0E>_%3_BB,)X _=?62E/X"_#*4&VEX/ MIDL"6O7&:.1/>6A!"HON,&C!.N&%A95OJZPB3@O[9=GK*XNO,FROM#QF2W6) M;=/Z6XO*/FG3PE*TNIRS1*PW?_ZVGM;@U0*)I2*$>C!*AWM;; JNX\Z^4UM_ M;TKNQ=BMM:OT"-D''/,)-9@,RA^<:<\XENTF\@Z@1A.UF&B>QVI1J-=WY)SI MUI!J$;K*.,R=LVS8 E:N0\E&*):F@Z2?<050\.K"OP<$XG]+T/>)K-"K_(*9 M(4AC6+P,Y'/K_:NKJZZDZNZ8LR-,;$OH*A%G@8 -(ZOK,P%?1SR?WKL:]/X. M=CE_W5J*))5!]$7W@8]TTI1!*94(L6?Q^HS3[9'O-M1>^6(3\$'VW;\"BR_B4_ YS 7 MV7A+^ X;AV+((G!BG*^=YRXQS*XH_!GBQH9L\=0QI!B?FN>1BS^DTN>055"X M"KF:A%;)59&+/ZKE&C.YZ;*N,*J0=='I#3J#?GX!BCCE;UZO((#]E8^]+790 M$S.[&$DVB[$85T?(Z?0O.OWWM8+Z4$CW>$$7F9"AAE6F.\"^J^Y?)03+7ZF"GP MJ$*(+S7+P)E;*7]%[^<-OX[P ,)_<&]9V_< ;V;NQ/+#P7C)Y6:HZ[,5MG@0 M&1.N^N]SR,OT+/*X6FR(>!A[AJEYY[#4E8$+\NK>6([Q[4PJ#N^E(]_+159(FD"S&5- Y M2'+HDZAC+GQRCP616)T=_/Q#,RR[)=$J8TS4L\3AG3V6)JGUR3 MV";9_5?J;M3.UAML?XLK5I*V&7HF:Z[V *$_"HTQXDR:: 9[V%JL/6V&>4-E3)O M]J%>E2K3:61G&NW0@,]Q? 95%L3507D4(Q'G- P<&P:\QTA4F.ZI#\N,%RR M2SE=I:NJGE@3-$YH+B5/9RO)\QT:9($NM]3RQ$ZKI$KUK:.1V&3[)"<[%5J5 MAK5QK>>6K AC8IO=5KS3+1DB)SVCO6B ZSUFWX@[@HF?>(^$48/P+YR8$W$D M@K M%:J'W9.S!7\JQW^+#79'CF>9-^$Y"ACSSC!SJ4%W6.Z "::17&->L*:$?A(6,J? M<$SD^(D^R[,[%[W^(&Z!(J)&:O;@V%]LJK;%)H)P>8F-U&3JV.L%--0G:*ZV M]*0 0%P?/04NZLQY $>=DJWU%\;Y/Y7 M<: ">CGHZ^T_>8QRDQHR-8AQ*'U/*E'3:RKU?@0+X==36RB4V +Z2+%R<%3 M2=K&C9:^0'EO@VA"W#]EIA0T[J3?^=?H /6.B:U#M\3_=V*KVP;DBD804)"N MZ@$&51X3IQLBE;86\W>:<)MD63#?SBU^]BI>>?("[#/6.=XLR)0JL7KV:%]> MR7R6IB@:1/>>B&A48AZ0=='A^'5'#!@5+<#%2I+L6&AM(U_%CI M,\Q=Q=,$L59^!/_;-O0PSET]L%;.8PZ3XSEASS!?'JX9 M\<_=9:_IER5N9(\'[FVL._Y%#YX<6&$2XV%#P1,0^4D^%H6/B6\IW# ML26V4(1AEWBT\VA9S1CIJ:AVY%".B'S?.6S!<'3=I@QAYAF(A]_(!&^&RYC*;L+.*2H?D/J//!'0*R>4VNWKQE1LT=^DU! MWWB1C.VJ;_).;$%$L$*XK#"ZSE(BV3N[4B:$$:>$(3AON& M/R2(I&77=+T'^=>5H+$=]2FMDM7 >> >JPO8;9SI\\FUST^A\6SM!;P[!-G,5+A@_J"_A_WT>JY?=;LDSM@'H# M^4VK98=YM;R64PSX.36#':81;<)G8<_B<_G27$=IFC2;1O/4YO>*IK@3!ZEA M4/),DH^'J,61X=9AZN7IB3U&KES/!8QSI%RFF*NW%[;MU;6 Y?*=X2F MT!$=Z5"*-3TXE*3SR=,I8P2@.LQP?0R_'GK.Z#*9;O]E:2''CBZ.@;_(**=P MB5\=]@W\Q@COJ*NN1SRY7T]F\H,T*/D L'"GD)$(7DXM(]6>-#0-;$YS;/G7 MP2RQ\6W!L,VQ#$5._="##$*)#C)Z\JHTRU'CT7K:%C24F;616<%@.@5<1EI# M 1--*@. !^+"B-D@Q.03^YEPT?T/Q10KF+['$*PIXXT;J@;2:BTUV+8V)2YT MW/QQY4??4YCKR1H(OSC!#]"I10-BR@^!JQ5'D6(SX\-@L!+;CP+R*7ND\.F; M( [S)MU>,I,?I=M[ Q/$ HMO:NQ83DVQ>-%$)PR(^_%QM9R:RPO67S SXV^AR#+(:=G0MCUL^3?C1SNYM\VG>6.;DRO\ M%P\S^,?:O[UM4UDUS[SI=;GZ$O^/VD3L> MWJA7J%R*IO0810->ROAA=TEZH)N9W,3N0;XYE:](3GH#-5%;GZ"J$OKL/Q%C M>(RJJ*(Z^#AS+&H$_X]L9C@$Z(Z3<_PFB#=QIT5:)8(.Y]A_/1_4$L#!!0 ( )*-9U>L1]RJ>!( )XC 0 5 <')I M;2TR,#(S,#DS,%]C86PN>&UL[5W=<^(X$G^_JOL??+F7NP<2".1K:F:W2$)F M4Y4$*LGL[CUM.;9(=&ML3K+SL7_]M60;;+!LR08L3*JV=@)(+?VZ6ZU62VI] M_?E]XABOB%#LN=_V.OOM/0.YEF=C]_G;7D!;)K4PWOOYI[__[>L_6JW?S^]O M#-NS@@ER?<,BR/21;;QA_\5X]*93TS5N$2'8<8QS@NUG9!B=]GYOO[W?Z1JM M5D3DW*10R7,-3NUPOS/[Y2(BZ+E?C$[GX.C@L'W8-F=&_W96\!8Z M.,:%)1WL_OF%_>\)FC0 J4OYQV][+[X__7)P\/;VMO_^1)Q]CSP#B7;W("Z] M%Q5GO^*<\MBEONE:\_)+]-^ZO'3G[.SL@/\Z*TIQ5D$@VSGX_?;FP7I!$[.5 M:(#B+Y1_>>-9IL\%5HC#$)9@GUIQL1;[JM4Y;'4[^^_4W@/N&<97XCGH'HT- MWNTO_L<4?=NC>#)U6&_X=R\$C;_M30F>M)@$VF?=-JO_SP2" MP.$/ZCG89@(^-QT&Z>$%(9_N&:R9'_?7*32,I$\R0$K=*!$EG-9 M2M0'ZX4[^Y4.Q] @/P&X5]"AQV/!@2!GX2^29VE-"7H5X+ M^+[UOP!3S+HUD5N@$#E?&):?I]2,+65T.53U 'D#3:?L /\ M1RM%FD6V%KC?/<]^ Y^M[]K7,)+<9_SDH% .5X'/%!!@^?@O/L8J<:!<2S6- M7\L+P(R.S ^3==*UX1L2('M5VJ#40"TL &_(/+R8\%L5>4H1K@7R#0**E/F!GANZ M0OR;P?N4^4O0W>$4$; Q[C/_?E4C>@7-*K/+,ATK<+B]O('?(A:QCJU\-940 M"'KW0?#(GGV+?=8@+%S;;:-ES.C"WQ?#N\O!WR1M)(PU-&GBX 0X'!NUZ(R?QQW3[N] MDY/N\6FOW>N:@:ROP>60@@@.=&[Y"? M/QHSRS9#IO+0(AD>:B3#>"7V&_9?+@+J>Q-$.!,*)2I1LQGR+0LTDG8W3]K@ ME(!/XG]PI=BPZ$<$34UL)WPS_R5"5C"U2M1LANC+ HU$W]-HH*<=[WO6C>'X M!PU##P(YY];15<)9IR2R[3<*1!Q!)ZE@C224B@6#2'WS/^O/%$H[K)^VB4KAJ3>%0'2,'*1Z'+^2F>YH-8RR^Q,2+$\0#UEN;#76RC.[/)IP%T ?+C%$E7 J&$\<;8C*C5"!:4; M)% 5A#+K5 W"PS$O/M3CPXM5&R3HTG!E5JYU1B=N//?Y$9'))7HJV!'(*-D@ M L4MV72I&F5FA"5)51*?A1"L=MUPN MF(;8TRLL(1T+E,2EX?1ZX4TFGLO[GWM6;:&8?F*3%$'6"D8"FHYQ)-O&82]& M)H8IX<*<8M]T$G!$ :7"B@V2;DFP&H[4>W92W$6S _=]RPHF3 [(!K\ 6UA\ M!K&H8H/D71*LAC&H1,^YAY!QN?7&H\SO&X[!%11'CU6H-$@35H%K!P M'V/MES0RKW\G)"*\J7$H>U/CX1'^N1W#O8T_6^!LAQ+E3! M8%@HL_'S3G'35Z#A+'"*W0!L5+2(!]&>H[%'T&QUA^C@W2LC@JC(\J^QQ?1P.=+ 4&0J0/J0U6:YH:'/.(L7%0Z5C)+Z MB7S3$LT)P!6P24-=^$Z@LR/BC86.8Z*$?K*7Y?RRS(I@:2BK*'] K.6+&VZS MLZ+L&!S\9XO]P1*4])-]D02SE@6K@:VA;EQX%#Q8=D25QZL0><46H@_@,0MC M.:(*39"T(KK"A7ZKAG JXE/1=^2"B6,9,_KV!+N8^LS@O<:WRD4A5JG*^DFZ MO#VO@%A'Z9\'%+M@A&"]^@1>"A?"/ W0/>(K6J;E(M=-GD"3M* BZL( 4!UV MP.3)8?C>[I-I_?E(3)?"S 4]^VYB-XI>B.R 5.4F:4 %Q!INDE[!N@4_N^&1 M&^LC TRXMA&[>@H4TDPYUD -ZE_:566?AEL(/ X*3/'28RS?HCNX'OT"YZU\'NF\]97"G8%69(9!J7F0^.2LX'_8=?C*N;X6_Z)HQDG%A(<)?.2@[#-?U%HN0($>RQ M<]V$12\N4?@O? ZW)0;OU@M++'L/;!N,Q\@2WC[;<"<2@=FV,&<] M_.V@:%Y-9B,7WC0OIAPM#Q,%_(3N.]PT!(($! MQ7:51 :FH-8.*$09#D@MA.?*T-W\5@Q+;'GA$>98AN_ .B%X!N-H= MQ/I"Y1:;1J7BXXF2.R!J6=2Z7_.?VRBV?<@>%4ID69RE6!0=D).JO /:4($1 MA=<9=V'CO9%*48$1A9GZ:E"*Y;53(@.Z>%M#7&<'5$ =?R3Y$[TE'\9KPTO: MN0^%R%3=23V09$.D#J=ZJ\-"0CII75BHE^; J09A[0TH@@P/(BTXTRAPE ED M(8>=BAXL5-U559!A0QPX:FNM#K,%4OE98K'V3BJ%/"=BO1!'%%LU+S:7T0D? M69'6%"&%G=06-6[$&J-OW%$.X2SQ5R6MF5'YU!PICL3:LZX\:LOO7+)OLDQD M*@M<:"'9PEOHB92FTV#-6"U/8MT0QSWKMBSAI;J<$S?S @V6NB386)PZ)5TK M=)7*K$3$)'9 "2JS(U83G5X8$7#IVGU%M,J1F0P":9Z< 4^./X_,5..>AI>( M1N8'/_OWZ/'[E03%-R]1F$N)LS7\170#786$?DI54:09DT]5=A0>I:FX\!5X MHCD;/-!OX(^%D$V++4TU8@U6D#4P9AL,BO"E0UES(B308%U9$3-TO #FCN.(.J8,B$W0\TIT]?4GH05&]75"#4CPH/-Y=ZW00/UHK;PFR*Z6A=T[/ MCMJ-$[\Z W0\RYW4XH1AX_N^\L$C12J[H!XKX(C,J>\ZW8@P'#8<)T-D0[=2 M,&X6=KO$=.I1T_E.O& *-2Y9AA:>D [9\WQT G6LOV/Z:7C],5)-I5+R@NXZ ML@ZQ7CL>#?@=JU#]L=HV7,R<,'WH+AC8UD M&_#]O!F#M6/\*VKIWWN-S#LDL" 5:6[Z!82P0PO=Z,.41L@'C([GT0N#.$E"^V B"4 UYMU;FZ@$YG[1XZBL>\M&_L$.?@TNOEE M"\SZIH_9U1>&R^@>?_9%'16OEE;LP].S7MW7J57E('&H1P;SZ@VSX!Q@IC&* M ;$58&+\91W]4ZG?).FN!OR6O&%SCRSOV65IP:YM8!<>8W;=.[I0$\%EKS:] M8<=)7["!,L$$V>*,*VMJ[8\:WN2+NB0 &O^LWR!8HPB6K6$N&S1T1TLR9S.C M0,CZW=:Q37!3P[/8JX0=S6S%T8;U-MH815;2K?5JM"27&VZ+4^F+BI.!;:+I M3V6OF=>KM^F"1==*$4:Y#S*3U*RYM5W7V#K8J^'YR[4-V!%!4Q/;48Y:*,_W MH'/3,=72E[2@NAK<$VB8Y59FOH;7G%;)'-4[=!MI^W,4U,WLPM.[.CHP65EZ MUNW&9+6YZ^I;'Y,+CQ=OM[&^=GW3?<8;6ETF6MMUC:Z#O1H>DEXE_$LT1N"7 MV8_F^\;<\*4V/_6Z+B87'@/?;NU6R?N[]G8_M;Q.1FN8MGP-J^OD#U)Y\#?: MA\\1H O3B].VJQ]4V6!LO"";[IJ;W'4UKHW'\/#D M4T_7RERY'/;:*6AF4MUTM&>#%E>M-Y]*KA_[BY/Q;\\Q6 4>L;7()LX#"AO? M];&@ ;?EWAK8Q+6=>_2*W "E3R"HW=XY:G<7;^]$5.&OF+!A*(@P?=NN-%R9 M8Y/U/F,% Q+(?EQY1%T/)&LW1A&JX)4Y35BG)OQP87IRD)U0]GRK)J[0&'DK M0I0YB[?Q_ L+$WG"#5&=S7L2L[DS)[^E4_KLH3#U.7VYZFKN9.8U%3^TZ5'* M4_Y04)?LGE>BE=;W(]#W(PV'M$AV\QN:JX2_YKF]C#;$V[;QH"^I"-ED=D$' M%)"7G-#7:^T3-^3F1U/"Q=M5X+-T#%#=QW_QAM0F@./EY5SF*FC3R?%9NW-\W&OW>J!+QT<;]_:N ML O#Z@:_HB4]20HK.F%]!TKQ^(:<5W0+@^=%M!RH1E0_\U):F,N>Y!I8HS;] MZ*YB]VAB8K [9#B^ A-C.O]!IB@2G0LHO6I M55(<*;E.UEF/H&71&:F2U#YU29(G);->:JQ-5UZPFJDO)I;FV[$&1XYJU24A M2V0N3*U^12\&P/K,\D@E<5R[_;&/B$!/JA-LI*ZLB2WR-Y76G6,Q=683%O]Q M+*MLM/1K%ZPI?W-)QN L MEMYR2:J@TC"OR:/YCN(I-E]\&26W7'2RB#1,M!'F!E&<\?,K;;DP2X"33R6Q M7D\W?)^T3PA[=H/GZE7S:T^7_=J0I)&DN04NK,3#ENDB&QYUR<;SAUI&R;0* MGF@POK+8G1Q2LB!T/P^8Q#$_NRPAN7GA[19> 0XM-_V%1O'"= XE#>.9HF%D MOX?4/^UCF?[Q]U==ZI. ,39^FJ4_82$607_SJFS?H%-&H[OI_.&:8?B09<^8 M/ZX;Q9V%AVCS*FV?5$O@*?NN_'IMZNPI3)9ES20NZ"9[.^[AQ83?5%S.3F?9 MLLZ(\QAJ3-X ^@9O8 O\S]^X<)#=?T7$?$9WP>2)G2"XQ$X WW(4=!CXU >$ M $Z@_HI40'^.SGK=WNG1<>?LI-=MGQQO?)@+NKS45_8JG:4&.YN&?D9@%5); M-AW5F:)A.)<_-,DF.-.)WM3EH$FZ7,*#AE4) M[XI>K8E3NKROQJ/B[*[JU',1?\69?Y/(C2NZ?*TVC767I[&P:7[](VZ=/&UL[7UK<^,XDN#WC;C_H*V-N-V+ M&)?MC%#H8L\/%Q_>)/'\Y* HU&YV=O?WA[]O;\8G1R\C?>QZ43T38X'/'.WKT]SWZXVG:'PY]'Y^>G M/YZ^.WMW,7K_\\4//__P?C3^G,%]IJC-?1U@X(=??V;_>:+CC2B)8<0_?GBS MC./USZ>G+R\O;[\]D> M)@O:P]G%:0;]9@O.?O7B78,B\(^GZ8]%4%_1M1]& ML1.Z>=<55%XN./3Y^_?O3_FO.]#(%P'2;L]/__OSY,%=HI5S4A@@\G^.^)<3 M[#HQ%ZJ6Y)$4@GTZREWA'_9-7/4@]C@Q$?')W]W@@1]1@[[S"=J*[+5/=J>[;-@ M.0Z]C_ZR%8WJ'FW3>'F%5ZM?J95U\21P.R-4TJUM:L?!$R*Q\T#=I9>93TWP M)/8ZHUG9N6W*9P1_Q&3EW(9S]D]K@V7:MPVZ[]$S"A,T0X3C0\WG]"GP%QRQ MS+JT(K[6 ' Y,'>2(!Z $>5Q+/*#?N$L%@2E"$[GVZ\O-]E:^TA[IP::+KET MO75C]K$+_K0:UP:_/F'LO="](\7IEKHCX<*GOMDXBE <93^UXDN=_H'1O_^Y M+SY(Q['!CRN"/#\>$T)1ZL#M4W0'@[H[AS!_^QEU3:>@8Q@47SFAX_E.F/ZR MW7CYG=.O'<8&-ZX1H;M/)I7;,(I)TE[!U3T"HC'[,EMYN"'JE0>&(]K@437B MU(H!BNY@4'=#.\ ;E/XR2XB[I$/. B=\0"X./8=LIO,Y%5BX>%@Z!!4A.F9, M%YC8X.D$T0XCNM==XS"-6O)O;KZM66B3JO9TC9B]#Q?\^XGO/'5A5SL8UHX7 MOL9T@\S#?(OV!D;1'0SJMFX^E<,N-Y\07A!GO?3=,4%.QRRH-V9= M/G%6.,3-^+7],W^X7F+4Q2A^>D6_O3%IW/_)*3.$'Y!Y(V6 M[R($ T)V_;$!3[8?J'S.?SHY/S]YQQ,C_[(_5H&2C(QF1LQAALECVS:^BQM_ M\Z-KO'+\<+OCC>K89N/.RDRJI[Z,O"A+G\V=Z(DS,HE.%HZSYJF[4T2'8M^P M+B..+D<5(6]55=%*%ZDP*.SIS;>8VB*V?;D)Z=*>1J\G?A3WHW6[#OPP/O7\ MU4XSG"#0JU(AB\C2:C]RD@LM13QO@Q3]FS$'AR<>EW%##&7==(XN[_UDA59/ M^62MBZNHCZX17=+^B)L\H9,=:QJBJ^BI1V5(IWI[;2CW(T*8@OBAG\[)\.L6 MD*'3>FX7AD0,SD/>[EL_9@/DS4>%]J/4W(T^\%7^HJ(80NN>.GB&]DLH$"YPD%'][H&_Q^OL<8LR:G@]([ M=EV2(*^*DH1<*;R46F6+C-A<7\>D3#:=1EG'?'AS-KCVX5-5KQ$),5*/2<,6DJI-FS;8IY(V8]K8S'H+-G'NS@S M#/$%,4<*T]=\*=F'E*\@.>2P9'&.%_"XPZ&KG"7R!M+)H6[2S=I1X30V'=_6 MFI%A7)P0:DQ!S(/"%#73E7U8M9J(H'NVFM)QP=A)*89;C7@'12/4"ZP<4*X) M.\#AE& W)$3Y[Y#;BOY")/I?3LL;QWSSJ]]0=AQ44VXQW[]_?W8V.AGE/=,/ M6>IJS&(3YF*#\5O. M9FG8IC*C%0BS2:U%-%_F!U*(8FG_31BGWHE8RV6@0G50 5LD3:KL!GNAWS4R6C?^2Z13_\/D$+)^"+X48P?P00%6V1P/2.>3J< M4/?W?Q;BO _05(_5/,+BP0;33R%V3"-%6%FUZ9=)Y(""TLC\)0DICKFU7B_Y*R[:F7"\47!.CP>VXE(2B%3="??!M]/0E1"1:^FO) MWKGTNW!'68$8&G/IUG@/0HU]-YM@&;NP=+1!M[M[Z&5[7 %:UCWU;]].!.ZNG6LQ4S%FI&M>,\E5$L^LPA%&-&:;"%X,%!Q51M] MM$;6R@;U*0IJU2_"R*G;A^HL*J-A,E;@8"\:(T:Z-!7VD;40JT_"&)&U0^(- MV\%*X_15,$D06PPX$#GW:+T])#1>4.\MO7&HC)'4)S%N*R2\5NMVP7RE*' # M= :.ZXOPS_R=6GA;731*%_3<^]'7R\TE"MWERB&JT*6NF=2XFC0$P88,*>6" MHFM6@PW5AFV7G1HRPO4P&WPQTI-27(],2( VZ?@E&K7F6]:BSE0KMH% -[\K MI-8$RUN8TUUNT\.T$HA"-:/*^$"83#D!RGE41MSJ%)K@*&*G\/UP02>WCZ)+ MNJK&"4'3>?ZU*'E0OP/Y49=:75AGTA8YY7Q3M#!D0Z5-V_G62%#8&+W!IU\= M>HJS44/'X'NNS\X?F&1W0,DJHZI PFV'&&P@0M*49PD%Z>Y*"BLD2PG=9O>D M9"LV&'S0O9((VVRGI,32Z@IS&[H4FUT8)+L$6;&D*%I(C:>F#1RZER'!M_ :W\D8$%:V](2%6IZ3H#CT615#, M1543J=+I&EDEO70KKFK:J9H8D"YNU':B&5.SCW[6.I$(<6,<@:QW M!:)*]V'4(P;*--W]^:N/".75NG]41O)&;<"N?AYWL=(DN3OCYQ@X/6'%DK4$/9ES0]]$F MA*H3#VZ,U: A5PD96?BU ?IVC](Y 7MDZ6&)D$DV308N/TRF: "$7/4Q.FF# M6B1W>'!.+P%LBLOP1^:DR)?.S"F1METDR(-0;%9GJ?'=2YN^ZX<+=;V@06-5 M"9UAB-/<]/ M&9V'KZCO3#^L<>0$GPA.UA'M(DC8T^D,AE=])2A[&84]UVE(0!7URF)@ "1J:K-%P,9D=EF1K>0V-L'!0MFU".ER@;4,6;O[@.)K MDZI"IBJ@W(45@EHG3NVW"T -">S0'U?Q&.O''][/%B!<\JDEB%I5^;\[Q&?O MPMW395*A\/M@4FT0 5HF2ZGJ54 CTKI3@:571QR\. M\32N>PE&J@(5*!LWS+#7>R^="'GLXEDJOC2F7'@@_'*3P\R<#?N.(YYC'WKL MV5]M9*"/H:2\[6NPMO-3IAFX?]0'G]Q[M)9NU^F)1JN6(4-'81B*(/)BS#T@ MBZ0H)[3A5.Q^$DFXB%5C#J[]921+M9\#J*VF@F)"<5WP.7?%[O,1%X14@81U M$&(P*X1(PTTJ4 .BN@DU:7F*]6,/6JLA0C8KU% A:3>TM&1KR&TX=EUV.Y4? M+FZBV%_1G9+^0AJ#IO+HC&%C4"S1WU5CT+0!2SJ^O::>W'!]#("PY$34_]PB(']F2 JK(DP,W6;1 MT; 6&PP_Z+HCQC=;>91XVCT<6DQ*\M)??^YK:P(UK$ M#QT>&C46DBR)+\-L^,.C.E*D>789"8,O*;M:@T\(+XBS7E*49&7M4EBA#59" M#T5=>O5P$0/I"B.%%5.G@N[DU48%D[$!#G9>;JPBO7N]486L_=O^V=4(\CM;NW0,W__E0 9)G9>"Q"A7GDU0(:RW5R- M]T<2Q>E)3$SNT$N^.:)>9$C_=)'N-8%:??C 8H=P9,?.>)%^)H3Q2KVLC/Q.I:V:0^ MP\A'T?98N#<-[Y&;$$(ER^O\OX28FD_RS.HY;L-U$M.?<->\D%V7+S!H*<^*FK6%Q ^MWVW0LCX_NO7%ZXD,U\9O^#2S"4&E[+,9(79S M>,[:CYW _Y/5AT1Q-)U_"=<$/R-OBSTU0C??V)D/Y'VD\AVOV'5*?VZM3$;A ME-"__D!NK$KY=3^2/!W6SUAV3 3#0'TM61%&->W+4*US@;T*%"LP'SY'V >I M>Z:B3*+= GH4Q>H#X@4(>6UY&<8>'>IB^2*,CI8.2^2%#,2*$8B/*K5[YA@Y*8MA=0UJ\G!CFN.!]$,7(^HX2-L?7*A:(A,J+=JF^Y1[*?W M$QI4+(N!I?HL!P=!J'(2R\!K$-O=I-7R'9OA,?@\DR%>G"(JA %-C82;&S/.6$Y,AGGY2,X=_6H1[\ MMB)#4LNS!R&L<1' #(^_M%ZG J.CH9OZ'#GCL&+$8=_BV46=OW!K*@YL MC-'PEQ.H22A=5*!&'<#%C8_.MW$2+S%1W[>=!3C(>ER_^JB%>?\10C;'5J4)32NZ*N'$(V;LF_HI.U\C%9/V63N%33N'NV 1=\#Q**\L^AQ$.?(^YD;M?H^G\(<;N MUR4.*%(1*S.)-V]*0D7?8D2[\/98=';VP]G9Z&2TZXK^?36]N[ZY>[BY9G\] M3">WU^-'^N'AD?[S^>;N\6$T_4@_3:_^\]?IY/KF_N%?1S?_]>7V\7]HWZL@ MC$IT[83W[NSL@O/HR8G0FTP3ASG3D!'WR*KE)/-N'^C4#HJI[%AZ!(>::GE- MFXP HXEN/.>6M"5QDR=TLIM]Q;D@,AMB]I<.8J@IV;,2PTIF#R6E[9; ]B.) M@O7;CF,H!I6*%:4BH<:J-"@V*QQR8Z>LB!+ ]20%SI63U780M0B4NE2^>K^" MOE6VYQ=+SQS?NPVWY5!*$6C:#"F.=RW%H2'%JFCN44RQ1EZ61%?*1 8\I# N M6@I#1H/=">*ZR2KAP;UIO$2$T4'0DAEH]G PVY.I)XMY^R%E]4/;B6-.EE7Q M[=9&ZJ*C6_JGUN!.39'#GF"H*0737<(W2?V_#ZF[G'@?!QW2?)H]!U>L% MP IE)N':E-'-)@\-<7Y6*0,D(%:0%]U&48)D M$ZL, F#6="&4$DUPQ#$C>.['$QPISLGM !X=1V(HD@1'$'(W!F&)R4&^8OP M*B&$9:@*">)QZ/%/Z1N;^4'T.Q1/YX_.-XE0^QH,@"O9@8+TQ1TXRL99DAJC MZX0= 9XABIO'SPK?H1?^B]QC-6H[I"K\V.]:JB<6O&33Y:>A:"N- ?A)M338 M0*(5&L&+E),JOHN]P 5*5[4(#U#T!G^UJ!AA/_8-5 M \Z$*QP^T\G 3S^E?\?^4U XPM3 )!CT.:1J_-6*=3!@ G@-216\8Q4Q[A2X M^3!FB[$E.2B5*=Q=]H@E:2E.UM.^:;Q'=&Y%?HRV%SFG+&"W!BU2,7/V2G-Y M?0\[I-K]U)MIZI]/<%21,^<>K1/B+ADUE:FJ,E#J=D,JP_M^URDUH8J1*R=:2@0G!Q]47&>]S3\Y@5J9 M_7+:<2%G_A[[V$T-/3LNQ#.RN<>B*M2\./OA[&)T,LH[HA^*?8W^+>WM_X"M MPG27R$L"-)U?)I$?HB@JHG^Y*7Q2UFG6[F;862C 2E'#*86&4[W94&S%F2BE MTJJ]%&'%_B1(7:%OT Y&Q:=&%742VJ.IC:R84>0".'M_<<:%P+[Y?18L^6,7 MU-@+JZ-D0 #\"6/E85R6T0%-_2>:ZB=U$VMU4":4E-RZVB9M\)HIR83),7]< M(N;+L)TE=8$J3L4CQ>N2]OQ5-*.:] *@K,-4S(UIA./*Y]AO(P!_(N^6^K*Q M/_>1-XXB%$=;<^.-0Z]P7S3]+5DA3ZD$O8T"H."DN2WHB =PE$C BAG!= ZL MG-MPSO[A%DZC)+5[ 5!44E<):M-H

.C 6NDN4V"NF MLNN?\M\ ;D4;"69W_U).6O?VV83EPKU.Y5>[>TBA?I0XV-\F1L/#S\XW?Y6L MI%S<^]WB9E$B\8R->X@.SLCB6?(;ZO%(;CU6@PYO'61G);JQ#G)*0MN= M"MB^*=&IFHK[/0:@'M;(]9U@EI UW:KS 3?R2)0*VK*5T:M*OC-64&%WO^($ M=(:BAR5"L<$]L'+PX4V29#/:@4G24PM.9NK@N:(!D*BY1@UU4@%Q3T)U1Z@[ M?BP!AQ!JU^K8WI%C"2D@!,(- LD,1N0XZB+O)LWMQ:%KTNA. I7TU!""9JJ:$0E9G@^. M-%@G P80T^Y69BE9D*5TA^+TU&9L+*MB$P#G&;N56)&XSN0FJ\L@V$7(B_A+ M=AK[/:6[(H<_$^;&_K/H9$(W70(XV=9X#6Q-/+!\TU42Q7C%#EU3OSR,2>J2 MUTPN5:H99^7F\/B\O-)0K=YF(O#^&H?I&7ETKB+:MJGE(LE :\0P@^/>/V(=IM,\8W&*D#+ MN7BM7NSB A+\>V#I/0K1"YM)-R$BBTTVI)RUF@86,Q+U6*RAPTX!(,2:2TG8 MV

'TLJ#[RDDK)#65)9_AUP2649T6-MJM*,VJQ-;;,=K$3:=;O!"8#Z"#T5 MZNT?K(*'"GYW"=.4Z9SZ-#N'1N18$4/)@)K Z1/6=MY.B<>4$*/0<\C_( M(=%M^-O2=Y=%U#Y1+XFV0KPVE!U\FU$_@:5@%OQ@' _>F:W:I"8!R MCI;K=XD<>PM!HZ79TCR3E&%T8I)KS)H>:RL^.C[AMX]]1@[[S&\.K%=(<7%V MOE](P7H=\6Y'Q7[A5TSLV+$]=U\Z;[\EQ9N&]ZQ@AMW$1@'N<$BRC[R 1%5D MT6'_P]K3'>*7FX)$/Q+TCX0]:Z!(6AJU!%.=T;D"%$VR$2NL+ILB<[##3YG_ M-&H)(P]:0Y>%TE-1"$YZT4Y5ESTF MBDG"4&0>@\*VJIN J0CIU:BJ>0!$HM0-I#Z@&VO+2-1-8-A/$T452TA$DU4) MW88Q(BB*[UGPX\59*VVD#!B 5331M/*#C6)28"Q?EYO=G[_ZB%".+#<3](P" M,S=3V1A,GO&R,F%(=[;<)W$$:?K MW,P)%;4 8&4;*:Q0?"("P0GK76UAO0.05NY56._ "NNBMK N; A+MQAV*:P+ M$,(ZV.O8)4FF7OV6XSWMQWO:A;=;!'0BQ\Z#2]#+S ]0-(D]>>FH"AJ &U'_ MYG8503!6HA;&H)(\ZR%G,@%0?M4+KX1K8'O+/'B15_O[&SC-.Q84GKMYBGA M1*)=!NT@.;-]Z8X!&P 5=SC1DE+(_F'O,#VSZB8A\K)*#_/V )8+8\TN57^8 MDPA'KGD4UY]#Z4%32+T)'5=YLT!F-QZ^ELL]C(G$\YLS?8C5WCUY(?I M_3IB2KB::Z9OX]X %-#V/I\;,^<0M27CW::UIA1Z F =6LZ79OI08 $<79#@ M>A4X4;1]OBA]*+6&;]ZJ2P .7H?:T8X7<-2D!DL(82<">?C_:LG^O W'*W9= MW72NFQBRNO[!1@?@D%HQ32W9!N4MY%FPY#<]+^N5O_]0+7\OO8I\,II-?ATY MH3?Z>/LK_ KXXR/)L+-RQT>2C\FWXR/)W\\CR1\9Z]#$?T;>;1C3Q=6GLS?= MGEYNTOMGF#NHJHRLTP.8FO$N#%HMRJ%*.<>3W3FD+H:LVPL, ]A Q0VE+*;: MJJ0?B>,AAHWX5C$Y& !KVE!+B\*JT@7B)LE[%/!]2;3TUVK!*%L "#]T(",E MB=!\P4JX5>\&3@ 4@YA0(GZ?R'0Y/+P2CIFSX3&$1[SUT3)2441=LD@F87TS M -.RKKSU1/6>\DLK".Y1%!/?C1&O)<@>HD_?D=B1(LSYU6H/*':F$U$#ZN"$ M8A5Z=8=8O*Y 1OWY)N@"0%:OP[DG(!".; 41VWODXD7H_TF= 8^2Y,]]9^<. M9"24LYSTMV2%O+LF>=YN1@-PTTY=C>F-%Z]3N;;&LU"8-H".B08%L*?J>=+V MI:4B;KY294W?/$LA\S>S!E%9Z=" /-I#4UPI3_MVJ#NE8GO*/P45N=]]C@;( M6>]1^WIGXW=@+V<$K1W?N_FV1F&$*/PT7B(BU%K+N #:IQRR154S^75J_(S@ M-2+Q9A8XE VI4[3>1M7ZUG#%V(#V40>FT0JF'I*3L'O(=8*<" WC*HC'!'!G MZR$Z#&)FODXCFB>KAG ,2J,-J9U_?56&LL1&.'HISX%^B= \"2;^7'I!KU'3 M(37F)^L:8\83..+ODC77:(ZH>^L].M\&V[4(QAQ2X=Y;5[B>F?DZ-95OM.YP MZ!:W8P-HJV3<04/K9Z]*924%']P779V))HY&\4!@X%Q&%2=7UFJ M2,_=0]I59U'N-CW[N+&:(#>-/YH[]"&3:WT37R$C=F>:&/ MF-R&+EZA1^?;+"%K'(GW!Q_O.\U]O)V@EW4:WV/JJ/[#1O1>7QAT,H-@Q;?%?SN M"T T81LCT;W"(H[NKU49\*91 QP 70=AX_Y1 PY]9^II4RU!;<\'-0+'RYV4 M9.CK#/H<#=!^=7"E[)VYK].\?B<7/ U03F/=A *M?P!Y:F6 VI=&^M##41;- MJE=P9K/!V36A[/$,NOG)MT1TR^12Y)V%<*/?IC= ^WZ[JU83YD&I#1@'E,VQ M\^ 2]#+SJ0F:Q%[="H$+387 =HP1'V3$1_G+B(YSK!,XU@D>QJ14?V0G]PL'^.MF,7_09#'I$",^QJ@P M"/P4IORYJ5R/HIE#XCQ\7%!#55:SDYZM)PD..M'9H7"/N<]C[E.W:,^"Y2>" MD_5MJ#@;+0 "%.DPSW0*Z+"J_MF$5LQY7<*S7A?6$J!-*#5[8;&&53R\'*E MQ05ND6%(WK03 -&>MNI2E^2^MT8W\SEUNBD9NZ-L]TZ,V(8@=*FOG]U9Q3&C M/Z;@ B)$QKF[OF':= .%WQGX[G@!)]HAJ@#)>'*/GE%82=#6:@E@MC<7>BU* M+<0_"IM8IH\3'$4?*>EI?CGQP\7VS2!6U(,HI;G>JN_4[6P(0!'3AE.^4*2T'RNP1Z\%6Y!A\AOR%\N8^JO/5 D7Z"YAS)G.'Y8. M0=$TB2/JYWCLWD&Q5]=]]X"BI=W9@.;L. #5N'0BW^U)+[9]6_0%^YI 7:K+ MEDOP=.7:#Q+Z;07A;K1%WKM%-Q*@OLCY9%%C;AP24ARB&2(,&PD(?P@9;^U3NVEO^L(L/7O2?X[TFVF MR[>A#8H3-VVABZ9/@;](M[;;+':]G/F/U;O!MX.P='D^S@CG [$&Z2#P4^=; M8NX1TRPJ3R'K=B42_HH%"^8/]-MH3G5&DSWOJO-A#4=KK!]BA\373HP4>?>N M!P&3KN]6H8K&J&N6=;\Z120N*!C]E"L7_?#[O1,N1#JQ]]OPHI2$H;L7Y1ZE M=B0@3.M7?K5;+B%4EQ('^\O7:WCXF;)CE:RD7-S[W:(G+)%XQL8]1(=GI/-- MS]+ M]W;= TAR ]?!':OZ#E VP%1]4*!EAP RX/VH1A?,@1_8QU M0(EU'+>AQVWH<1MZW(8>MZ'';>AQ&WKMR&=KH-I5\XBP5! M*:K3^?;KR\U5$L5XA<@C%=(X]%B1.2LO8!_K;DM_E&]+R\./\'Q$MK\];4;N M%H41&V'DA-[(W6*1?@-^IRIAKFK_J6XR[/KS$#LQ7Q:S^I&'='&,% EQ31LP M^6T3T91NKE739=5+W:*B/%F^!P/C%+F1@I6D4*:BA_7S"[5UU]MAY ?'15 M3AD*%6&W6(F0[N-,:(C(8G./0O3")E,DYZ(,$H [J>:D#'$+F_X_,,E6:I%9 ME@&!B0J:VF$9(8.S_,Y9H>F\A(K0\&I@[0<$Y;J3\5N!?@]VX[,3Q8@\(/+L MNVA,58*O##L$Y6;$L*'ET*%6;W;6Q9">OG>2=SAL+!+SMI;CD.92,2<)3NU\ MMFG[S8^7&9JLP#^:SF?$=]G9(+DG;]IX^*5$LL^OZ]*;$@A1Q3?(W_UE)"(66(#$6B; @J-Y:$EC@X[H-D0=7E-/7- MK&4J32DJ6BJU6W&P6<7LYIA]);[YY@8)/S;.7FF*^(6ZZ@1BO9X 6-$F6M"( M5IOYG>Q>Y'%8N6(N^ZE>'N??S\[W\SA91SPWDX\R2H0OTV4XF[V2 MN@=]3-!T_S"J4"#'W,PQ-W/,S1QS,Q9S,S6L0&;"=*ZS ,Z:KRS%6?R@ZYZ5 M/CR_&.3K*Y(I8"2;'EY(Z8S)LX2X2^KDC5T7)_Q1RK'W!_6E^0JCD8"F+8#@ M0"WQ:,@!NH?8_UQW+U$YJJ3=2U2_.Z!-A>+";[-]AKZ#H>/84GPN-VD^+7 B MU4:D5@\ MR6F(C6\[K]*L^4\A133'$^6/57N;&KW F/OTT"Y#:4LIMJJI!^) MXR&&C7@W( <#L*EJJ*5%857ILIOOW084[U&0GM!=^FNU8)0M /BJ'N)@[/_5+ZWY":KA!H8 MY(WIKBCV_^2VIKY$I1T!V)GV\DZ5A%PX4M]'^0[%NX2=)NQCUA3 ,Q--)6M& M(!Q9%G5L.M_'7B)%72, 3T4TE9^.-)OQHRN"/#\>$\).^_-X5KTPT4_5E'/: MY:C8)_PXT#5ZBF_#B#HL#&'E\3\1Y+ 3;(+#18S(BJ'"#W_*0SAB4#"Q&@7; MBS-(3(55([>/DC+((@.&$4M1J9-*"CWFD5,;\M%A3^?%&U;&,R/^,W5@+IWP M*_O_=/X;BMB+Y+>7-_>WX\OQW7]>41.'T\>U%(6+W70,(+"B5L"\F+$;@FW? M\8*#9^KME(E1QEPT;6P_&]&I@N]5P:GHMFPSG3":.1MFYI7"$P':?NBA-XF) MB.VERGNUHLNS[P0W_TC\-5MOJ4/KA+P0.D'_+PG1N[/SGQ[Q.%DD44P[>*>J M_V[<&8 PBJGI;$XDG,W89[KW6#@+3>J@ @4@$**7DA1[NS7Y)9]6%V.60MNK MP%?C7RJ\%[GOAQ*U;L822V_28 ;%QC*>[3 L>4?0F=-)*" M/(YR%"7L&B=V>5,8R;;KND8 #%T-4>FH@2,L9KT?M]9;L2O.00 $:&L(HHP[ M3+9?)80@J0430@*(LC84PHX$F+*XPZ%K+(XB,("7+1M*I$@%(*&@F#J5T72> M[N>*C["JUGM]LR$%]=?V@M+2 RLK<4>]$KJ/?D:U\Q.5,E91?N)DE ]P3%8< MDQ7'9,4Q67%,5AR3%=]?LJ)QR/28@( 4$NTZJ="1WYWYFVKF"T$!Q =JL%]( M@N6P-#>EU,/-?9A[/_JJ\,?43>!<4&KFEZFI 2*;TB7N*B]-W02&KV:B$;$6:#BI%=(2-D*@+=<4U!*K]:,PUD9Q=1/U+@ M:(D#[YXJ%O&S=Z>VKPU-Y]=^M,:1$TSGCSAV N&!B0[[/8QL7X<$PYG%N1\V M\9TGKJ5W.$5%LS)JVQU6QM" ((A2XYH)W.#>J)Y.!#BNI] M:U')Z8 CFE=11G%^!J&.PLK.P6!G,+ LVL=*RLC#Y'NV)=F]1]IFSZ;J9%#9 MM8^4U"4/D'0A%[J>MP^-0%V!#KX:_+Q]L*-U.?B@-7Q73NAXOA.69KE?OZ+O MPJ"BCWZY'2W[-1_O6.#7N0$\%OC97X2.!7[#%?AEQH75I-6IWQ.U Y 5;ER> M)Z*G!P%\Q 3YBW!OLR5GO!H>WME_N3KM>*\F"5#$K>*P'-/QX-+QHMW6J\DA M]K,9'2"'> PT])_H/^ XPVN(N':0WS\&7+L110?';^O%6WN,-8@*36N&%=Y7 M+S+,>QT5NCV$Z(& &^/0^Q5Y"S9/7/I3&GC94:M\XJ)%?\<2]ZXB$RU%>BR$ M/Q;"'POA#Z(0/B)Q01#T4RX$^B%_]?'!1:%#%UV!=5/ 3JUTX%)4Q ZO&"V MPW\)HS5R_;F//*'ATL#:M5A:#=MQ74Y!'P% GT1Y]:$LVANC!0C#_() MT>^!GP_(Q:%GP% )H,5X3CV.2O 'XN286SY]5+55GQ9CKQWP0N?<&BXK@\=Q M)9/S+F%*REX*V!'PA0[Q$1/V$A8E0C11#1J!",)V)&Y3FN$$@UY)Q;\T!-O; M/&Y^+F#XB-/^GH(_R]HX(E6YNDH2D2K]X&Z'YJ^T^L>XU3%N=8Q;'>-6Q[C5 M,6X%Z0*'XP[HN /J5I/2,[[J.X^ET*]I:Z0E%N*>B*.XQ7 7?^0/U++W-IQ@ MAB,NEAOF+4?L];R;D+*(J!X [:QW4&9?J.<*N31-K;M%4-7O=NN4HO M6#'F2/8TXUL- '#25]5>H0.MB(>H,Y\HXR8XBJ9A_MT=TEL :3L0A6^]&0(I MV9!E6U#5V]#%*S0E5WBU)FC)M)1QB7W9S"1T,@8HJZ"9$6J]:,4&FZ'7AQB[ M7]G=/XA$[&&V>%,KKGK^KEKI5^SR7T=II_#CI0_N$GE)@*;SRR2B1B&*QBY% M/37LT>6F\$D5)JW?S;!68A8XX9VS4ITK+(. B7XV%5!QXI9)LVJN,U248.\L!)F9O?E7"YR6%FZEK15"PC"54N62LJ\,&3_:84E%A>V[X=7OJ>KL K M''+&9,6\7-.BF4/^[@0)6VFG\1*10OQ[_!3QNA?)%&S7I<5]7Q,=:4\ZX3XX6*&*&Y>2LO-UKAPH%E"W"6U0\S_DGDMC7L#8(^[F!$E*]*4 M%^"5@W-#2D$]U=#U!2 <-)!BZ#C1]XL9UVB.")'NS8J//&P?:OGLD*\HOJ(D M,R+HC@OQ4R"WX35B=YKQFUTRCA68^+ATXBN4F;'O^FOJ% G= M"E#H :ADZ4HKX3$7O/U+^2R.9C19&&4] 2B3&'11E/$!D$+H(EBR !;=J4TY MSEGR8%=S]T!C MDT:#FJ "Z7 D/2/81-EU95646 OAV AY"ZEJ\!U;"*J*0^?WJ% M@D,VTSEUSZBFK67U7.M0KKKTY&&4KI[Z-LR!$;\R^C'5ZC#+'1_W96 MZ_\[XOB5H8_%7$"*N0ZB,J#'](0^[1.ZVPBP MZ&MIA[.-UZKTK*?DE-"7.3?7_; M$0#D!P?7LDX9"$?SONN*SXOV&]+OHN+S$//&$.HYCWGC@R_+[")O/)AH'PER M*$4;CEA*K=I4JQI8="6;&&(5*7 DQ+&CNY>=?X 7Q%F-DWA)$?R3^@_\+NUS ME9TU:0W T.IUL6)&32@#*TJ/&I9[%/M$M!"8R5/3!0#KVDJH&O(.3;*<_%:" MW?8 ("[4AURWU,$1:XE(GHXDNPW;%8Y8/3O719.U4MD<0!"FGD#-28,C3?&* ML7L[.%\Z7BWN^6WSL42#QCXQZBMN-2=)K%&Q929P\UL3W_ M.HWD:PJ4C5K"N=!,:AIJT0-35M7'3TQE56P)HY"XAD(:2:](H57I3:B7LBQ]S3X 1 3-I%N3 M+CA1!A'B]RA$+T[ KM.M(<92*P AO^:"*U$"1U3%3-V#PPXB2-$V+?W3(^"B=6S;8 PG%JV=2D!\XD MD^&'L1-LJZVDSDFM+@!<-6#HP-0B"[Y$J?>;Q.SJGOR]RIH"%?8 X&J! M=O(44@5+G-2DBS#/7IJ1/])DVGA((?[45H@F!,&1'T>5Y=PTE3L"N"&E\KZ= M4UG!'8X RKXNPU(B 1$@@."'5(&*$A#A#D<$Z>MZ;-[FF;-T(Z*9%"8-!Q71 M69MI8D(-'*&)$Z\;]0/ ND8 YI.Y,LHG6)6P0Y&;V5N5$]_02K;I'H NF.FX MN1[4(1^\QF@? 39H!R"@V>E\A_GNKP39>F(#$<3L5%AV*YO2(ZTL^?&0)C5J M5BS]6*U8RKL<97T>0 '2[AZ9+YV?YH=O=:C9XL9?2R M.W,R.2FJ'31MX)1 -1>D,#$H)M=NL"5%17W56AD&1FF#D=Z5I%"FHH?,P!=J MQ:^WP\B?B11! 7 ,A8JP"_2+D.X[T7(3(K+8I*DZ.K/$=1U*2 "^F)JM,L3A M.%H*PU?9^8O-AJ:IO:*.&I2);XFKL2@<7BU(=O2TZM1)Q*UJ &/:,P02Q!?D65BFT;?O/CY542Q7B%R,TW-TA841C;;=#_>8_.-XD8&_4$ M8!_55+Z-Z.U[Z=LBE3]/(EKU!$ 0*CIJRD%&"IRY]8G@*)H1//=E8:$2!(3* MC89SH41'WSI>&&P<%1_BV6'/=4*D^<9-(91>-)D/Q@3""O=LT:)[A4<<.T$: MVKK+B?^,O)1:LV!2LT[[/Y2TV]/G J-:)#XRIX % M&#]J(\;LI)."XL&/CVTG7A$380A) VO_>)Y6Y7;.CG@/9DD M]M&%.'O?ITG87O DU:R7 ((373&?@F)#38!OYRF_-MZMW_[_U!+ P04 M" "2C6=7T(+=BO-W !SBP< %0 '!R:6TM,C R,S Y,S!?;&%B+GAM;.R] M>W/D-I8G^O]&W.^ [7LCNAR19;OL[KEC[\QL9.EA:T>EU$@J>_LZ-B8H$IG) M-I-,DTP]^M-?'( /,),@01(D#E43T>V2E,!YY3D_O X._N5_ONP"\D3CQ(_" M?_W3AZ^__1.AH1MY?KCYUS\=TO7[?_[3__RW_^N__Y!YV M-$R)&U,GI1YY]M,M>8CV>RW7'[XG[]__ M&Z?QT4E8GR@DG-AW7W_(/SC+R$7AC^3#AV_^^LUWWW[W/?GAQ^__\N-??B#+ M3WF[3TRTM=_6,/##WW^$_SPR?H2I&";\UW_]TS9-]S]^\\WS\_/7+X]Q\'44 M;QB%;[__)F_]IZSYRTG[Y^]YZP\__/##-_S3HFGBUS5D9#]\\[\_7=^[6[IS MWOMADCJA"PP2_\>$__$Z(6( MK(V7%FQD G_]1GSXIW_[;X3\2QP%](ZN"5?PQ_1U3__U3XF_VP<@-__;-J;K M>GF#./X&^G\3T@U\F2#+#R#+AW\"6?[O[,_7SB,-_D2@Y>>[*Z7J/U1H99VX M-EK?XC=<'>$(T/>:_91I '0;:'"VV?ZU\,-[^(%;A_WRGV<1"\7E8Y+&CIOFE+CX__JGNL^[ M60.$!EK+N"JY$[LY+_9CBW6R%M^X$?/E??H^R+X8WGT=1[MZ206[J.;#_PP> MNW^QN2H5/6*:1(?8+3Q5ZWN6Q5=9NA"1M0!N5?)G^%TJEH)!_L44)O. M@_[CX,0IC8/7.[J/XCJ04K?$[U<*[8Y=[*@9;F]3"3O8\0K"1%">S@EO:>Q' MWD7HG;.Y08/JQ^WP.V"M9L?N5VF$V_GJ11WL>H(L&TH] H0G'$!C)TQ\&+1; M\:^F*7[_4^EW,L@>M7)0%#,'R_]@-X<=H\TKM&[I@E>UU/I MD[O<\>Q>KVJ;E9M M@]G5%)(.=+>2*@&R4[G<5>A&,8-/OAR^3]F0?A8=PC1^/8L\M0>V]<+ND%I: M5_VSL0MF=]43?*#W5I@L"&=#HIADK CPFLJE'YR7*X]-$?RU+S9Y6T9K=7OL M;MRB:=6!%8TQNVZ;R .=EI$G5?H3C_=+SV-&2[)_KOV0?E#:HKXM=@]MT+#J MG34-,7MFD[@#O3*CN\9^7,4/T7/89H5*RYEXY*EVM?Y8 M-IN!-]8(:\H7@32,YT!\8C_DDRN8S\4B%GK5N>=1V!KZI MDMB4@Q8SSIS#Q%YZ&R6I$_Q__KYQW:1H/!,/K=6QUC\K+6?@G?7RFO)-09TP M\A.M@P"MES%U%+YX]#%>[ZO3HTAED#[#Z6&U$O;U*3X [6)7 @2I(+;;12J M][IKFN!U)94^N3L=?X[3I912]G4K3I!PBI.M?>^I>XB9.W_X[O'!3X,ZA*II M@M>U5/KDKG7\.4[74DK9U[4X%1*MR8?OWCU^17+ZX_O70^Q %NW]Z^XQJM/T M^'.\GE6K2>Y6E0]Q^E2]B+T=2E C@MQT.'7QXFZ9Q%1Q)J=HAM>KFO0ZQBRY M#4X?:Y2TKZOE1$E.==(SN;-#'-,P%6D-$#]L;7M(E&L897.\+JBC9W5A6=\6 MITMJ23QP<9E1)P5Y(NA/=VZ<4LC0]I_HN9,ZF3@-AY"*YMA]M%G/XR/BNK:8 M?;1%XL&'P@5U2!9T=,E,K/G-2NHGB5Z4-CEMA]\A:K4Y3MHHFF/VO7E # MB5LQR:E.Y6SW.R<(/AX2/Z2)>JP^;H7=V6JUJCI;I0EF9ZL7=*"S<:(DISJ5 MLUWL:+QA@_Y/#PBT-@C:G/&J$W1?K=#K"0:D%9L^KE7,H"@+-J=V,L=M!1F/D_GZ_=9BA M5H<4;GK#)I%Z5=;<";L;ZNA\M'!NZ('93;7D'KJ(YCP(9[(@@@V1^$SFR6Q1 M%#O!5>C1EW^G:LP\;8?>7^LU.W+1:B/47JD0=:@C"K*$TR6,\ 0Y F(M?NDG MKA/\C3JQ^E)G0U.\_M>F7Y%'H&B'TPM;I>V=7Y#M)PK*!$A;N.19ZG7)_E*W MC%:WQ.N*+=H=W_ \:H;3$=N$'7R_4W9$3GIJ+Q0WG?7\L-IV+IY8HV&]+TH- MY^"-=>*:\L?L_OM$'KEDK#VN6.#4K6F./\?K>;6:Y-Y6^1"GA]6+V->K"FH$ MR WUH[63/'(NA^3]QG'VPIEHD";Y7TJORO[PGSQ?&B18K2_]T E=G\5-)"[4 M*^I@=>R*TQ?[Z ]NVJ4?/@_N)7WOJ>3JYOSBYO[BG+"?[E?75^?+!_;+Q^7U M\N;L@MS_?''Q<&_5YQ^IQUWY(K]B/QU/)QH8S\;P3W6J]KV@U P\\E=6 %P)1PJD>NZ(1Q5(:)_3: MDG8V8FN9)#1-6N8J)XUPQU2]3G(\55O@C26%G+TGS)P<^2TG:">$3"MU?V]I M)B04R?;\M$+HM.T<(DFAX6E '37$'E%UZ+(*D419Z:5S)5S./4?;<3= MF9-LEZ$'_US\.7_UP\XL3'%0+$]V^N..RDP7D.-7JB#=N MNXG?V\49>5[JFO\@,5H0)R4Y+\*968GLBE(;B!GU*'I&J1/@UG,2$+N-Z=[QO8N7/0T3RF90JW2; M*9HT@YA>3]P@UD%[&<0TNN$%L2["]W7LC ?)F/ I,V=#CC8$K$#8E!:@@DG" M31!Q$[B5[0+KNW0Z6R7H [DU9&<2G&:=<(I@:QM'S6KT .P01-!M'.UIG+[> M,CU2AB"PY["' RLV.U"B3F,7W/&EHV]UA%2WQQM]6E+W'Q$$\07AY,7#<3D# M/K&W-!A.H#-7EI;*6EJQKY@P#M2TN*9,O#M_LTU7Z\]L"@ XHK!/6Q_<<:NE ML1RXC1WP1JZ>V'W=N*!../D%X0S>1^OWC(68THX1NT\T?HR:HW2L_K*R@ ]M1&;,I?(QKLH#KF@"#'YW .:U_;U"S^]2)TXEU^T@W?ABJU9MF M75+N/]ZP2&O?=E:WRDK"5^<>8*@91N'G/ M)-A9WPQOW+U$'UY5'4[WO?$&T)%\PW:Z+6YP&]K9MA<&U[[SZ =^ZM-D&7J\ MKZZN'JXIXL;\[)__648!O4L>_WKKO$+N:TL*AZHQ[KAL MUK$RN:UMB3<>6^0=G!2=T;6;736VDGM!%TO&=PXZK\VQJ-D5=V1VT;\MZ?NX M']ZH[22]Z;3O@A&^K._Q;""-LFAROVUH.]64(CY0[W3RI,9W97O<\-6JZ='< MHKXQ7J!J%WG X N42=VLW]8D8V15;6/0>!IF.XVM>DZ"/N?^D^_1T--;T:A; MXT:>%BUEW%$TQ8LZ;0+W+I"9T\6QK!E?38L+F^LHW#S0>'=.'UNNKM:WQ!U] M#=I5=OA.F^&-NB9A>^_I%:>Q0+7F1\ >A94@W3DH;\%IR>=;N,48X#A>T-W+Q8XS6HF).JXD19IZ3 M+1_:)M>CS:IS/+$\JY8AI36C3-D8><0UZJ@:V.>05-8BKZGAO4QP'WF@[S,0 MCJ*WQ_4.:0KC8?/0;^$^6K'#V)X#JM$/=_!J:ZZ^FU;3"6](ZXMN[(Z:=')@ M.X-T=.5+4B0ZNK,6R',./*%_3M>4">%=A6ZTHP_.BS0E4=\A;^^%.^PUM:[L MAS5WP1ORNH+WWCC*Z!-&NKHQSVM$C1OS&E=3)],_9?I;GF_S;'99/ZU;'*H. MN&.X7=>3^QRUK?%&KH;,PZX]5*,5P?6.,94M]YUL+XI+]NW; NC#L$8;Q4X3 MWD"K$]+ WI+M+25#>TF6PP7>,/93J-<"N?"0K<(FU31TU>'3W -W.&EH6\UH M4S;'&VXZ0O?/9BIHBSKA,G5+*6O3:>O*U,F[>TK9L)Y2\N$OQS4C)GH=ZOCB M"IN$B[V^6['D7:9I[#\>4CAP?HA@S(=LM"A@4FRN0F9;FK3=_##.!#= C&/3 MZHM6)CG@A:&1].P;R[(X?\[NH2U((1+)9"*R4"2-2%4LDLME^Q(,:NM2+I"M MV4P4+[OWZW^*^JF_A,-K,3\TO/X [1.<.OXWE5X MYNQ]MK"2O@/%MZ35$327IO[847.SK(WCLWO&!!@ ?Q0Y)Q61 9:>RD MQ$^J/Q0W?\_T=P47.^\?I8X?4N_"B:& 4[)TWY2!A O"FM+;K;LG^V$C7%T/A[=TN]0T!7ZU^Q+Q_H+L*4 MB_L ?U3AG79OW.'=T0J5V95>5[S!WE6!WO.PC \LBW).Y7%ISHO\QKD='YI. M$@NU^K]>^R&]2NE.E>[4W@NW[VMJ+?M\2Q>\OJXK>%\?5_CU*_D->!#.Q$X^ MP.B:7UU82T_,SC5NG7@5LQ5'2CU^J'I+XWLXZVP_@VWHB3MV.VBOR 10=<,; MPUV$-Y,OP-B0*":"D<@>((P5X;QLYP^,;8-$V*#()2#O_)!X41 X<4+8*E_D M$UC);Y2LP%5.ED5.0[O=:GK,)M95VBIB_+CY+&);*;29F!;D24G?=AR/I6\6 MOR=9/R@"5J1@Z1JG:#VS0*UJV1BDHNF, O1(8)/!B25#;PQ%JU'IU^EI)R)7 M99:?KF6J7686FS7Z-@:HU'Y&45HGM=E0E3C@B-<15*X&;:34>**GD.%$G4_\ M=^WOLZA;XX[7%BVK;QS7-L4;I6T"]_;6U!+X=HGJ5H2R=EK.VEO!ET49VYJU)NEK#^[W\ MU);&3[Y+D_LH4"\F&SK@AH1V7:LS5E5KO &N(7/_J5O"$S%SHG+0GM-]3%W? M@?2O!?P64/$C'- O=Y 7]@_'6CW@"8P2VPO@G^(H26[C:*V\GE%M@3M$:[2I M/'Q??HPW".N$[.M@G!81Q*P$SZR4:4M1,J_,ODZ9:?*-*$^G_8F&-'8"!FQ+ M;^>'/BQ]X(;HQAHDRW4BW,VZTZ&:#2K*15D^\&--1_MZI1H+-@F2,Q(!> M844R7G:*,TQLAHUD!J=J!BIX6!5MS-N M2.AF@\HT0:LG7BCH*'_O\9&QX>Y>,"(2)S9[8+SD"YV6GCV:R!I<6SCERJT2 M%%9)2XY6WT8-VA7^^I!V0QO #<)._QE@\I5:RLK\G'ULW=9 M^B8*HZIJV5JDY7A9IQ_N*-367([)UDYX(U1?]+[^+',H0C9C\I7M\HCCJR]J M1/B9WMDR^ZL?;43U9113?Q.*YYWZ9FW4)^W=*.".]![6D&.^0W>\ MT=]'B;Z!D/$B.3-YCEV=8C]RGM:.T&T8A;ZX6T:!D@UCP1\FLO9NB1(257.@ MMDZX84!/YY,W3)0]\ :[IMS#!KK&T=[>BR9CJRW&=VN!F]_FK*@FZZS>)-/L MBCN(N^A?S15M[X_BQO,Q\&\J,2Z^8TQW?B>U@K9!-YBI.<;#7F* MGQ\>F)+9KD$49I.3XIDUFER\L)5,%'M^Z,2O_)9W?9%WI7W'Y(@=5T:W]FGJ M^BCL,*/8^$KW#WMIA[', 18"DE+"?,F2M>="0H:A)*8H^K"8LIQ< ?DHM3X'KI"EVT%$+ M/-!KX0W6C#)YE]$VN_K1/S8<2]5;5"'))GFMIX+';7"'7ZU&E5,'N8'=4&L= M:>IE[7VD0%.+AV/2%=-S_\GW:.@E>;65<^H&[!^-4@9-77$[9A?]%7>HE?WP MCAB=I#=SI[K@LRC+#,']%,',]O7J\:Q04.9UA=SLTC6PT"LZ-%5BWC0NX21; MXF7DB9>1151]*7^"(M>\)46@H3ENV&O34X8Z55N\\-8J<5__+1Y/&;52FD:T MCJ]A$8=63O>/]?OH)+ZK:8N\[;PBL*)A4_CQAO.)O:JXY@)O03AE*Q.'<73D M5'!-"L94E)X@#>)YP+D?'%+E2DC=>EX8=*1E$PIE3>>#0\<"FT2BC#8*+#*E M9T8'-QZ95A8U)OU*_5P5K6+#W(X$:QOG:1X:TK M#;RXUUN3OK&3,R091R)8\OHDHJB"*H7WCA=<4X'K MY"8YIV&T@TN@46QED:FK<-/BLRN-MP&ERL5J)P+S!U$SZZ&."&IOW3NM6]TRS-VIS!)/VZRB M@:@J$K/#U%9%IIV78L+5T4PCK^U'Q-;61 IK+M&.K9YR1\#.>\]9/>756F2> M+$.OYO7KEI5_=RJXT;6G5:K/2' 9O"1.(^H5LQE'2[$"R4.B]6-G^X:#4VX!<(E)>F&:KRWP)1N96TT>I9!-7+N/ZNB'"PUM-2>H>(%;1VA+ M$U(K6T#3V'1MI;<[SZ[=1X+'AYN*/@Y^^ZN_9-/;%'=F=+*#8GU%WQ!OM MW<0?=2_F_F%U]N\_KZ[/+^[N_TPN_N/SU^==R?39 =7%3R/=HX?*JRB:HO; M9QLUK.0%US7$ZZ/-XIKR3?*;(&S%.:6+?)\H'*BI9UXG[7 [I5(SQ<5.[UV%9\[>9PN 1C]LZX/;)[4TEOVSL0->7]43 MNZ_?EM0)D'_OAR1C8.B/M^Q M5+DLAN=;,[%=R1T=,J1Q70NI# &R5]%1E0 M,8WS(>]RCE\1/YN/9TS_3++5XF_ F&2<[:2 8#:/;!TK^Y0\-?0J20[*:]]' M37##0IT^E4U'Z7.\ 5TK95]W%,061) ;(P+W-/8C[R)L?@K-I$X?'=;1I6.G M=@O%[E,G3A&I-@DPB#>K&RHS5AK@!H53761(*#_%"P@U,@XIQ'AT:,Y^#0YP M]8#<1K'(2#HZ.I^P K)&NHUA:]@\,F=3 H$;YX>86?:6 \XO3G"@-_29?Z(^ M+=3KBSLT.UF@>GJHT1%O0'<3O_?0#URR@9\(/D0P6A#."A)FGD4#6[ESTU@" MR/!A-5IGHRJB>!?SAYX!?]IYEA&OL(%&R!_UG%W,J^0?(^CSM0#6J#=MB].P MMSVO;H*[O/@N*DD-$MHT+"-[LR@GLKL($-'E]'F#/EG;%EP ML=L'T2ME4057&L[]F+HL8D;!E-9=/@NFJD$79A1:,8JG,(K]^88)M&FA-$NX MT;&.]K3DC0".EC)C3ECXO^^AO4=DYD7&_V44KZF?'DYG]E;A9US#9475UD65 M-6Y)7UC280!$]D[,S?/'@?U X^"57U/-)8!/PBA\GT,6V?'#5$XRW5+R,7)B M#WX9%=J'3A59%#(3P[,_J[7X.?4? WI/7=8R]7OM,.G0G"7Z=[.8 M[KRSE>#L1H2.:HVX@U4* 9$JB4%*.7#!UD2VJQKFCB9I[+N0WR*,^CGTI:N? M&<(]^^EV2P./%PNR]C)8(]P;AC-]HK/$LXXVTY[8OCU$ZZK7F-/=^6':5-8S M VJVIVOE9?_D(5(DG7.+/AY/:^_H'P<_\5-FT_C)=ZFP_AUUHTW(J?#!1?'= M3< 6-TA.9??J58AQ>>(%VLDT[YWT>WMU5MU;N'5>05ZRC&-&DHJ:+$5"'^#' M692D1)+$$@RCMRW'X\RJ\IZ#M?GD'=VS[V$+ IU,QIO&NI9^N %/6_.3B5]3 M)[R0HR_ZL.F;Q*)V66KIX>CQU;_-2//IE:T+F$UJBHEH#_L4'><;T57==4-: M])IG3!_)/EI0W]?E#&&(:D,&. EKVRNDXG5>Z?HXO*NK,%%#<]SAW*:G',2J MMGA#MU7B_K7=BW>VSRH/< -U2V$ZOK+%6]*6ZWN!5I=!])SHE_6JZX([,G7T M513Q.FF/-T*UI!ZW?/KR_F=R>;WZ]=Z&5]_0%/2^C2.(,>_CZV12'[PX']+?LP"MO\WQAQW)%BUH9R3)FAC#?Z#.LWY!8, MR$%R0SYA:X?0"W2LF#Q0Z1IP1;P&XD5;B@;>/H'"P>%Q8/BUN<\'?XS05S'X2%:]&7O,O.B.EZ M35W^D^.*@Q$8";ZR@L[G=,^4\OE@Q'X.:%8F?KF#>[G_:$K0UNR*&SV[Z%_9 M&-'HAQ?=.DG?>P]!8K(@!1N>Q2HSLH(VDUN J^VHU9ZN]HKV!8R9WK'0OT8Q MMYL2(^;TUUQTL'.I8<0+'S6I 82^P,]62C'\Y/@AS&I6X;T3T-6:S6O8K"%] MO64Z\E+?>YAW*.RDW1EWL':S@1R\>CWQ!G-'^?LZ/K#)UP3,W<_]9!^)"2?, M/W.FA',E!5M+QQE3V@3N+C$F8(5];@48HJG"!I- PNP_ M,;!Z4J88M/?"#0*:6LO1W](%;]CK"M[7MTOZY#CT2RZ6PGM"W3=9B/M9V2C" M5N.4),_.WMJ3F%#0RDFV%V+"H3!1?4O,.T2=B^[BEJ_&9$ MR47MQ'.:2?9XVL'57JZ>G]*=E8MYY1"A$P'84[75B&PYPB86E>?6X:B]=-SK ^5=<$,41 MM9!. 3#UJY]NSPY)&NUHO 28T393$X6Y172K-9KC6]E]3M'>KH3AV,\9\ON^ M)&>Y()PI&C08SRR%_F)XQX$+XMD6_@!YRM74']1KN\X-"=3ZM\SN3_K-*?8; MI#<]HQ=O]0A6(M3QC/PCF$'HZV;ZHHMTV,?H'^PUO6<9[RHK:(3\<=?91;U2 M@5$"O^2&,O:-&T-H'43AYGU*XQTJ ,C7)K?.*ZQ+M"UUVF]N0:_0O#GZ+^X+$ MG%! 3Y&)%OD%8R0@,:YQ"BM(V_<]8&,?^SN.!=_^\/VW' _@+TV'$M?PNYC+ M+$/ONN1^9)@A='!BPF#+ "KT)F(7%[S(/4 65EV"\G"5>H^;.Q@V(6?,+[#" MD[&BO/<1\$_KC[V^'@,QZI#4GJ4*+,VY5L]".>-L_<2MG;999XH#&EJ,O>$Z,C#TR9T:SRC'&Z^684*_ MSH7">)T(X(:([K;H5V(&+SSTT,%^J9A1,"-*G: ),R:V5&L9 D38<14^T62L MDE?=B<\2'5;UU6\D'"O$F6W)JZD->ESRRB\L:+GD55;2'\KD M0X&7F%8NLBY#K^UV=R<"N&&KNRUD:-+OC1=^>NC0NZ9RQ@IJ$F7,BCO>"W') M>\'W%VW?])[2)E*=:3PWO9F^+J5>:RNPY&=** '"2Z6Z."$OK=$<-$ M#R5ZQT3&2XR;]UD=A F10G>F8<\H>7&(VG2WJ;:AIU1_N=G$'+BYZ@G#2M^E MQ;MF;A E,+-RHZ17\I_BW!^4@E,UV$Q[=-S?'V(G3&#V%H5LDIFK7S.QK#O$ M&T(,)SZ:L5&1!M";$O)<@.%Z#4\($+?>0UB.$&>=0L9\%C+\U6;ZF/)7LOGS MSCR(LOMT8AGHD(0& 8W?L\A+*#\L=W@UB9]J\ GM6 MYP,6SQHHC",Q%P^TY_P7M0OK20)_?1PN2"NN0G MD :>RP7PSYEB65*/:1>N\-[QQ0.WRDO:"8TDK% M>0Q8RLKA$QIUD1TS#=[81C]8=+=%OR,AO -%#QWL'^U@.J(>RU*5(^JZ=0PB M[+CT0[9D&^F(NCOQ66).3QMJX%%'RK/#JK[ZC81CA3BS/:*>VJ#'1]3KPH*V MCZBEG>5KF!&RN2"; _HZITW'[7JNFJI.D2F.\T-$NLIF-(TZ;+W8Y=>O' M069U_1C%T7VVD%NM=:*UJ3WN M:&W55(Y696.\T=HN11"W2FQH2!XO7'N.R$;#5!J0[0=F/2Z= M1;M=%/*WP#KA6;4?[E#5UKQ]")8ZX0U>?='-#\"""^%L$ V_XRDOC[ZN4#ZI M47[2[)#5&O KU_X,4JM:#D/K>R /ZW9MZU(]:IHC#F4-H8(ANTRE-9?6Z3B/0&[7O2Z8U;WP M![2&[(.#&E('2R:C3JB[Q_.8!I TMCZ+EE80DNJ\]DS-8;G&.D2/"O*X[V<5 MU9):@P1B1.BIB)D5YSL9+;[**D+5Y:%87W]/81M.&'=VG,)2G0C@!H?NMNB7 MR887$GKH8#\C#5-F[5B6XIFU[PZY=?:2S>HRSVP@R<5Z3=UTM;YXA6YP8(O#S;F?[*/$"7Z*H\.> M]6"_N\(5J%&;<;-GG]DWY/)OB ]+M!2T M[EJ@C;%HD+5O:>Q'WFE%V.P[D+]782B%(TPN!.XQQLYW(H\GTTJ =^RP9(SB),2RO[,9LCIEA*AVWA6NT^=.'TK=GND M&S\,8:0=W7KC#K&#[?8 XG48*4FRC9[A8CTW&P/M) I\CU=S2E+V3Y%1X1:7 M4VT,KO>'_3[@PC@!F.R2"7(5KJ-XQY>G+3?J]7OC'C [6D$>&C6[XAT$NRK0 MNURK^\]W%/5E=DK/E M_<_D\GKU*[FZN5S=?5H^7*UN[+Q'Q>S%(.W6\3VV6E"8[+05[D!7:%5].*K2 M!&_@J@3M__R3H$=NQZJ3U?ZPDUF-.,H4]='\C+JEU]VB'7UP7FC2%E U#;'' ME$JWH_?8CEIACBREK/V#"T@23M-F@!E7[#C&N)HI<)"JF*X/D#N;E]JU,&FNPJ] M3X8$)ZE:)FQNE1E^G-O(*W4-%)G.($VK]9O5#5^P7]W\G)/+ MJYOES1G_[>SAZI>KAZN+>QOP4=Q:NG5>G<> GHG7<9FIRJ=R%>;5[(H;-+KH M+^.%3C^\4-%)^N$7XC(N5I8S$ZOJ43=P8I@_,$0,HY2\LGF7K0N!JWCCA/X_ M^,[D67&Z -N4H7?+K)V_U+):9[CH!/?%N4/+O,$4;=SP8-2",GX8(8P78,RJ MUWN>XJ2'F%_>RXOI6YFALJQZ&Z-=YX MU)"Y=R5A)_$3\9QF.2+9\%@N"+P868K!QLE[?Q/Z:]^%YR-/C #HP<%#8;:! M)'%[O0E[R7$QA![>R#&BE='8XHLB20!22D!R$>P/C/CL9@.3+AT__L4)#A2N M) 51P@;VMG&TI0MN3-'15\:,IO9X,4%+ZKZ^"\0)ITX^40=H[VJ2CZUY;]N0 MV=9G?O[;..@U=IB7!YN#7\F%)?KVQZ3)M+8=N/G"\2S:/?JAUI-=+5UPAZV. MOI6I:D-[O$&K)75?[UU*;YHB<=DR2EO7:;J=9^?'H<>B:GK-R[2;Y>Z\+ M,C9$XB,-4?9'J(GL8#O8[^@3#0\4RHA![2( L%_]='MV2-)H1^.6H4J_-^YP M[VB%ZJ,36EWQ!GQ7!?H_2<'Y('3RMC&M0_=9NWGCN*;;=[:.;@[3,T:BC&3. MBCPS7B1G-OKXII.4.K$];$3^3U'D/?M!L R]JS!EXON/@="O>)BEJ62P+ELF6BY^M23Y-(?#?M3PQT! ZU4 MD['5E13>R!FJT-A1A6I/%;NQK%Q8HH^I]E)4V1@W@#3K6+F&5-L2;_BWR-N[ MP !_1)XLXQCNYUH[O*YJUS;\J5O/R3L;AR]%T[GXISE$Y4\\8AI:QE(4323& M_I.3^D_T*F08&O;"-G297;^VCC"-;6?E<>:@]K295$- M/Q/IW"M,][&_X['W[0_??\OC#_Y2%H-AH^2%$T/1>GA8Y7[K*,>,+OUP1F)G MS2$F[MA!-%N^E<>;ZEL0?>18FFW+V+GDKD_TP$ SQ.K+^\[M)_ MCJZMN?#6[CPWAQ\#S.M\GP S%.,;#GO8P )>O+TMN_:D$>ZHKM=)#MUJ"[SQ MJ9!S4*5^*YNXUS1)**V^0-!:7Z:U$W8WU-&YZI9-/3"[J9;<_=T6R"^.']U M4&5F=,5MQ>M9M-OY:7X^"KUFD\MQS%P)X8[V?&KVS MXTIN?!>@PN]X8PA/9+2-;)V)O('8:!SYNE&8>7083!YM"@]4*RM,AK&RYT(W M(,T=W4O8 $4^=6AC <*+^VP)ZC5 M5>0S//A!HK\@I02D MH960@_R6_6L;C:P:4[(8O -I+C( GD.CEY78"X M$)$D%1G).A-RVBPGNZ8KRB64[$F5/\D%P(+/\[*:G8U1AFM0Y1$DN?.3W\7- M9OA)N2?4U ,G1'?0MKJ_J6R.>&*G(73_#3J)-@&2"Y)=A1>_((G[26R1UVQU M9296]G_<+?4. 5VMVV:O @T"$/% M,SZB&"4SF%1-*WMZQUN%=S -BMGDF[\&Q[]T?8 RPV,NT&70HO6@9H#!'.#. MI)HF8KQ\DFJ15[6%:)8K]>52 6860"V[N)H_/B._#O/Q5?J-6[+U2](F M,Q=T[&:7>@#4HS$'C.NHB8DP*YYMDGDNR..K_(<,K8XA:M+'RR1QEB]^HK"E MNC7NB&C1LNX]LJ.F>/V[3>#!+XY5/!5(HW%4EP],]#S:.?[QEGJ7?O-SWEK- MV]RXTFE>#ETONDG77I"<"?E-L.GCYHH#P]M@^U,<'?97H?N)[AYI?*2ZLA%. MSVS6J3BL.VF!_ !.+>^ 1!GQC'M"_' =Q3NQ8[&G<_TSX7P7 MA'&>]-S,O,:%,C6ZV!HGKMD?KE*ZZS"KD;O@C,$N^K8,#$7[68T)IU*;G>D M?<(9V'HX9U2E!SZDJACHRL76PY;"9O"MXWN742QS:]S/[$\%9Y@.M$HQEG8G M@7RP':!0[R(^SN,A<&*Y@@];HJ=;*DX.>/T>D>92B@!+]30K_C-U5HL%$\E[ M%Z V/X*ZS0TC,[:]Q6K-0H?=SHE?VSW']H&W&VU"_Q_4N_+ =]<^];*M9[', M\:I;T.PS%J]>Q[,F4UQP8O?(5E4=HAM@@7BB&>ELJ,GV;3R&90C)$*RC+R-HTM8PE^5*_DVI.Q.!3<2 M]K1*R_JSB01>).NKB-E-2\:2<)Y$8HH%BZ8VD0SF>V88S@(R@ Y!KQMJBD5N MW>OO'%C;5[;Z77$"01_]BS6L9C_D"]>N6IA=K;H9]WSL?'08>9>*_ UW"X]N MP5ZSLMVT*]BI;)7S(<^,$G%^=B. M_FG-4+U-(@S@54WS^$J>G-B/#@EA@4XW46RKU%:QH?=3%'G/?A#H[\_7]< = M_AK:UN^;GS3'&^HZ0IOP[)PZ^')9K.ASZ%M?$DUMB8UDB;BPQ(%9PO)],'@S MBE[[3]2[8C/L<..S;T7LT7>]]=6!TEP0H+-U%#>X=,G, 3&Z*V/D-A;G^IZS M)27?_&P,'9I,:*7R>,LO[<(W7*1YPX(X.U'L A:C< [F/-'8V5#X>US4N]A3 M-N'PK,XRHB;;71Y2J(8LB7SQLJ=AHK<^,FL$@Y&7,R@UC>SRV5/Z>/ MZ568I#$_3.E0<*BAXUS H$WW>A!0]9I#\+?*;B+HKZ-P\Y[%WXX .R+QPQ?[ MDQ@D* SB@4'XP9\HPI:5I42 K'_Q"8R3WD=D+0H#-)QKM"%TGQPHJ-U5,"A M268>2-)5&1.15'(MJN^D4DT>C/ABPTQE_9L$?F4*,N0I+)^2BR$,C]EEI?S)0&E6#[)\1+PFR(" * M>0?"?(49-^T:3T95"4)]:4X+B4O-^%E(R]'X*G2CG97"9.?^$]QS\9)SZ@9. MK'FMKKT7;H33U+J:L]/8!2_ZZ K>/T\GHT]R!EB@8VS-*UEY<+G6*TS!K]E& M,,42G.U.D"Z<&"JX) P.[[=,'*C8Z"Y#[]P/#FGGF[1=J>&&@H%6JI_2="*% M%SJ&*F0BL'+.A+$FG/>"%TYU^9Y)QA\+XF P&)M)[ ]ID33Y6-C*RVQ%N.,S+[VJ&X#=6A M+_+;4'TTZ7T;BBV%T]H;45'./W-ZZ1ATVBM.4YI#\"(%,\*Y(;OA-*5!)"1L M< B[RZCC]VJEP@ ?7[,/]9=17:GAA%-#5JI?1G4BA7>B-%0A$ZN"TY>@)=Z\ MRGO> LF4"X/1\OM6L'K:Q%&20*F.M9^"N1+!V 8BW1R@_BU<.,O?MLZ?ME;8 MLK$#;EQIUU6&#G5KO.B@(7-?7Q:DQ=7)MF?0IXGJ292-2V43BV^^5U\<4QCD MI!'N<*S720[!:@N\8:>0LW_Y],J3YY;*,(^G%#_?D'-#]BS*X) C3W*',3)* MM_"6YB&.82)A+\_]Z*T_D*/V=#@2A;XN7E*F N3F7_M)JF7:[C3G%-<]+::& M@8X$YX(:?=4R!#*+,HL@N^B3O9.6L[=^QX1?)+R)4II<1TX(3\EE0H:;\BEM MO0?/NE+#'6\#K:2\BJ)/"F^,#57(T"45SGE!..\%X=SY(%?PEU^#-_TL6A*G M4K"QW\I 8[_\YQV4B*IY_.SX,YQ!4*L!N'3E WP.6B]>;S '2J9?*=/QF]IG MG4X_1>X[IP\Y'7V$V'],/=DD/*C_$V"]?.B3\^+O#CNE%QU_CM>/:C7)/:GR M(4Y?JA>QKS=EU*9R(SD;]@)>+(&R[O4C6D-3O,[5IE_N9ZIV.%VN5=H!-1_+ MY.B<\L2C8YURM0]VMC:>EUN>/LW9W'(^KFGH$^//<=[O*=]0.,3[**&"K?I=SL;6.)U24\OR=3%E4^39-AJ" M]T^N\1.RX[1(DCJ0@ XU1S*.)&.9.>W$#X.-IW6]>N0W0=[&$U]3ZVKEM1EQ M\9/?^[R.!.XU/<.N;HX3CW3UK#P4HVB+;Z#4EKCWTR_RO6"2D[;Y&'N-ILVO ML#=UF)_/-KR[KFP]+[\U]=*ZPG--;Z]T\-U\%[K<:*Z=^FDTQ^VW;7K*7JMJ MB]=G6R7NZ[$Y81(7E"WE'4RIXH*$U$K:7>4T"MXCA".A4N/KEJ?;.W2?1[3J MVJ$N>MOZXH]F;0V&NK[V$>2U\A7X ?L/IY%]3]U#[.=%+A]HO*M;"VGVP^GI MG34O=B=T.B'?I^BDPI#K0**$-(G8^$*>M[Z[E5XOAW\HE!* ?8RDPC\KF7@\ M+$R[K3&)D8K!3XKR*AL"?*;?Z)A$^TM1!^^5I*^P0M+BC-1:QDJ!RY(QAU)*!LTQT/L>+0N MG T^L'P;1RZE7@*3A+9U05%*8.FF_A//T*A;7@PGB3/03=JKV'$82 _Y9H0I M[?I&4,Z_;G*:B+NF14R1-*8\?_-UWP4C;&">%Z.LJSM/J6>.=G+?(.R.\MR1*@:_S. MU! 7_?CZD8;N=N?$OSE4[URH MQL0GC6YS\^YZO9N]N]IG3MZMD'P<[[:8%@7[5&R"Q6LSL=5R8TZ4JBUN3V[4 ML'+YNZXA7I]M%K=_601.T$JID9HQYH&QZS:)D'K@]DL-;5NF#GESO#ZJ([1! M2 7:F.8*($^W:4*EQ\S\]U3;YK5;T7Q&_ELCM''_M3@;.#LD:;2C\8G>C?." M]E[(/5E/ZXHW-W=![-&:@O?VZHP^<64&T]53^'L4YR*HKL#7-L+IH45 MCEO@\[\6.0>[V[2WVV^<'5VM*_HH+[Z*QB^N M/T3[!QH6D:.^LZYJB-//VG4K3F9K6R$_;VV6N?\"?<^DY6^;^&7Q;D@ 3YG3 MP?%=&O'D[S3:DY2&Q,T%@"/6,BM\VN/0<6SQ<*RBN9"[HR%]AC.5BY#&F]=< M4CJR3YZ:,:Y&"P608["@:<-RK&MD2LIR)-R@+16 M56(JC8^^ULF6/\S+&LO)'7V.$Y.4FA3K'?E#G-/,>A%[EY,3U%#L:5ZW7,UM M[(#3X?1U;=S0O,9_X59#9I-)*=?*6[33) 2/J:ZI?2[%_/-$]/RU#S;G+:;1 M=4.<;D>JM4+^?RTFPX&YJDP&PV+QUY@R5@N%Y^W;+;ZNO==)PA> MR0;F-$Y*BX><_)#0%Y-NR2MU)IXJ3_/%G&+H@I1/\77$3RM^HW41ET2"XH*20EMQ6[9\(B&IU0V/YF,H\? M<:#,=B%J[%,8T?OX6MBQ]X+%#)\Y#8L&+:L>#0TPF=L@:%)E0V-?'L:UP5L3 M]QY_'[>(>6GHE%=%3OA*HI!6T<7RX(?!^'5C7B97_[M.:I-84M+'L;]M M4M\J/E:VN4G,>$VQ)=-KHWNNLT"EUAH[''.=H:D5,+_7H-C89M]3&ON/A[2V MNHO.-C>678:)]J$Q37[,ZWYSZC V)BB7CA__X@0'RM]%YL61?><1ZE#X-/E$ MG>004V\5WD%!C!A*8(3>313&^:\?G<1/FFI%F*2/$V1'LZ0\3S)&'.^DRKR* M_:O8^C'AHI",+PPVR8(4O/EYHLS=9F&,PG ?7R5Q+V/ZQX&&[FO#M5:]GC,) MNW;M:P-*W6T&H:(A?.^E=DF8%)0M7GHM=*[3N/'RJU[/F7AYN_:U7J[N-@,O MUQ!^.-0OB,+C+5Z3K;- 4@Q"C7=E-;O.S^M5^K>Y_7&_>?F]4OK^R]>,G@V_ M/JKL(G\8^PZR4IZ= M?>-\0MD8M]LVZR@[;'U+O*[:(F]?)RU>2^?)0 DC;'E+H_CQ9Y_&[)O?OE[3 M)^9 6KL:S9UQNVXW&RCV-AIZXG7MCO*;6/L5Y)'M<"2G!NB\U]%$8R8AT,4B MK0M!%8$9!$0G-0QL?TMA@6$;Y"K<']*$(\ 'O=V/VAXS<7JUMK4N?MI\!@[= M('1?]_V/0P098+>Q[U*>M,BK]E/RR8E_IZFX&7;EP;TPUPF(.&PB[[@(Y,-7 M6/S[N\[^_=V,_?N[;O[]W1S]^UCHWB]^^9O07S/G#5.R2K_'UG;_Y^QM[\?3=O_GZ.WGPLM EO_AQ&"D\FW_=Q9=7SV,$C5,JY M=V/Z?.L'-+E./76]I<;6.'U34\OR 6QE4^1I?AJ"CUIC*>-/$A" [$&"!0E2 M;^)WK<>SPO+^=JY):=O<<'L%])!:-XGOA&RDS9>K+RKR^U1F.?<3]P@ HF6CPD_25(8 M5*A]Q0;>&87AGO\@,5/$ MOYW[A=.;PX4?:,G,;@Y1H>IJ7?Z1 Y7"8II=<:- %_WK0: M<8)RM"_(3W&4).(#*_$^M0F<&DTGB7!I]=)][J[=&7>4=[.!'.=Z/?%&>D?Y M^SJZQ ;II'YZ0Q@M&@!/O[,YPAG4#_6HN!1*?8DA7?J.%2AOA&6\R42XP51H6]VZF1[>FG+6)HPC QR",W)<,6>A"R<.HX.5S2J%;F>!DR2\ M%-DR@=WY]+7#B=4PDKA!Q82]CFIA]J:'%V:,:&5\V5BR)TY"A "H3L1L6NT- M+K/BF)E"I.^<;>''JW"Y@QJ,JW4;I*OJ]$[''3<,3OPM]%SV#6&-%URG-L T M\SXB"\N:<7'Y32XN,*\-:F?*V+ 9-K>OI+3JNML^\ROQ#CQG%&K_6\D.]T,_ MI=?^$_6NPI1IX3\&6<+HQ]=/SM^CF ^3314".E' #;\]K%')V];OCA<&^RC1 M^U2&\WK/F9&26YY__?A*.$,QP[1934!MD](B-\ZNN691=RJSC98FJVA&3!V) M649-HR+C1,ZB$C? UFK-@;S0]QT-^/"7;/U]TGB+M;D'[K#0T+:R4Z%NCM?= M=83N/9G*7VF.9>(V_/8A=CP*T=/LK#7-<'NH2B_9+8_;X/5%I:1]'9 3#!E! M*[M5XZEC)89NG5>^*'N(ENX?!S^F^9J.)CQS5F$%C6ZX8TQ7;SGFVOK@C4%M MR7L_;)0QX#?%!0M2\LBRL*W$Z^BJ/_#'V/=,\"W[??!.L2HU4UP;N:-)&OMN M2OD%DDPC[Y*Y-O\Y\97)?-WZXPS>WI8HLS,[=,:>GME'E=Y.#LOSLY1G/]WR(Q2GE $VW![SO=%L6PV:[&GL1QYY![6JZ(NS MVP=T(>BF6RW&%JV0G+K?E# D$!I%8 M&K7%#\(6(=W MZI.BYS2)-?@/DI7S+T#R1'='76C3>C_@WJB"MO:=XI]A]Q MU8O_[#,6]MY-GTQ)0]QP8O]$5FXYX(OK9;IEX/ :IN/ M!<2G'+\,/&[0&QDL%Y->2=;9@_,(Y@>2BY/B#G73XMDC\R&.60?1\JYX1W@2 M?%:S_H)0NL7^HV&U@N\7@MAMVF/#;2%O<<8MB3Q_^![KNUB>/H]N;M/8J 6R M9YQ$T[IMH%&YX03;B:Q<;%^/QPKY9O<$BO>.X")1U\U?.G,R!"Q7S.G);KCG MI'3:G6O$-AQK1,J_D-HZB...0MA-?E9UUC>U1+B-Z=[QO8N7/0T3RMKSMR-J M1R[;LN TW MZ> XGMWJ2@4D>:T S3/R!5G[+[P00\]19Z^&FVO*])YFOT_!$^?P M-ZG%1]G[JV/X!>T -JH_)$76*?8"HYP%"8!'C@]Q.?HY)7:\F6W!40P[TCRB MD)5P8=_$'N$H]E_5NO+<5WSEI=PIM@2KW' .:Q-9>:QUG,3JRUBYU2F,#&,5 MU^#GOP5GTO92>0![T*HND/ YH>M#<.VO584/-;OB!KTN^NM5R"C[X86C3M*/ M4@MC000G JSLO,,YA0TR)8-3)6!)M&;9/3JN&SJEQ.P@0=<=G:KP @(NL7=DJ9G=[&JI4?[MXP^)&/@"?X M=+$-8*HG#SGFFS>R/0 MG&7ER!]DN?VWSBO0F"XSJ%&&+P>RM;^1D3,-U0)\&5"N;P9DL)YG%E8>WBMN M[&3"3UQQ99Y?4&&TO2#(;>ZX;GR@E3P)G!D1>:Z\],G8)WGU+'%B]Y3V'O4J ME/3)%Y0-T:2]P4M1@0RB;_]FE$EKCGT]ZEH)P&./9K,P_UF-"^,-QYOK8O+Z0H:G.PJ.,23*C+V@PJE5[^"A4;C9XC/""^*$;'#S(:)/A"D):BW?!BHHV2)0:/ M4DT&FP;,*U[1\F4;PEQW=JEA/T61]^P'P31(J<'M32*FKI4-(&<;JS>'H-H* M#PKU.8&>%8L,V+6_Y2^JK=8/_H[FLE\EY]0[N"E<;KN,XJO0C7;TP7FY/<3[ M**G?;^])!R?B#+9,LE!*@TIF)(]_@>%4!AKLLEX$S_A-0?Y"Q9I M1!XI\0IA"+P4Z'-Q^,V>?2;0M+O$5DQV6Y@+V)*?)'.=5^TC>/,;8CGWZ4N; M6+'13T-\"(Y5^>%%,NXIZFT=/1IEB/R,60Z_?L/. ) 07Z)*9[9@;* MWZRN5.YRPE>RHTYRB$7#;(AR"M'(.R=A4+)FVGI?,3I.P-?_TI.VC#:D8K#? MLLX,?NKR8(MS3P8Z[/.0814<>?+7GR%R@?A='$I)(4BY()B\:-9- M_*'9)PN2\Y%Q1N)D!3RFL8%$B\_FY*1N1^^=/$OUK*W8)T]Z,WCRR0:'W5D4 M)FE\<%FGZ\#]1'>/)]TCPV_$"*BY7 $XY.7TSJZBIOP\KFX,+PK0Y68LMR'C5=R9; MDDW]_9E9L\F9+W519^/XZ1)N-M!K_XE]!T7.Y=$WD-PZ<;I:UWR!#PVO6IJA MC',8'\%Z\@&0 ;)XCW5,*MNIA=@.1 M<22K-=PW?F)%H7V[MA*!I9>H MVK?,$(^[S6I:J!1^K+E@Q@?+Y,^X_O7ZF4W<2N032G)$F(A&H+&$/]:#$B5!M8A%,+,M?$[)U/$:50D$J<2>[ MR%9]I!L_Y)>PH$!61MYZEI'5KZMNM$BJ6P?\BWD'8GTEOLA2,K(Z^2++.:G- MXH)8S)M9([/-/J\F<%0CW^Y#=76VNJ%I::X>@_EQ?YS#46]+Z$Y(*YWG.2VM M5V&LR2GC5D4<=--4L_8H]1UUOIH+_ROU-ULV("Z?&.1MZ,T![ONNUO=;A]EQ M=4B3U D]N))??VPQ GF;)0B@B267K" F=50NK.9G5&)#OV.PN$2:+2I8_HH+WCT[BNR,9-Z?] MMH&]8D&3J,X)OWU(KZII9J\A+"#K$:B3Y^/H/ U+O@YSOI!]!CO?D=F1A\LT MRT''D#6Y9\-+>L*91WA*3U_'J&K&@@W4W]38TF;% :.+BO2;&U]: M%34]PGB"X7^-,4B^IP&C3"93S6@SAW%F-(OF9IEZK+EP8O#JY);&7*F>6U$- M9.8Y>K3916>84-&8[WC0JM'LMXI&T[ -,G/&4&5 @./(^SX-162M&:DP AM? M!0SVVIU>SL#R. $RZ%VT;QR4$MC5L=X>II,!R$+"RMX>^8I%NM> M% 1.+*%(G[G4E"B2S?Z&6[(D]&:0Y,@V/;$DH_(FT.18ERGQ)..-'5%,F4A> MEN% E2S?]H[N1(%SIC'?+6$AMWH,_ V?UAE#.LW,.D<2L]D@A!)$E**(A=SX]+P@PY)'INE#P8;\[JE M,()1!F\\I$]L:32L"^IO.+1/=<00WM>6:S;@,ZM4QY&S0PM]0RSZ-@"K-Q;- M'&:F0Q"\F&# !KGJ>TGUJ&!@Y18$W .!K>)?_71[=DC2:$?C6O4%!/I0X>8V MID]^=(#%G1^I-DF,$,8-&>9L)^/)<*IXP<:@;GVC,!>!/#,92"[$0@%'I! $ MGAC-12%"%BM8A<"$^;Q%*N;*+\8I8(TDL@WWN0U%RH;!@C1UELE+?+Y^BCQ_ M[;M)&D)WKFI.[V\[Y\U/8ARH8>+30?EQ-.P)_ NFUSU8%LYC5Y-:6L:8SD#+U/G3@]=U*Z?/%'._4X9H(;>L>QJ='3CPH'O( [DI[V M3T$6A$M&0#3R&P@WS_-.L9_P8:ROKR3_QB/^R(Y&8SVC_8:C_%A##/$M9"(? M\!YGS,NBYG8)>QBG^2G2H01Q8ILY6Q5[B(.H(=]--*.;F?K3^7)#O HI+478 M^D.U15\M.3CMWJ)=V^6'&6T0=8)0-E\?Q>5NS%,K&O>M(&UB7%FI=1^'F@<:[?!"A+P+HY2\TI1-T9/4@0F!P?(G5Z$;4\;YG(I_KT+E>=\- M'/G53RB>J3%$2. B]Y;F,MA<),]9[4^U77/HFQYW1- MF5I>MJ74@+;]R"#&V@%VT4N,K:>!'&>':#0<9:5]P^S5$,=UXP/UQ/.(Y1,B M['],S#!A\I!-%'DP:4MH_.2[?.>[ &*8XSUO?7<+\97X7O;8"=DZB2@M*)8] ME!/P$VD5M"!NP$+1YYGKK+45(+?Q;6@DWN:=#<0FC-^ZZC5&\3K@1I*MT8A/8%W!M)?/("/ M^74H9MT%;Y)_7\"=%.R1 OGTCCOU?D>AZN -CQI*B/%\F'4Z;GD"$XV$V:;L7IJ: ]TBJIQXC+KS+=+6<*YH+6B,:IJ;B@'RW]01,7N&9B,H3 M$?;RS,[]Q-EL8KK)+J1ENC25?6SI@AL]=/25L:*I/5YDT)*Z?Y53F3BX;QX M%JLCWK-I*H79:E[V]9YNX->DX>I?6Q_S*C1WP^K*>V'V=.2=F\:); M)L)Y!)G**B,AMYY1O\3A<>' MZA96M:UP>E*+5L6^RFD3Y'LF#0(/N/"09G<<8-=Z2\GG-%NS$B?T"!NOT]A_ M//#1.A&LI]WY&$'I0D5S0701TGC#E@9YK>I 4K9$'$S-VA4!5=\,>5"U M"-U_7;=GXG+(]D-^=XB'T+X2;X+W-R7S!7'82G ?L4;LUSS@8)K,BQR%*5L M3AM^(YE'D)U^?W!*=0; R2>>SI2F\X!%W&EL02 M7TN1.+;Z9\=Z(LI(NVYYO52C&\XP[JJW1G;:-?[W0[4E'R%+[=KR(Y_V=+>2 MWN1NJ7<(Z&K]4Q1YSWX0-"67JEOCCMX6+2O)3_5-\<9JF\"]$Z(RNN"@.66; M.:2Y#&U#35T[W-ZIU$SVRY-&>#U2+6I?7RS]S_;H,)YN=M'_TF?+/3;(/<&; MCVQNO?%9G//B-8G>@*!! '<4=K=%_;#1UAMOW/;0P<3@(IB]Y]Q(R4[4>$IL M#CD-9F@;A32[X@Z)+OI7MZG;^^$-@T[2]]^^;G9ZV^/<)$:0].Y=MVS,(.?E M.[L;*.\VV^"NZ*T9V+S/+(.Z*ODX 6VS%.SHJG,JY,R)XU?B!)W%!@PEZ:GAAQ(A68\TG;N A]TI09A(LR*6?N$Y _D:=F'QRF*!0^>:W7#)TFP[CV_(B M2?T=GW>L.2_BU($9))Q@1[,:*XG7_CP:P]XN?/'PO?>8]>E3GBVV=;6>[O)( MD^PLD:ZS5>^OIGX+V07A>DVZ?-4S\18 M=D-?TH=G&CS13UQD(W:N(?J6$$QEL_[@=4SQK>"64J]I(0O$($(.(@29 5@9 MMQU#BK_@!R2 Y(?GR(@)2UIO"7Z.+-0?=3)";P5LCM69%F/XVH^QGP&RF#(4 MB_2_S@10&&=5UE5_:F\.5&0K#805(/6F@*6BD UH 0'F BY&C,7B_I_F 2^7 MS.C&C)<1>VO@(MMH&+8 I;<$+15]+" +\)\)L!@Q%0OX_]?<+5RU$B"W>W2D M?Q4NU\PN"M P0A G<)BS57&_=Q UY+=_S>@V_-FARK$-'-?P,YH%H2_PZ /L M=J[]T E=WPFREY:A#.\FNX6Q(('C_@ZM]MO7Q(>=XN3P"+>-72K*I:RYGB3P MUY2?"H%F4&KT\>B)"5Y0=,UTXWWXGO,K8-8.F"> MKQGN\:I[7I3X]"T(+D(U2&*?>5< M"DM#% *S/12..^ZCIDO7A6A/;IU7N!MR?J /T?WA,;_V'\7'9P+#*"$>GH99 MI_$YTW8RR >D@4H-'(F\ W^*-*D0Y^@=4RA0#<6+:,C'H^()(GCN-* <3*!A M\8RIXX(3\"&(0?;?H\>D\H21DRE%]D(K^X^43F!F50VSG#7)>"_(N?@FJOQQ M/%$Z@9WN: I5S<&E=L(P3:YC)YZU?,PO>S2P)?E.IQ].Z.ZL>27?MJT3 MWHT&?=$'I(^+=XE+%L7S\K:SVZ;3WO*[F!=L%(M>*;VC/(__5&&%@73ZX0YH M;@]47OG969<7@?"Q:UD6TEG,?7G31J%^C3C2AYI2->^ MG=S3U9[&;-H=;J[A2=Z6Q\>U.^$.;3V=Y;AN[H$WJ#7E[NO5!7G"Z5=>J+49 MSR.KW3XV&U'SB<:/D55%\]E65'S/ 7^XNWA?U^(:XRI,#C&LHYNA2MT:-T:U M:%FSBCANBA>5V@0>&I<%8;LH-)::9TYR<(+TE2WZ,\H$7D^+G^PL$1Z<%YKO M>C3'8GU+W''8H)T<@S7-\,9?D["]SPN 9KE19S/NQE#O+(KW40RG:7[H1CM* M4JXO3.>P'/?;=II MLS-_GT!K*Q6WZ6/*I@-IS$^[FHHQUK?$'94-VE5*:9\VPQM_3<*:*)AX'86; M]RP>=@0XD9*5U6*)(!4(!3(],#X-+[M:X?75QNE[>NL50== M$"!L\76U8QT;WU)3-IZ7=ZK?2:MO.1\/-?0&6KV/]G_O3)6^%%//3R\=EV]] MP=G_;>P_L37!1R?\'?Z_6O]*DW09>EKQO\*&QX%\<089QN M;=YV9:Z3":K84Y^,ZM@_]60/>TPBYV0=Q3N1)[FG<9K5'4@CGB7K2.)/G/^$PM9""E(\$GQL@XD&6B?,-U$: M'VNL;8@3B=IUJPZNQZTP#ZQ*67MOZ,%X&C"Z-KSOCCY%P1.#E6I$-CIB6Q_< M/JFEL>R>C1WP>JJ>V/V'J8QZ/@ZM,_HFD]AW.QK#-8N+/P[^'@#Z4ER\"#?G M!_J_#B'][ML/__P0+0^;0Y(R M\UO8C8GQA.?S9C(RF;O2/CCWLOY8SEJ+'JWH$<9@_\R&NN6G9XZ3+G"*R7E]U6%;; MSR4V%5*;VERW]_C-J&H^1"F;GGF,A8VX_!QFI0ZHQ[5,D@/,KK/:(PI[M';" M'9MZ.LO1V=P#;WQJRMW7=27R619!QB"OM&/IR9D)U8:X)7ZNMALE=H97P,J' M['RSX0A4:H([1.OT.3Y_SC_'&WZU4IH9#D<9!V$D:HHKH_J4X]Z"A'04A33N ML1A5:;EA2.<*-Y^. MUS>=0^C6ZW<:KM5VV$-4(:V!K?W@V$WM;_!<.B[ML+E3:8[;1=OT5&_JE&WQ MNFJKQ(9V6Q<$:-L\*NR9LV>?I*^J"4DW$KBC MOH\]*G/)#OWQXD$O+7JOB^"DM%P/YOP6).-("I8DYVEG@3BE47+='PO=W7K= M!U\$*4YRX;V)9!L%WAW#I]AW(>?K5D 30Z[5^MQ/]E'B!*LUWVRK?7+<)%V< M0&'<W0(81Q9XN:%)%0YF#:2X$5!_)IL?Y'PM2R$$D04@I"5FM22X+_"RVZBV\.(_'B+<5[SJ^:[10^.21\]E9 M"O*+1/Y36:3K)@+AF&F:-VC:^^'$^\Z:5Q>$+9WP3@'U1>^_*,PYR/7V>/3N(G]VQ>ZWBK\!/ M:L\5;ZC62FE\SS1[ZF>ES"R9?J]T>+SE>Z")]8R9FBW@.[H3I4.&G)00_C&%#PQ'QR,J)AED^.'_ !>?S3$[G(SID3.I[OA%!A MITN5K-I^.(.^L^8--:Y..\WB]$)3A5$K5!U5!1'%J1R2BT,>F3RV2TZ-8)M" MOR/(,_@.=113?Q,>Y0*K@[FE/>(@UM&T?"2ZH3'RH-42O?=(0W+^A*D 3S,' MK_S^%O7((U0?*=\R]MG*U$\/XB"'S6)]C_+CQ\_W2_*\]5T6ORZ+>;YXW!R< MV E3RH?WO?,J&$ -$_'$$B,8LW&>/R3-B0B[R:WY*]-LC4I=G[4G*:.7..(8 MZ1U\1E\<>-ASP:"#ESM9'T(O$3S6PF+PDC0\U1P3?\TKV_$WG3.*3#_(%][" M5#RA3.7L05!X0O00P_VU-*^D!Y>,DKQ,GD@N+@^]IG[">4QGR(B?)E"3WP2' M:0L!6%38[G&&5'QZ&7H_4V\#=SB8[S_QZNOG?N(&47)@QFZN7-Z?'D[8-V:I M^H.2CL3P+N.&JV3@T$&NH [@FS$G)79#V)4RGHV&]EP+%?_O.>C;<\ M5>'>I:$3^U%-9?6F=C@#I%4S<'QE(WP.W2YJ_]+_@ICI"NIM;I>Q_1P6TY#: MPNEM;1&[7YN&A0NJ&B)UPU9QA[KB@DBT1ZB:?NG'29DVUK BK&^'T^5:-2M7 M@#6-L*_\FD0VE#RZ!AYEYM[$JYDQ%.1$R_1.FVN7\=0KOC!S^'!/69QY&@"A M:H@8(1IU*R"BMA5RC&B6V1!())R)+9081T5!%05.C*K@$*2PLJ=QW5J4=!A- MG#!EU&)#]S>NYU &U81:%O8YKJV75<5G.'.3F)L#8.=J+1'_G%#O,HH?8@>2 M;NKP5Z<33M3HIG,QT6GM@7S2HR^_H0E0R!G"^8 OA?N!\>3G5*G@.NVT:'PC M" YPXTT&.6!"&!>2L9E^OC29YBW?M]T9E;C)U_R\M+HU3CS3U+)^?E-I.H>9 M2[W !H963MCNR]$3:"DND2Z(6ZNFC6C,E"R.+%;KRSQ]XC9*?!C.+EY2&B;^ M8T OV*!"X[HQSCSU647[4"LVH$-?TK-!D\$*&D>?!2F$@?&T$(?D\I#?2HF( M))*59XV/8>N&>6^G$;;2859A5Z-KTSA;MIY-<-3);,[?2^(H!MQQ=,W'W%"E MK(TH+54=:>0=QF!6*&# E@VH,8#Z;%#&A(YCH-)"/_09W,SSF!B<&+-H,/0,8S FF3*AI&-*.QG@A 5RSJ0B6_QW3>'^Q M7E,W+:SVX+Q J8NS*$S]\."'F]4^DTZ5%M") .Z0[6X+.1[U>^,-MAXZ](VD M@E4>%8P9+P%#[B"!!NYG^:'5*C'U M-JE^:\OTDK)YC1, +AZ8#*^5QIVLW97R'$&FE_7:T:<3V;G!4C_EQLD(IE8T^=^(3+I)W-NB6L\$2]WC&7]@OH;'T^J M5C0ZG@C27\!XYKFBQQ/#)G4]'@BQ)KG>&+(I)_,N:6-[9@;F@IC MPD[T\C%)8\=5G=*JVN(<$K0TE#=!:AOBW=9H%K=W#CU-\]V&[+QUF::Q_WA( M>67+-"*W3LPO7N8L[5R(&DE[<9P2Q3_:B$6F4,Q/@9P 'D:.POLMLW4B?P$/ M$?_;1R:M=RMJKBWCF"G+^ZE.68P0QAWEYFPG0\)PJGCQPZ!N Z8CN0A$R$"$ M$">@<^X'![Y]*C8?83#E+=\#(8]DPA%9.BNPA,"HA:EH8:HDC=S?,U,YST[L M69EJ7#@Q%))-V)R-6^!HQ[AY[J'=&3=,=;-!Y8A&JR=>N.DH?^^#EHP-K&\$ M1(@W0UP^[>:Q 76:1IV\/-'X,6HY0YG8&FQU0A)@9&5B<\O$OW%VM*9.5?ESO!%9*V5?3P-B!*B9KLW7P\UJB_,I&\W#U4[+\=6WP.]NA@KP M20YGO.C>=11N'FB\NZ,IFY+!TZR,F;JT5G-SG/ZEJV>Q ][0%OF6MH[D?;WP M8>LGA 8B=S.N;E@#W_? F!2<"??:K"@Y_"E]G78O>DQ;7#_<'%'P=F M(;:F EF?*!#_[ML/WZLCL:T#XEC4TK6(QL;6R.-13_8Q(A+8$,&>%/RMQ^2X M]LC4[1F8@^=D^?OFU+N'38C/H9\F=_>?:T-8MP_.*.ZDL3R!:^R =SZG)W;O MP]_[SU8VJ7X2+Z#P\\2D8;U:UPZW7RHUDWWQI!%>_U.+VM?G,HKB0#RQN)"M MJ-:XFJUO.2-'5*]K:YK-Q!D-K7"/W;'_,G>P0S:=6-Q$(=WM@^B5TL91O2L- MW$[W6:./) DSN V:2]YK!I"#Q](&-6J;VCE MZ2[ ?4'*RK5"@@5DV1$N!#^WYF)4*Y+;3;]#8SM+Y_=6]1=O1#CQ*UFMUS2V M5-.8*W_%'YT]/X 0(A=;F.$BF_?Q1K<'>+(UX3N;JOV4_M1P0_% *U56#/U( MX07@H0H-FM80P9@(SMEUB$6!OSE[@3(D%X#OH]M)+;1F+9&1":_L"MSEV83Y M<],'MAB+Q1O+<-P)KR[#+>SL:&5OZ=1!82N.S$I3=;-[*ZU9XI*>A310J9G0 M[#!)4YTQ$(FS;@8D3'@TLJ6RDG@Q=2D#&(]A#:$O\"#\AO)''I)ZM!(PY7"0 M(F9 2K&'=$[9E"RF'M3NHF$B\CG+/;&L<(>SH:OUDDTTV0^?G/AWFIZQ62(8 M,?9=RA_&N K/*4CJ0P9G/LF4YIT/6R<]BPZ!]Y'F%O8^OK+Y9^J[_MXYO0V" M4#R<&(G04-4].42R(<\UP6@I _>A]X7<@'2.D)SLN.C$%;*3/1=>O'_C0Z'0 M0G[I9:0*2J9,"?87I@5Y9+B8ZT$>7\E>TF3:])BW]!7FNA!9&?G6$KFM?+.9 M0D1H1#*5R&WUFY74DG:2Y%T2\Y=_LK?S-R@I.OWW]EK[=6ZM1:?=<6/'] M?7P]/2"$"V@W4;C:\XKJ6?);\5[7Q0NSHL^:MQXXCL(2YXQD2GO7'U*;YX=X M#3B%UH.V8]YSUNI1A$&#W*ZX'@M"\M<%W@LYRV380E*VTLQEM;.LQ&S\LRAD MJ)Z Y1A*EQF0V2C+!&I2=C>B>'5#24K#ZE/J%_3AAGNN=+2\_A++T[P M$PVAX*E^EL/8/'$CP206-S)=TF&(%YVF4=OBA*F4DV2"8LK%P&U^E##\V&ZM MQV-K%<<8L("O;"UDZ_ZFKV[N&VN8$AC'\D#63B&W1 5")D)4)8"S=' M4-N^,)D?'CFWB +$H]E_')R8_1.\3CB@G?+\DL8TA<7'&]:.&'YI(YM*_9$& MMS]R=O\UOIFV_,A#7"'NVQGE3'\#MY(?GSAZ[['.["'AZCED1M[Z>]BUN[A? MW?Y*_UUC*&EH5[N0 M1A03>P<"?;4@N4Q%'M_IAE9VNZ:0S/[QJV7+"H,6@SO?PK*!?P\Q=9)#_,KE M$5>NV:D\TUI<6M;>28XW?TW-C\I0C7: MQ,YN>4BW4>S_@X4ROT7S0;6UK=T;MUMWM,+)K;;VKG@=OJL"P^"Z9$0R3@M2 M\B*"F;U;:A/88;G9Q'0#SWM5ARYRV,/[)<];W]WFRU2731$>*7%GKQ6,_L;21FA2-:]F@ D\;^LT$4/2U,P8K'RZ!D M_.KO[&. EW&-4M[MR8"D:AT&*RX-@MD""I\X#;)S3N$MP$G%&MW1A'>?.YA4 ME9@$2SA+Q%!BQB39+?J]XWORK?G20M@0I+)^6V83IVQ#XBQ*TOP=)9WE7W-W MW-C1U0[*=7M#7[RHT5D#,VMZDK-:%!MYP*U\8LP*7DQFC%:PT)]\D'?%0V16 M;C[5KP;O*!169A!;+@O+-GVV2C0)XH::X;9JWU#1H887C@SH9'[;I6 O;\!( M#='MQ4QBKZ)L4&Z<2@8!MMD.LPS#R?053F!2-@^$&ZU[<5;]P-@V/:.HU1,W M\'30OO(.7GLWO%#21?C>B089CP4_I$SYL%WP61#@8_/Q1I4%0*[F%QVU>L[4 MYT^UU_+YLML,?;Y&^%%]WN+#&M=,H(\'/_#@E5YF@ZL=&W:>Q$O@C3?SM3KB M]GE]W667;^^%U^,[R-[[$4;&8D$> ML'$FI2%DD(BJ'0_1Q0O[@RI9K"L-Y*[?QR*5*.A" '% ]%*C=VQP;@M2\".< M(52\R5C"V4I6&2>-B&!+?DOC R5K)TBHG0O>TUI)D$O %08( "&:)#CCH;T MV0G@%=L.]JKVFA\ZU&C=A@=2EWDA0)W@QF,^8T* "YJH-JEYKF!ZJN"0RU). M0+FHCX[[^T/LA(GC E[POUV%?NK7AF;7OC@#M)<%RDM(FAVQ7R;JJL: J1.SWE A?!>%Z399 M\,ETNO594QH2SWF=N!+N9)8'1J3@1"16XJ\D8S8]>$YKAUS-GA Z_+A*H6A^ MT99%:9!=65(FXG4C@1-WA]BC<@C5H3_>*5,O+OK9P!17%#GY^2<#2:\N-KM#RF4R&9VI$EZQT3O:,=Z"O-$BP9KZ(!%3??Y M8463$F- 1<:/Y P)<$2%%&-8Y*@@O 02?NC&%G=5&&=($6JYT5;7#G?(*S6K M[I4<-<(;OFI1![R=N6>K&UCU,)<4JR?Z O?BK=RRK&Y_@*8*2]0VQ.V,:MUD M;SQMA=<=&V3MO]M\M"\'5*T,#*,J9SW0EDE"4SASO/:=1S]@TU::B!W(ED% MJR/N0-3770[,]EYX [6#[+T709P%WQ*3F"R(8&.[)O($!C@.[J#D9'\DS=5^ M/3O$,.&\3]E\%I:EJ_6E'SJARU:MMU'"RS_S<\/$?V3S8E]S_!U$'C=8F+:C M>JSO3_O_K^X*=MN&8>A]7Z%+;BWV T.!M<"* ,':0W?J87 2+?66687E!.O? M3Z1LR4YLV59DF3FFI4D^FJ1$B9+I)I[@"(/-*XPN:HJAM;EA1A^8"QN-6*42 M>[5*,=!JEA:Q#I..>P'7&G8CHNCJ@F)"'Y]DS!5%LA\^@9X")HF!=B6D?! 9 M*,15ON#R)5'YH:N [R*F'8UNC(W%E%9*NK'8HZ]WFXEBRQI\V2MRGJ>K^!3D M*LWX4@UU7;N$S@>NS%7/L#K=U5!?DZQS2;8$[0_8S=3M.!Q>^M9 6N FH M#ZW6Q83KD;H7V58NI3S@(?ZG0R$+)4T):FMF\W7/HQ!VJ?>8Y-<- EOMZG.W3UIPP@\^US+G[SS5G?D!\'PHG* MSQHF>XU[G'A*\P03*,_9P]?O5CP31CZ#4Q>*;HU:P/EK5"-NXHMNHLHF-7GL MJ6$3+9)5,N/GR-ELOA1>*;_,= .R4OC^H_RG M:Z7 CQ/-Q!O .HU.K/%LZ%9SEX#Q[LPJ9>*%XYHQ,V)93>X-?NJAI)AQ <-A MFKZEC(&/$@^<$?@;D3+@.<*A,49[[UAP^?_\JQ]1;9 ;&Z163,A"Y,BS [== MD.V3BW,BFL'IQE2K&$XHR!<%7?I>^#6G6NMKKF7 F6+<1JK^$'MN'QIIR=%\ MB5;QG&-Z'AK6 M[9"[ZHDOD4J(X\7XOXN-H179#F'G,AI:I^?J7%5VFUK4WP M4& ;Q.&/$DZ)(_&;1#GP.>+I;+*FY4W4L,RSZT49>'BF5D-]4WH"NJCQ+]@\' M68B_RF#0IRFRW2H]\JWNW!RV4N+)E&8N#6NS]O43'XZ$Z\4PN$*LJE0*,'B7 MK%*!&1UTG[32XA;58&7W=.@E%ID7M;!4OVQ(JA\_3;_C(X>[3=_?TDVR;[E- MM(^69@ -0@AQX22DY^[#U/4>,6L,0U__V>>.>H"J:]!ZT6QHQG(H M.]4K %]>]$:?8(@N7/(=/=.?>V-I?H/A[6FX%)5HFZP_V,X,]RS)>1)NH,?5 M:PW%O?_414@S.?1C,P-]*Q7Q@=ZM<[C]J-(!S7:4_AUWB)\&Z\(N^&I0-4Q? M/ELE5'S_N?M4_:5\_.X_4$L#!!0 ( )*-9U=PTWXGA% ,3:!0 5 M<')I;2TR,#(S,#DS,%]P&UL[7UK<^,XEN7WC=C_H,V-V.F)F*RT_%9O M5T_(KRS/*"V-[>R:WB\5- E)[*)(-1].JW[] GQ(I(@G"9 @I=C9KK0-@+CW M'%P %Q<7?_GWCY4S> =^8'ONSY^&/YU\&@#7]"S;7?S\*0KGGZ\__?M?_^?_ M^,O_^OSYOV^>)P/+,Z,5<,.!Z0,C!-;@AQTN!Z_>>FVX@V_ ]VW'&=SXMK4 M@\'PY*?SGTY^&IX-/G_^:]S&C1' .IX[B!L[_6F8_>$V;\-H(AN$/_X\Z=E&*[_ M_.7+CQ\_?OIX\YV?/'\!6S@Y^Y*5_I061W^U*>5M-P@-U]R5+[7_XRPN/1R- M1E_BOVZ+!C:N(&QV^.6_OTU>S"58&9]S'PCL/P?Q+R>>:80Q4DPY!L02Z*?/ M6;'/Z%>?AZ>?SX8_?036I[_^C\'@+[[G@&/[MSS5W'G/PU0^]^? M'PM2H+8\WPY,SU__9'JK+ZC0%[[V8K5R8?NEIGPO(60IZLBMYUK A62&_P@\ MQ[80>V\,!R'VL@0@#$3$%&I62VEGA@_++4%HFX:C2/2];^BBA^U?@^G\$=K. M%9 G/ZYM'>6^]59K'RQA&?L=J%0"]D,Z:N0E],S?EYYCP;GU_I\1-%EJ%(+[ M3C?TH, M@T!PCEMN0&6[8+3L< M^S[4?QTS@6NG#7GN@&^_0\N+5I5!Z$:HMMR%AOKT!OIPUY)G#&KTJXK&XK-LU; MK>PP'JZ0&W !'4)N ->L;+ZI#;:SBEA[?HBFDA>PJ&'B<.VT,G*BUPXW=6Z8SIE0TS.X_T&ZSOY;<50)?D.3G<@K0J>BR)3FM-F5U)&/VF#; M.Y0Z@N'::7&W4D>4O28TV[G4D8RC65UW,?6XR=^^'CN:.M*26]-F=U-'/&J# MNNT3:@G*T6Y[:^PZDA5;T&,U6F_"(+6F@Y_[#H2&[4AR=V\;TV2M^0R@#;#- M$%CH=*&6J/RM:R)[-JT] Q- DQC3SXQ\.)W]$?_]P3#1Y+:1K17A[VJBK]LH M"+T5\.%NV(2_\^-?RE8._2/:[&%JB4UOL>U=S,Q9PAGSP:YG#>@MMBWC#?+O M_.(YENE-'%.:H(1FVY9V[+P!.+^^F#[X,;/AQ#H)+6DR4QMO6_*9[SV@:+-< MT)D\5E/:;G'G#I>X<7^@^9R^.?8B[E@]>\77LJXR*Q==!PT@#[5OF&'BC) A M,J%%#63,>1UD"HIKMD5IX2^,Q<('"=>F\_37-YMLA?0*6T_/)E#WT8\RU%'K MNYKY^K(_U=*+2/N:R;__LRH]$+^CF3X>(K0;'T,QL[V6*HU0OJ2KA[CFPDC@ M WKXB&O)2VE.#^F>#-^/O;RRY<0TK(?$MX9K6+;A)G])G2AU>5WA,]J<$M02 MG-ZB1C)FO]RN5Y$Q5JH#SB^V'#562W)<.[J=#=6#EJ=A/2+*:LE):4X/Z>YA M ]X&)'^91;ZYA)^<.8;[ DS/M>+PG3D<% M]_X%F%9\XQ[](U9BK$"X<('SH/_J&RAQ /U20*FY6!VT%D0%7.<. B?P;ZE4 MZ#L\P/!=.<\I#WR$< T K.UO[1!]Z>3D9'0R^#S(&LK_TW"M0=+JH-I-=B0H M%-7QS$)7')0@P/,Y@+2 G0 )_[$#$O[PVZWW#OSQ6Q"O2K.6'.,-.#]_POS] MB\*N9/I"WD%,3_)__NWR[/KL_.KJ[/+Z?'A^?3TZN]SU+<^(L5_LI^&;6=/P MGR62%/6?EOBRCJ^1?C:7MK.%?>Y[*ZR&TJ]YG)WV?#@0?OXT_#2( M@7;XUZ MC2ZK0KY"NH:;GS^=-:/V_XH,/P2^LTE,% 6!O9*= X.G_RDNI^WC K<8M@>M MDG5GA+1Q42C7.4S8O4\1.:,@@X.IX"L%%VQ \@X6-Q'##)V.%,U>X8AV#@J/S*1R7 M%#A.FX #.>5\.&YC[<6)(6[1F8N_N?4L,CK46AT#2UR6%+NKMH?2J_'Q:$'A MXUMHJ \,TT8HWS&\1*1(D;IN&ZFQ94$]!NE_X"X4#(DH8"5)T1IJ@ MDZ*QCAS$!$SR M?^X,"LQ.9WJG^0(4CPR4G-69+3V7O.'<+](9_7-U/,.@Q4U_>@5J,SQ]>T5> M> P&^T4Z@P%7QS,,6MSUIV\_S"4Z M0",X7'#%.@,$=^_=$- 9+(?@=W1FBD(E!<8KCB'<-)0(@,I]9W[\CO[=_"W=+"\S=4M_ZV M5,=08?<].XQL?&%P]&H51!H(N3ZQ$:^OJ"P>Y[!@9M6W[1!!CW M*^ OH+7]ZGL_PB6*JC-<\@C!ENX8./PR9""UN#-/^;0$CL/")E^H8Y PNYXA MT>*Y?;I(\58K= +DF;_'P;C!- K1HRMHH4]>GE$J=0PI85$RY%H_UK\%Z-*$ M\^A:X.,_ 7D8[97K&CX?OP/#)D4FDHIT!1DB M#)L6/0)9T,ZNPP_P-[B%&J%D9Y 1Z7\&3(L'^L7N)K%N?-#DRG84')8$&3PM M>@3&L+=6W&/'P*T%"G\O"C&$0FAZ6L_N=:9ZVB8_FT[^\F4_TEY"^+W84V@Y M71*C\([^Z>7^#OWK93IYO!N_PA]NQI/QT^W]X.67^_O7 MET\-!.//C> M;B\*/B\,8YU>K7#"(/O-CI7I+W[;"C*=/]@NU(8-!Y27!&02 MHO;%JE8?5E7$22ZW,#I>+*3+<*N""!J) E)1[@* .8!+$6N2:(HH1BQ#"/P MQ"7;@3==-7&AO%=6-[ Y0",AS2-9YP%'*3K1K47X'W0A]MUP +K'&-X:OK^! M^\HX8R&! %QU]20$#[9E7E076 %/)#E?JI!FE\,T> (A_N"%6K9/I. 7D'(C MJ2/&(LU]\:L=+K/$8+'JF"S@J-DG3E05EW)#JKZ9N&R:+C,?K W;RB4'")>I M'@(Z73AJ]HDN5<6EW-KJAD'AX0)%#:?7H]-V/"@R4&<+1KD2)H0ORDK0"KXS MWUL#/]R@="GQS7RX:EJCK1>T@\2A3ZZB)_K"@UU00 7+AA;7CL4$,<_V8@GW MX=^#)(,B@1/4.KT@A;B$DI8*[\!_\W3@Q7XN33@:[C],)T*'FUG*30(]>*KV M@B65!>W\0H'!@%ZAS(.DLN/C2B9]MUI]\ER3NIK#ENT%;/R24:Z6=V,T;A_O M)J_7>P$I113*%?-N+,USJ?G@(K2<&)'A_.>MKAL/JA[^U)*W\XZ_G/1\9T/D M"KH1HA:P5)[P"-[Y\Z.]%/ ,5PZVL,:,X($0,VWPB]EY_'&>[DR!&_$S@?VJ MO>-&9:&5>H&N6S ;>^]$,"T'OGQ15V=P)7?>;8*(2:K@P*A9(FQ3LG--((32 MO2.!B)R=]^U,/'?Q"OS5'7ACG")C2O8.>EX999T-:;2GX-Y+] ]T(6M?VW'4 MGM,A1VZFJQ!?6&/LI>P?^87NO%JR:\TMJC6=>E*Z\:T MS]LWBW(Z)@<7,&KUG#=5I)>TNM3FF#D^IBM)-8HJNB\]5!4R600E5S6T2AVH=%X<$-9?7#Z3$)N9BA7 M%D0U#'W[+8J?A'KUD)E$/E[/@;U8Q/F:0, Z+I/[D9[SL0%E4=*2=V,RRZ4* MH=[@VBNF&W,:@!IO[YA*Z?S!W=BR[*3/,\.&6X);8VW#V3@G/.DHAEGQR*+J M:NJ\4^<9O7/H@NW[NF/3C%:1@[(!P/VG;=KDBX*LBD=>55=3YP\*+:KEGFH[@](LUOX2A+9I;*_",-,I M751)IS3X4^%C__KIF%[IZ&WBL/D7< 1>=3+"OP&M=-YID-N]0O,P]6-=6[&7 M9 ;\."DMV]-$JJD?D903@NI\$M*3T@1#C3O=2YF.QU&XA)WY8S?!D?FU7^/( MJPKZ41INWCZ?'H,@XN=24OK((T'=*(TX:I]#Y.SS/%6.;*JB(*5^I!83Y6[_ M&DSGB4N-(I9L^ M^'@';@0>X*C"7?+:)NI E\KA_UED)W6%EG2S)@P$BP<:8J@'M6E/TC M=G4!_]TV0?#B.>1U"JE"A^D@*%3GSTN_^EX0S'QO3CP8S97H,*XL*60M%EL+ M*7P!\4KH*W"!;SB0NV-K9;LVT@AZKB]-[DARR7%5[C#\-03L_ 7'F_0Q.KC: M?;/=!" 3+K$3G^0SB(]6D=TCQ9[R-U!4X.7UZ'38%8;4%%+286'QHD+#%L1P M4/+7^%;/FV'^_NH;;H >^_3PPZKS2=#X?UY/G>D59LW30]-TOLUZ'P:\F6^>#MQ\\']@+ M-[D);FXPANX&S&$9L@=!H 7=Z%$-\S)WZJJ@\^Z$.%:/J$W2Y$&MU%>N5)"Z M\WZ'S&-?$#6O _)2DZ=J7ZE267:EAV$M9.O.5F.9W]9V(RA]NESSW-2Z;J^: M@^#^ ^H9:@'N[?S-(YS\ _P1$M7+K^2+NG%58(74M%94158V3%RHB'3HW@ 7 MD%VOA-*=)PR?1-D2Z*3#^V9HCID[YD*9#F/+EB-#M/:JMM6+^VG$P"Y)7AH8 M=P=,!_Z'(ZR'6+7#Z%<6+R-%=]>RV5VX3%R&RX14O*B=J]:O4@B +R12!KC< MMV/:A?S&"&R3$^^XK&Y@"R'()@!9QLX[-O9%O;.=*"1:?4+IGL-/D[+SKHM? M 7H?"UAC:(",!7B*5F_ G\Y+$82,:4"T&=TH(S ]2!$U,QS=/8CG50-M,A%J M0S?*2.%!=7KU>%(BJ""UP[P!XX*M'#:]A+2B:M)K.58=N@B:JB=/7E13&?TV8KY5..;C:-QH54>)T?*F;7UI, M)8%13Y9]A4%FCIH]Y$=5J7OV\C(E>0\Y6@)J._[)23"W_A$%8?I:-2W1DIJ/ MZ<;-JL0BA" THR^EMO!,(ULH;@.+^KJ^'EU=]-CV8:55< ^C;/-:7C63DR\Q M%LWGU1;-+Z_3V__\93JYNW]^^9?!_7]]?WS]>P<6S<*/PG+6;3JE3MJI5W1Q MF=7SN)#&9H"-23&G#5,LXFS0$DJ)4,AJ>2X:K>,/F[2MH=;1%D,R%!3\N"74 M!,[<8?0W@-PU[#/YI)RVL'$C0#V9IPBI"7*$O,54%*EU^HBHN,#$K62[V9FI ML.(+]Q%/ 4F)ZV/MTB'3ARQO_3["74]XXGWDAL,@BO+?>2M(85(0!*YL'Y'E M%Y1X7[BE=2_<[X(X&INUV-T6U!:_2BM\DWOV M'.?!\W\8/BF82; 5;1E"![O,$AER=S[$0%K6^?:)( -/G"WADEL2$=; MSWD M5O3#]D\$.;):DM,U]I8/+(DES2IE)C0+?I)5B7+^ORM05,/H>C0<]1!XAKR2 MCCA(;]HV/OA[=[#;5UXVJ#O%[S9?MK+X24SY7>2CI+2QT8T3HS^!'_%?R%LG MCKJ'P<#JJE"27ZO%:!B")I(U0T5&[576C5+5P>[-2W.W=@U>/$$,2Z^MM?X9Y!DDF9) F MQ$]T^PQ,;^'&K<10$L-SU'Y6-[:K,<2M:%%2+E.];/4S6$>^N41J*EDCFCFF MU3L,#E930]VD;=@T7BV^Q$730C+=5&!14K&@O\N3UB\850-M.P!HD M@-OFPLI%X=X:P9) $5)QW8BAQKX(2:\F/6#;=D5"@$5OZ<$IMZPL@\FY^KU; MID:GXBOZ2P>6Q+(R"^X30<\[A+,8AB4(;1.)F(>5GNI@4(N)[^7Y4::'S4>)5@T$UH(%"6+EC1"7S0)O3VX+W&KF>7=-V M0"%QUJO'J7V&C5+QJ8.F:F,*[?PMJSL >VK:L9;AOQV0QL^.XW5(NR./AI^JU=)4W2L^#(ZUD_ 6/6X(-#4C*]*'3&AHW MG4]LX\UVR$'>@JT<()G$]:'40R#JPT0!>S%Y3D9G)S&!T&]HBHL=MXGE16[< M5-3R)>+*[?261'(U4G>7SYCA-' U03OM1X!",9&JO655;24HOE[;^'$><]E8 MA5#D)@Z06(+*J'OUMO6U%'^@6^V(9=W8U*(7O*;2))DU_!MNC1\5$Y3QZ+Z# M0%5 O6#CNE%74D"]#"UT/J84;I6SI!_F/R/;!X5P(;A:9<5G\3>@&XT4TJ+, MP9IJZL&A#A38!, *'B (F,@T'JKQMU!4XAE4XOD!<:VFGMHV:@37!26^#*HW M$QJC4IS_HG)C!\DL!2J3]1*O'F_6E\S[3138+@@"E"XX7:>D?R'=EA9IXB!) M*$U1BH^0&L\>SZ_]VMN$@R9>337).GG2>M_Z8+N&:RK:MPHVKAM9)>U;96A! MP>S;WFYB@JP_U"GLM>:]Y@5C]025T_="!V=MWDYE<31_XJ09/Q; =?[:[;J3IBRKK*U6(R!OAM.#+0.[GD5+)[ MI;1#O :"93[P"*LTDJCQ37)R8_+5^ !BP?[!?M.!2YYE68[;YP-S_9B"6WG M]S3CP_0M-&P7N9"RG0#R8Q8R0[!RM=1HL:COR]:3V\GEEVS%2(H?TN8]\C2K M[2Y W;6V?LQ'.,DSP[!YZVM',]%(ZUJ"2CIH*-*FI7>DT]1963(_U]IE@R"0 MA*>J;ORHAW>9/Y5UH.I!-B6O/2(OKN,%D0^>C!#^[W2>W;SZ5 "-\*CC\ 3^ MO\'GP:X9^$/2TL";#W)M:?EPX]1?&&[Z]L_NE4L[?A=HEM/K=)Y2R7!V#V R M#*VDMAN>75(2,,]JR@5ULP=2L2U,+'RB=]0,W!B!':#;Y;OF."W!:=D2Q(TA M0[#7G);&(,TT":>+&>2*R?%L(*5"L\,6 QID^8N]<.VY;:+\ *6NOD(<;QQR M%%6=)HOCX:KUK"!L9//C6[KD2CTCE\V8A0?#]O]F.!'X!K=<\.=5WO'., QG M9<. FAO$[0WV&M32-&REWPG!,@[T*LV:!UQ?6..?6D>W D M=HLUEGFKZS::!;$LWNZL(;+B9^_/FAGI7SW/^F$[#MQH/,+FW(7]YH#BNR., MT7]9'OU9HP/#M0:[9@?;=K4T"A15Y-8U=-,@V$;#3R?S=(YE)L0:*8ZN#M/G8>*0?&!2_H*7Y M2+L=9&HQ'-8V@%JC6=/ RV_C:C8FF[&@@/1O&F0*75']PU)MIZQ[Z-X"1%/ MW779'B1M#?8:TW+HHZOWW$L$4N&&S^@+O6 -:$)IW08L'8?"&;N 0!T=B[LG MS!]=J(A(9#B.RL-QU]R@V)ZF(Q(C/+3(OP!K4;AW*3!L:[38]-@6[BK; %1O M4C\K49L;15,B635*3^T:%019?B-YN,'P7&BET[_1E"17*.5@QL7?;5N-]>];N M #8\R%I6,8 )SSO09"2,3X%Z,AZ@H'V)/1RK-%'D\.AZ-+QN97@* [1]-$*& MP!T=M'%^I*7GP,X'Z+[D[GX'8ZAB@N/R;?W+8-N:EO-K6>XG+V1-L:Q*#5_\ MQ/:&?\KEKJ_+ !?#KG#]LY:H'1W:\5TBWF4R)J1M6U_+ 9STCC%@]PLU.T G MZ+D74+S;Q0Q3HU?2;2CB4<@/O0KR]&&CBK(/VF&V9T]2?BV :W(?90TQ86NY M1N/5\'ZS6@Y4BB:X][:";32_H+/T,UIX? MHH.]%[ 0\*4/L=%Q65N#7&-:6H6T?TF/D3N3L?(F%F]XS;W7#X'5-KMF@=97 M)]>CTY8S]# P*JRP*XK7T5'[$JU6AK^9SJFW:++_A#6A?Q%W&,0:W:1&5<%4/<#5_#WVUSB,D&MU<097 M%V=H/(?5/.G4#7XJ\Q*'>3L*%7)_''S8IW1FAM&Z 2@&HC+N( M]!K#B_[I W#GK0S;%0"Z4$\WR$6PX4.6+:XG3-;V#U!OP] MI/"%N@ +6[%[CCP^*26MG9PV_'(8-<'U&(CSM?*/T&T5W5C0G#VFJT"2_[9& M-F/"8-\IZ'4)XC?Z#-MZ\/S2PIKJZ!=O13>B"".Z9RDD:4"IIZ=5YZ'I+5S[ M#V ]6A )>VX#*]W!)D;9*NYDX=^B%; $/052OM(C9C:IH7Z]-X%1^LSW'M"3 M"KF7%7C3PG&VTD/FR=" @O.OQK.WIAFVA%Q4%V475=J,]MXI'?/*$19 V"\@ MB\A>]7!6U6U85T@45UM"IVP/:U)=7Z6K@O)G5 "5YGM *X;*\0J"GG-1^X=#[ MW).[K5C63?[M;:F&;@:A=E9)45G;#J25&4EANW8()O8[P-L$@7@)WI9Z3)]Z M.NA\M&VF"(^FB(<(/:,T7J$+,$E<\OW'&K@!WXI%YB=Z2T1ERNEH3#!/:E"A M%= 5+HR'+W^N]FNA3B?2W9EB L+\\QFK =VLAV"ZW)J"=C1PKYPA5VC<7Y?' M/29/KO9#O(,)?5 M[< (/N $NWG:9YU.3Y/#;:"ZX&S/W5)Q1)TES]GW)YVN+(TH/7DYUX%Q.75_ M-6QWX@7!HYM[K'[[NO ,^/&1LVM6XF.M[QP@6^7K2^EY44.^?UKN3I$Y=#C$ MS*&,W+.J9U/]D]!*..1+^W0'3 ?V@R]$C5%+%^-0*2-M'1E[Y+_?5Q6Z>&=" M%=[93A0*1S(*M=8+^LB4797_OI$$J$*3 .9.=-**]ANG3N1#A5^_]0)Z*!BC MM"Z#DZ[W8@94?D$:27U:<_F!R^@J$-Y8++;S;I'_E77T*M%8?&>>OO0 MEP90H=V4\&.H7? MW0^\ Z%A.WSC__P$\P!,TB#*4I4U.?A3VJBVXW_J+PPW#4*X]=S 7UV473QN8I0A> 4:@J*0'R MGN#D"KJ9#'40E4V.H%8Z:E4PR>^**<#$S SF\1I\+CRT_,@^,T#?T=_VR$R/ MUWC,/SZ;VSB\-7Q_ WL8G](0Y."JJYNIH"N_/-RK"ZG5E2$)-^+RHY_ B&*A MKD//(8V2M C:H!P?UV(/O+SD*NP]LO?$7N9*4>:ERF[H1KLI\)5=X6:':7F@X;7G),,M9WASGH@O= MTI,2I(7N-LY[UX-!L0N#K ^'M0AN,2@GPP2]5AA,/,-%IX"I@787.Z#XQ>MW[*G T1SQ=476[N$9($?YH@$?]J1"/[PVS.*V,8D?RS\33> 90*V MHP-;Y$Z"BTTDN/=770!F0X"!BR)"UP#[9GS8JVA%A*SP=^U HW2K"!M;C*X! MMW/= NL>3CUQ B^\5245U05.]4962 .2_!2M,@&;=9=>6!V4J_:40;55 MT*]TJ9BQ9! /A?"%BUJZO!X-K_I-%*+02K.B:D"-)Q#>1C[2/S=!=E4.CB8, MT26M1Y0FXY[YG@F %2#3R)IUMS>8=ED+<(N7FDWVE$7*5).R[*++M\,P<2]9 M=NO"*^ZB02Z<+YM_'F1?&YCYSQU6/,OEV>7E]<7YQ=G9V>7IR>CRO/&K'P6L MG^W@=UK\"KZPIM:#5]_E64= 3$U>I"SU^&9S UQSN3+\WRF^=%8UW9 5 (8# M51YAM<4WZSG5%\ZJICV^/!#Q(,TAMB9(HVU0D#X9 =>Z5#\WMJS^F'* 4<:4 M7U9-@,1P^15^3LP:9S6T![6F(:;*2?0-M;U2@A\3,[^[&MH#RL"$9]%$%U:7 M88K;\Z#N4RTOHU91X"NX+QWJA2X#&PRZ%016B3 SSO,?GI_UF10H6"ZD/VX< M9E9 -*)K53U"3\8*3.>%?A*C^(AE=<%+0.5%G,0DDS.@"%[)5V_]"K8NH( < M@X4U7<+9+OZF3_[MV^J=T:V^AQA1#N[A-=5>L M.@4<4PSM+M;4\75,&*&5Y JZ0*S&=4474\$YL:37P(M29(G+X.)WN_+%+3*Y M*FH/.!VSO15G=9';OI@C"OXM2O1A&?[?@>$'C^ZO2]ML!:([R?- M;6#-@(]:,A9@^\BU$&ED?/! R*9,56UOCWA)FJZ3,&)M9;=N-EOQ*QLT"=\I MZOFZ]4S9DBFI2D.JGGUM;\VT4]&0=]64J](;&E465D$LI]H)M-+2Z5#L!I^\ MJE;,BH,IMZ_6?0,&^CE.^BL6.7E6SH.+6AW$S0[R[>H?(KE5QTX<5I DO4JS MEGS;E_110C?_;G&*A#5UGU'LL(^BA5WKR7/][,$U1CW8#@EJX!%/56UQ%T2+#W +%H;4^8 6A5M@6[( M^ OKAN+MRFY?G;;'";AEBE=*S+A26I6BW".X-SMME1/"&-%@YA17D]'^Z,)M M* C"9^28_6&LJ88=7UA?-#FA**,I(*@F..;6+=M__F(#'ZIMN9F =^#PK>$I ME77#N<5EO*B65,:PUEW3E6417M,3V]"6,N(0C %E>_ ME.5C!QJOT'@Q??!C9CL@F(06^6(.N707T&7CLW?N+RBN=M'M#1\33QAQU5*_ MH1OA6O,R*%-FVP'?]9-;Q9K!G..SW0NE/E734EMQY'7#XS$OI., M40,I2I*W?D%]UR>M)]6HAG>9-_44T'G^[ X=MB)/Y[M?QEIFGI21J_:5-95E M5YJ+N?$7/'-F77Q:XZNL&X/:F-MJ:$K?.R@HAR34-7K/R;: GX8)EP4E!'SS M5M>-/S6PW-L-UE5"O]X6R#;8M][JS7:3E+MX!<4#EV&;*K:F&]G:,%8R5:M9%0/F^C[*)Q >HMTOTST=WO$)9R:=SUB G719MZ.N'Q?@V ME2IIY5!\D*_Q=R1RIT7!S%G&[]$MQ:X^GI>O/N9;A3_.)K\,#-<:/#S^HO_M M1PRG6+]'ZT37)03&E M0EW DHW&GO>33\HNC^T'V[5#,+'?@?4( 7(7-K1_B2/O9I/D^$5[1]K]&/X6 M=..(HGFAKD:ZG'>2(OM.W/:2K0(D[L5FFS(Q-[%]]]=+%=J8$$,"%=$!B"ZN:;HP1AK;, MCDHB:W522(JZ26(=GT$0^K89@CCJ,9712MYPWBH-&W8C4+]'O) C>]VMPR@A MB L6* ML^P=VE%'R!-"Y34X_XK:EU$11IZ?)<^3=Y),T\66%QWBAX;1/*,R1 MP#,PO85K_P&7=Q;4E#VWC>T"+]-,,:@)_BU: >NI2H27C*_UD*9-:DI!6N*> M,#J=?W)W%!H@=OFCNO*["7*J'1JP:>3@:&%;$;Q^'D:IA)*9R2=D[UAYR8KR#UZZLQ:;K.&#=74R $8!F5F2X M;Q['@9)U&;>J4_Y?*IDV&H]BEZG"W.0T+5U,!2O*K3X3%2=&&RTQO;V"7PY+EFWG'0P"#!?OF#NIR M?SD.!*6G=2Q-9[S7)2BT =Y//'?Q"OS5'7C;/Q=0^JTCTY4PG:GBC.*5CZ6[ M1_'=$C+WMZ*CN$&K+]:;XS!1,DPD@) -I,H'SXR!U.DS!+Q^T7ZNB?!OXL>/ MHTE9(+F8SK/!4_GXF3%X.KUE?R*F>)?\E>-P4'BO@LK[VL?.>EP1^NIYU@_; M<0ATS?Y<5,7Y@?.,JI6,('6/8IW6N5%1R9EVFK&,K*\=F2O!0E92>O]@ID4CX&=\"*S!"=@S]X_J-K>BOP:GS,(G_M!?C]995V MCM3$IHX,A&AJ$4T5MV/ZKN<28K M6[)\']W,]]ZAE*BSC^[<\U?Q;Q]=*+?AI"=/MKN(1^/: 2$86_^(@A!%*5<_ M@)'[T2.3:1ZW!G2=L5^/*[6-<#\7$M0$ZPN?._)=$=_96LZ8KO5%6"B:C_SA M=R#Y[Z/[J^?_#F6^-=9V:.SO_;GJ'#FWY5PE567$Z>_=TAKCKM+]!3G?*X)U MH>-[(NVN@A6J.1L3_*3O&R<4/!)UJC %E>_1Z+B]0!Z*S/T(Q-6@HL"\F-1Q,)= MP):-SK[#54C:GHWYB;1W(=IG0W,S ET%DC)+]OY=B/89(PQMF1V51.Y7OMY6 MD_[WG41\XFN5S%;%5IWUX#?_#I[54@_I)4L+6B63)3UG0Q?,!L?M_,YQH MWT$B6KU'1)$BNJ04'VG+_GY5!M\R8;9AQ[Q6A_] M*98T'4,M$?@E@:5_AON!K)-L*,CU7VM , (W3F]/HZ$@L.Y6=7W MWC?0\233QR'26NKIO2&BAV.CE0OQ1Q+R7Y/?8TU=AT?M6_*,]41N%Y2)@QZV M0<\5PWWY;K<.=_,F@GR!=8Q5;ZVHN_/KT<7%D6>X]8 DU3;B3&DPE''LO$$5 M&R^F#W[,;&C")Z$E&M!XQ@AH3+\QB#\RB+_R;P/XG<,+:VQ\MM(AK%%/JU0 M17)8XYZQZ$LX2\VP1@UX( 75:F&-?>6$_+!@B FC=L$8-B$%8X^+6!N2X M1G+I+J#+QF=O72DH;L^&_?;$IVYDHP9T:&Y2H*O@&-G(%>:G 6.$H:T9V2C9 MB&CB2=,G$*T?E)*E!:V.-/0*1.LV4:2(+LF;+RL03:LCK^[%$W6;T/KH3^D3 M]?T<$]K$$XTNKD. M8XFQXM(-FRZL[_L9KG<<'*V%ZQ6Y?\BQ2$<2\LH0)V4,<)9? M?2]:/[J4E&FE0EV A:W8O=4AGY1=#B3*K!;%L+$"BT2:*.H/70]H]Z2K.7M> M6TM:^0A53 ^8O0;G@IJO$=VX5YL17+.)J$*4GO1HWVORR=&&TM@W=58O M$_!78"^6(=QZO<,!M0!/$=IZ3^"ORWI00Y%2:T?2:I, MBQW=S60JN#=\%XH6S( ?RUMQ_B8UHPOQ6IFGA90B*=36#C>Q(W+6;-3%IMYX!"E: =,?"3Q>)7K!0_89[1#!%RE P.\E*Y; O[39!Q3?/ MLN>V&4L[G6=%<5NX"LWT@#)215=P1-2^>8IC6VZC5>08*'S@U@C-Y??U[M'Z M5R]5.Q?5%'ZI!VQL6CL*3IYT66*+KK1/Q5?:L$+RD>.:6]\U]_9>F+U"A_[S M9,J'O;7IMV#D--XCFZ10(3K>B*@M[DMH^.&=$0+*/1JY']&4;"H8HX">;%5J M=W,@\,,%/.QK#'WY[-MP%CGV%OQTD:=@:D+37:Q9K[ 6@O;_J@C<; @Q< M%!%4WJ-DZ/X;).HJ6A&U7_A[L?/7UZ/3LW;U3]%I$0&V&%TSD-^,#SIP^;]W M&#BF&$1KU[$UUX1Q^4W>!W1A0S?76G0U]BO2NK:R$H_T4!6ET^9[1V@ZQQ20 MFJ;(+F1DK* >B*D6@T>+!\5J4YI:,5IHW[?S'.5W+H5=?26'EO;.7JSA@=& MW/+1K=N*6_>[^V8[#K">@0GL=[0L"6XCWR=G/"97T-2(5'&_"@K9^4B)G)P3 MSUV\ G^KLF#JSWQOX1N4=3Y/Y1ZQHX; ;4( M*W4D[F^$PQ,Z7*?-,APU>T22JM+*BBA R;MN[E"H$&9NF'\&.>0%*\?!N![#+55E":>L@J"(J?^?W M*E1MB*\_]ZOV@#2UQ96U16EE!D -V=*KBG[6PYILCQ"R!QNJV)52 M(SV@D43!N[V-@;\P%@L?+-*K NFO;S:9-EXA=_ 8OXD75*"#NUCFX "Z-4!EI<7BV13CI-?=NA4$8W),5AP$#) M%%#IRPW?X=1ZE_:!_'1#N91V4##5N+>$YQ1)J?+O7> OX"K/!3_B4U,R /B2 MG0=!0"P]O2[,V.Y_>'XV<^,F,'PAW7"M,6,)"$A!6.X4Q0#MR5B!Z;S0:>P4 M12V;EQ!J^WHT'+46J,^I_R)H8I(I-9/?C .VQ?@O]LF&$,>QG/N5B"RU>2J MJ!-28DK?,Z;5I56*WI/G5@:0MVYO,*PEL"87:'"[5I3D+YC.9[YMHO2HY)T< M7V5=\):XI:LA..6PH;6]'5LW7^83A2_ M4! $ /Z?]6I\5#O]P[74$4K1^5"FE2Q--/) H>)3^Z^>9_VP'6?LEEX>S?XD M=CI_64XOG344G[COOC)(/I,OH/T!/$5=.Y$9Q_"";31\AF4+HZ6(1PM5ZW:C4JH%0[U!.3D.)EM_*EEI6?P.B L E"-XWN'<2! &Q]#QQK[#X8NV42^6T0[G6 M;,4G7F_09H"L&[9\Z)!1%5U3BH"YCI-)Q3EI2_O-45OXSB+?7,*-W-@TO0B] MH[W8I9]GC7!JW;XQ0UQ8I>F9+KIC$(:=QATOD*0;:8E)N'@Z8TCP6U4274=7%D60 MFTT2I>48 :^,$H8NR$0(%\5$^98"NZD:,N MED+LX%:()@QY]0T+H*[B742D8AW"F!N1,LY<4K>=5J5^"&-ZOOL,G.2MK:6] MIK.!4N,PB"&J $TBEBG*8/D.>:KJAGV3JP*Z$CKO=*1(_M7W@@JLB:OIQIC* M MQA2RZTLB9QA]CH*A@;)K)XYK &J\\/[3_B&$6IQ&AH<,DEH@RZIJD44(U M%P6=@;*7[+)ILNWKX@F$VX UAH>4IVJ/"559?*5/QUPW3:#\B)G.]Y5"H Z] M4H])4T'PCKY_3'$V/D0AG3&M^Z,IXRL,DG0 M4S)NP)*W3I.Z&9[:#GOIRM#JC2BE*^VR8I*'CJ#\:&,?/-*4I&KNO/SPI[$S;.I*RAIXZ_XA.!57 +Y."/BJV=J1@+4UU/OFUN#(> MO$C.FC)K[$C!.HI2E3R[YCT5LH39>ZMY01_=\1SV@$"O^@T>$,44*2NEV64_ MMM6-GBGTFFZUU9(2ZTKB0R/ED'W%GN3T@D(P,S8HZ&#L6MF3/%6?-KLJ)Q7( M/C)(OQ([DM/O#"9=>N0L%2#(]&0X <-E2JVAZJVJ/53O(O#JO41OV0L*GK_O MJ:C1DFX6@P,BZMM4%27N?,A=>=RG3^(3Z,"LIQL=JN%;YDDUP3MO-J9KX!OH@N,$/<;%^90=O5)?&5)!:DEFY!WX M;YX.QRNI*A]=N#(T7)/PNBJC=%_Y(2)NYUW(K\8'R-98=!9@2A95<@YW=NU> M&Y;% %Y1.^^[G8;+>*6-UQIIUJ!6ZBLG*DBMP+':HL=+E"8'QY!*Y*CM#L5Z MK8;->*UN82_M<.S#:7(1IR03]%%=EWU429.#?)OZNZ/NP%O(':R(+PPYG$]')Z?C\XN&E\4HH[!14_H1TCMU+C_3)NW-)I"ASUJCV^L&[@<4/ 1H\BH-($B?.<-K9D$\]PL[TG]:9]N: NU%",+LYR<*E"$ZO_ M#-X]Y]UV%T454<&FUCE8W,6U(LF16\4R$,^-5RO@F[;AW/\SLM=HR?-@NX8; MO^T2@?^(7(#2#KQZXV@1!2%LX)3VNDW%QG2AD(191:H*.!YD;=P1\\WSPX6Q M8*3EV2O5"X!%9-/EY:+"9F;">K (7[HHX$7KX%7?H8D(V/FS^Z*PMX;O;U & MVA6*:^$B0+&*WBR@8\EB H>D2B^X-9Y2X+MK)!&3P(HU$001.FM,0R<)[*!7 MZA<_*LBJ.&])XPY9-$>^IG,DQ2F4%>D7_DS)9!V]8P]06L6:?JZ&*=E?Y&D" MUCU]URU-45[N)\\UN5FP*]Q?(C!D5'K4WO@[#Q,0HIY,YXE?8QJ%06BX%FOQ MR*K6,W94D5;I):3SMD[=G^#J&3;[+GI'Y+J<[Q]W_OYYL/O 81S&-^[3D7CV MKL>XQBNUPE&[W-U?2T4[N?$'25,=4E;//O5)RJDXZASBB?)-]@.U/&^ M-MO6TL'&%.T7W+P"2KJ)TPK@=R">[.#N>K>J?K:#WRG;!%H5W0A0?;L@+&67 M+?Q.V"P; G/S0*NB'PL$L:31@5/<+B_^'EUH^.":]QFN@E]^&&OJ/( OK"\% M./$K4T! T"Z#KR!H2 ?XJ\\#_ )V_D)V45BXK0$" 4.[XGJC3\>0Q0"&E/W* MWXY$_Q78BR5*N?<.?&,!\E:00@M*K?ZQ0U18I7FH&R<)TEBV2]IZ0HP/>Q6M M;CS?]WX@/XFQAG\)-Z2]I$ 3_:)/; MX2#Q;1/U> 9\$P&W@-JXLX.U%QC.=/Z*XJ.P#QU):[>HU"NHU),.TDFM.A2D M&FEU4LNV MOT2T]>(A%CM<.HUP\JU1.W7VE'=CIXL#_B[+/LM0^Q1E_IP2=H MOS(P%W5W8P1V\ (%,:RI^S?#M]'^$FEBR+5Q(E?O&V5J2"TKT;(>_'D&:V,3 M![A-YQR1]J3B_>*'D)0I'ZX5!6 WOXMJ(NRVZPRI)&W*E%$_+$=^P\BQF^X9 M_BS),O?;2?_ SKP#R:M\D/)UG"OD1OI+F(JR9Y3JB4NWUKV^SM.!TZ)2K(FI&DLL^5<^W9^%6>6\,U+-MP"_92^/&7Z_+KX9B+/?"7 MZ=>RO^Z^=QCW?"[/KBY')\.KT[.ST?#R]/JZ\:M^$B_^P-X/KULW YQ:9KDF MR/)IDL5+ZJ4>/:#CT3Y^0N>23E/@:M_/:1\\;@C8Z%$$;#CI9C8WH?L?(C=I MRO5TAXNB<^SQ8@5I];M;]>#YP%ZX>^XD,M"T\KH 7 ^C/:R%!>[\&T8*PA[; M'^S5)U81 3N?*PWG)6HL@DDWEM"QEAG!I,YT'+++MH]\$I1=:7SE52]/!CO/ MFBK2*HV=/.O4R>#H>G3:[@MZ\JP&5C*E,8QGS7AL+J.K =W!6[$]_(8^&$.0_C3#C_XPV\O4*WQ8?F+"5P#6@>,22:6TQE@42 5Z+L;K(%ISVU@8:TRM:PN5!"#:@]B(>$T/'&R_6!W-8]RTH0IIQ5^ M0CCLGRKQ"M?V:1(!Q!=@>J[%@2*V8&]@Y)>N\R=#568M]MEAC39U(5&;VZMZ MRE+J]!5]NH-@:)XB-*2F\YS,WP-@/7C^JV\@IS;.Z# K]8$[=&SW#%4UC2@] MCVQQ:Z_RMOOPY'ITUG9F<'5LJJ<4I<>1%ZT>/>SOQ%&6Y.I'$Z4'(0A'$X4_ MF.FG!X9K#>SC <;Q */&0J2;=DS] <:>*=/4>2W_ *.;?* 6., HQLLI2NJ]I_!'4G7Z2 M3'CTAU )I?M *CKH-&*Q5=&O6.\]R5/!MT=%EP'S0EUQ!7_8T9] 8VNA7 M-N<]X7>R*S)K-3Z@+S>Y>,,DGFS5]-"^?85;IHD7!%-W][LGP#9SA'I%M0U[ M=$+&0SH1I=0]166DP+ELGU*Y,??HFMX*3/U;;P7%6Z+AAA!!OZQF^21\0U^J MBM"(AXZRE:3:#"H^B4O$?34^!/,R#4_*5W^2M@9Q8_J?EVTEYSX/H]9HUL#< MS^? #+=TA7U"OCOD +3="-KRZ3KE+,G9Q=^ ;J:! [>\!:@I:-NQ@XJ8\HR" M[M!MZ 2Y\ % ,0T'&<<(]F%3*"Q$(:&6>\FM^AIH.]"1$$>V[?@,SJJ>-9TG M(H'I?&*O[ 2H(/DM@,O*-.O+?T1P^K&2!T.";[:+4CG@ L[DM=Y15C6AA;;? ME%/(K"1)B"IF):T?.K,H6E!P([Z12#2XY;7@"A?M@^\-'V4%":""7I8&BE(3 M61 /,7?AL\;C:+*L^0%L?Q!_0/]%\KY*&"MD4G'(F(O1^=GY]<7E<'1Q?75R MU?B6'&[R5I[[$GKF[UM8=D";#OR/19"*IZINED$(B?+*IK+(DM;+Q8S7S3+E M"82)K43N @;AL65[Q@5^&=M>M\J%G@?RHAI.DV=_6X2:'RL&SEC!E)ZW-QZB ML??.:G:](QXB03[E$]T$B#:C&V5J6@V$\'?EK0N9OA(K1P(YV1H19;##[WIW,[YQ=[R M9,^[+N:/P%?6C4XU5V0UA);DQ&MSJMR7GK;>PI;5G0T"<+*YT?"JJ<4[727G M;F)%.9F1ECXH;M!DEK1N8;%#L?,_]F\N/0?*$MS_,X*?%G/YGY9=_ODF_V60 M-*J_F[^LB"_ M19O1S2+P(9D?]E(DUN1:X,PQW"=C17O!+%]$._!D0%%&F"FR9NA1+UH7"Q7% M.;L>#:]:19"I:C(Z%(&4/E>6O6+[#. LAQI&'2(GHZ,4UQ4,BF;W8B1$A5,* M3&*^'UT3=>4=H*[ !<<9&1IJA>Z#(RX><97:K%T;_S!\B_&P9J&,;E@IFI?8 M,FL"X,ZOBZX* #=(E;]S[MYLRKY?)-U.1-?BFMY4?$HW.K%QQZQ2F]*+)FNA M9P!7[+:)_+QH1?_=M4[-5\)M8YN)&@,T#*7Q/6D"2F^0N6$ ,2!FP%E M,BF5TPY\-1,*G]R4(Y'67MLJ])PZ06!*ZH8N'PP,^/0WT;33WB?/!:NUXVT MH)ILH3:TQEG( M<76^G.J^Q$FQ!R1[&*ZP:99,-;27Q5-P7:""4O'O7/#/]O MAA.AAX4NOTZ0N'*M$AK)MD*Z*?D6MQHIY#(((6'>1;[N+Y#I/ MHJ+[U'#&A6:1;RZAC45K9-)*L6)KNE!.&6P=@3U?QZ]\9-CFX7I=&>.M%CG4#,L59-QL(6VB;]MHHQ]'J MUKT#&@J=4+W2YV%TL?0)HGB'7I5U![ZE Z*V;"TU\EJY/J/&2HO [_9- M606<,'.@#"5HO2N)W/KM&94?9V++L M1-BOP$79A_E#491^4Q>65J*31$=F95WUZ\FS6#EO;/V][>MOZQI !W@%=TIZ MY$RZD>$\@[7G[Y-> M_0>/I-]?H32N;:W>BVN*]/\5&3[\C[-ID/=[WSQ27S7U>12N-+Y&KX/==F)[ M#YO8*E2I-!BG<%X[4 M9CC0%*BW7Z$W6E_]Z;P[1;HJ%*>IT^ORCXK(K_9MI'1.R(G\DNMR(!&L\0CO MAB*_#H)6U72B=#_?.)]>?6! W6UB>1.]TF=#?DU@O"++$ZS]*'4KUW+*HE>+_\GMO%F M.W9H@T#L/LY9^:&$Y-/P'[NO#[QY\NM!VH'XV>1M%]*_Y3JA_Y6;1$K&GG>_ M4-,FQPCCPP;J[9A"(=U, U[+Q;'/[#]EFR3WT9K #W.XP)]VF, ??GM&AS^8 M.RN%O^F& (=^=Z"P)=$*"VQT_MY?BU)<78].3UK!@ZU:# P4$53>Y6+H_IOQ M8:^B%5'[A;]KIW]*MXH(L,70Y#X=7"_!F3CNV!FB,. M$Z6B[%WFR=;V3@A7X<@%=>-!I6F$4RR. M-/:-/[(Y 4$ 0-%I< ^M8@CBL^\D=].K=Q_["8B[88$VM 66NE]) M97'Z> 8N^&$XZ($N >[D:O6:+2PY^Q58D@^N>3'0-6/BG,L1LL1HH3>\J2NS MI/,Z4KB;K.M&4+)X2+P9YN^OON$&AAE[RM'O'ET[M+%&1*ANYRE17]J>G;P1 M5)%=P(-P.FD(/G$]*M!$Y_DC3>A^71 @J0/NV]!CZH\N["<(PF>H;4$685KH M/8EX99:4@%,C#L&I&*>0KX;M3KP@> +$# =O.Z$; ";T3)5U,Y''%1NI#MR7/-*L9I5T\W>JBV3PS)M7JH315KQ+AR M: RA\:+V'1HO-!PB+Q3'H:-+T788^PBA]FX]%\D.H'5$^EL8CEBT^7DYVCSW M@3BHO/").!H=?D7_<'**GG;B=:09)@ =TIB,(@A"# S^). M8(B%B^P?P>W"6:NCO1(8VZ,7,3$U35^]O3PS _[<\U=QBH,WQU[$.$Q=)"2P M9K[W#V#BW\X4:Z%?%) @NZH,UXKM?9+1#\5$O8!%K#XQ"W]1MO"[)@=9F_K; M\[2G2=_1'31&:FYB\;:>W-GOT:,;$QGQXV:3_I'OU1WNEG2S 2P,\>_KU!-7 MDRL!V]ULEN(_&WF4RP#4.MIA*PDO#!.$U: +YDD_Z2_CY,MHAZFPYC'H,064 M@Q9AV?4=+C;NTCY@(^<)I;2#@JG&O143IT@<;C))H6;W+O 7FR3T$@Y^_#T& M2LG.(R(@5L\2QY GA GKW@)'5>V(H6XFK*J-SK_NDR4>+.^&",0A5]".+E5! M+?-#4.A^93M[!N_ C0"*UT;>!;2O^-4.E[=1$'HKX-]_F$Z$G$;(\PS_SWHU M/@C=? %!%60F*Q9 MP_'5]X)@YGMSF^1,RI7H(=:\4BJXQ"!CS.:Z/0YV7,VMOF(6XT8R9]4>8EY; M? 57$=KQIJ="PMWR*SK63G?(AV/!#71)OP)L3.=Q/K MK*>6U05><NV>D(E7'92/W*289 .>V8'20L04/"6A^!5#& M\G[RJQJ;[UA' 3!_6GCO7X!I)0QY= ,;?OW5-V(/\>ZU1KZM]&AT<7Y^L;^7 M3AL=I*T.]IKEW1PCD?_R)6%6^KN__G]02P,$% @ DHUG5Y-!6='^?0( MFHP? !4 !P#$P<2YH=&WLO6ES\CCW)_Q^JI[OP%SW M_.?NKHIS>0?2RY0!LX,!8[8W+F,+8[R!%[9/_\@&$I*0A"003.*NZNX LBR= M\SNKCJ2__]_2-!)SX+B:;?WS7^P6_6\"6+*M:);ZSW^%=AY)_??__?N_$O"? M\#^)Q-__&T$26B_3JB846_9-8'D)V0&2!Y3$0O/&=XFV/9U*5J(&'$V=;=K>(L];9+=OB5HA&&_J=\XBA.) M]!U!WN'I!%-[VG[3454;.I*SVLT1/@K?GZ()]!;'*2)]^"$>.'--!HFR/4R4 M-[W[_7LDN<-;VU%_;W\()_)KV]C0+/V^Y6*QN%T.'2-LC:,H M\3OX>0AIM6N^=+5'K1?$KBWVNU>K\O(8F!*B6:XG6?+#4[!/Q;M_@G\?*O:\]^:!8<# HK]]AS)V8TH>I#+L"*,0-(40V*X? MU_&>$P!^^6CRVO*EJ6/$WMMVS1TP>I%4]&_XZ_Y\M5>H^I0^"M >$VZWK38/G"(5U@ZG?Z]#/"RZQ7(RN'7PQ\>O7[Y#"V/^@Q^W36= M.IKYJ&7PA>UHKFP[TUO9-L..T32!/D#K \B"<#E,C+>P@B,X_0B>VD%XTAMX M:K_^_7L,).7?OTW@20G9MCRHB/[YY8&E]WM#RN!A!,Q\;?[/K^WOB+>:PI'^ M_O=O3_,,\._?OW?_W_0UM)75OW\KVCSA>BL#_//+E!Q5LQ#/GMX1Z-3["[[U M-_SY41M%&M+JS; L$#;3E7= ;<#9_:HH"K/!/V"#O2'(PYX1O:5XK0*\ M_Q!Y2$)%4,$S*I@8M>9')YEOM=%L7L1&J&9E-4Y? MKIT2T7QYDG5H^!Q-/L40N2EPI&!850#U>E63AIJA>:NL[SAPV)!L'@C&SXWR MF@4E39.,ANUJP6#8)02UJPT-^)3K/9I/?]A'4ORL;J* UX3US"&A]8-,>\T" M_8>194AW93<$2*/M('94V,[Z7438OD',P:9S.,\Y*$&5X82.0TMS=6:IN?>- M2K C![A>"TZ:7TC3&C"'P!'1F5/$"76*LURWZ:9*_9PY+CXCY,,;&-<%WKL( MR%K!7$)]](B.\QQ2G=? <0=YXV! M$P[JJBE:MRWY%$3-UTJTM&X6ID*ATNXX90:C445]@ZA[-'P8QSO(F/,W(Q&3 MXI:.;?M>9YZ&J Y%EU=03;8%WDUJ)*8A DV_0M2"I%E5VW7WJ%F"OK<). ?J MK:D#Q@$A@Y$$7[Y-5[I6D2:M=&:!FI3:FG!)N3:FWA+ZW5QV+PDQ"REL[]12 M'7R(S-B&S,0^F8F3D%G#[,$<-/"1@*@TGM=;R;XM,E]'9@7O8@A"%]HL:+%M M.N>74AWG+?B>B\S)LY$YV6O/\PN)HU&0;QKEG&"V2SGUZ\@\&"+M$I'"!+(IXB+VZU\4AAH$C5%$ZBO'NR51'D9& MDM$'DL-:2@YR[W[(:]%C%)3*8"PPN?0PB9$"FF1$(A@R@F X#'J_+1*-S\S MN&P^A6J E-'E)&O-CB4JDV/IDNV)KIQ!I\/S>;=O18;N M6(*Z6UP.N[K71KL5%EGD%C;&9$4-CNI#BED!LF9"MOSSJU3/'PH.;8OW;%GG MPU=SOA=D,X+DYR,ZC]F:-654RZ,V558&,[T*'2N*("B; @H6RYPP M0]3U.N>H9 <](PTR7+Z5&[0I?O9AR!_*PYJ(ZTC:;$Z93 M6#KC+TF0I+F\F5JR@[5>J /5S3LS7!R_Y:6?0[@B0-!3Y4@VERB6)_F2VW<6B_3D"P/W&D).5L-*+:U7 M^K9>6"\7O77W+4,0B8CR+#EB.BNL:%?-"7X/-* DPB' XNCV9+E<=![-.'_]U]];CW:6BI M[M\5KK!Y0:R&A\MD#QUM?]E]WCWW^]%L7YX\AFUAB(D%Q4KWM$%JQ)HMCQ_Y MI:72ZS+1FCV&8!A"H)^?_9')LX(#NP<@D"[??:3?0M\YK%AH2*M \!@'ME5# M&82J 4 (VRL MFIO]U3#D*PZ%.L'?X:%/HZW@IHEH, [M)?2+;_S]A!9'P!5"TO&";%&86D'0 M)()B]_W<_W;/066O:7H/V[M?/H'MU_/OE\9VL8/2-, ML7U-V,8NANW7E_ NC>U:,BO62W-SP7+%;&W6[4F;^/GTML1 MQ;:5Q(D5W:(M-INRG%ZN4J"JPMG]Q!C;I\3VL7K[]-A^W=^^#V,WE E"?,B( MH')K'^=[*>PM)OMK?-[-8OTNJSEZ4NYH/;N3B:R^?766#_A\-LV?Z*5^%!$] M5:TRR?6"0,UDE0<$C0KH0HT1&YGA(,>WG9)S;@LUGIC_*7491P MQ4,R&I*FE*RL--4\R=BRN668W1'#=(JHA%:! \7=[U^] 7AURM^/N1[2YZ=#9.M=9=DQ_3XVME\ M(9T>"6X?K=-[]:12*"%Z1XH-WANLSHRK+84J^=Y5^LU<^2 MC3BM4N^GQKV9R.M%M.![&IX:9;MY)5;JU\OMHW5ZNDH)&6(H#_0LR3131F:: MF3:OGO,7U^EGR3V=2*?;$\_A\F.O@R+9:F71&RK2DKYVEG^U3C]'''I:G4Y3 M>;O9HU).N?H,Q&5T>B2X?;1.K\AXWI1*\Q9J#II=K:7Y,[5R M[4Y;!'3Z>5 @]" Y6OU)A47Z:05CLH59$3O[ZL]%)[^WS?@TJRDVR&DL)Z0$ M?-*G%GJUS,R'UP[X+[5HV)F2$>]E\!LFK5#T+%F42X(Y)+'2>,+UT_G8I%TQ MNX^V:;5Q4JI237$F%)*@!SQ6UM5IO$8>*1BN*@I^S=5!M&TPCE\RP62)7 M84W$UN977WSQ56P]F1=\Y"Y"9B$Y2GLU!4]2&[N3U,(9!\?PN2U>V)63I5>9 M-5NQ*+9BF_-D7_5F"SRR#'XTP_V,QBM3/"5SKV7WX$>0P':(E5>E2$PPY_W> MJB>[?#>ZA8510T)4=PU^! GV7,@OT:Y<8J7!P.53TD"IHI'UNR.%A CO%OP( M$H1,/8L6N5Q%X)1A-=E.$>*B'2/A6G8)NHXGMH*C'4*6!Y]JFJ69OKEE[P,( MYL#R00N8DA8L"32 $]Y19,F &QJ:*FV.TYN"@(AMS81-N!$/OW5'FS-P^=WL M'@[3D*&W(RKPJV H) 89+LXS'5JM9_,+02I1=]TSU=]P@8L8SE MJY(E+2\G69.UDBPABD<)OEVA'%$=CJ&47(-D[5,MEJQ8LKY.6 M_2;-SD#>*]5XR] N==+DM\,W$>/[V-Q-<#]?<*% 5_/&6=_U;!,X&IL-VI\OR&#NZ#- @,=#2W7V^?1M.: MJQE:00:"PYBE3%>)G(?VD,<[AF8/@JZL'Z8Y#'>7\3[ M1B%;FO>(9>Y)E+HRP=M=1Y8+0M9,5ANK/BH3]M4#?:-37Z!8K-&_+\)?4.>S MGI.B!7&Q$%8I%5]T:QUJ5(A<"'R%*(]U^2:],[&=':?VT%BWK9KD>L#A@3.' M+&)4!X04O6][$AV>2O:2MCTI\7JE-ZOIC72G.G(CYYAO,CI/";7%T;&4BG7W M]T/T"SJ;--H((=@=0JCP UL0EGR[I\:HCG7U>9#]%8IZ6!22K4F!H02-JV,. MV="Z6?FZ(!TA/,=:^LNP_(**3HGBJ(AE)EF]HBU%0 Z6'E:,W(:):\%SK)\_ M$C5F;==K U[8V5=K8L2\GD\V*ZHND]0H)W0=1A.,48TUU0LO6$JUKK<5T:.#R9%V(G +Y4B_ZJI'S^IZZ:%3HT8Y? MRO467DKG6+DWF>:%WIB]>L5X/V>%7G9@$)-"F[%1?R6.JU."'B+TU0,] K5+ ML4:/4(4>7N;62)G$\FRWF'72U30YR!"16QJ_0I3'NCP"%7IJ"I/<1MGKZK,! MJY:'GF>NH[>,>$6U3#];=T>D0D^1:[FY8MI9U*P,@">6UET5B9QGN0S*M50TQ5KZTA5Z);G+3-LTKZ-T:3J@ MTVJ='ULQGF/]_(51XWDK]-QYCN'SBXDFS!Q[.NP/TS6&_AZ!8R2JE7ZV#H]F MA9[ 6BFR4 ,M?9434TZ&2D[';(SY6,]'=KTGI[K0,6]<;CE"UQC/!N2XP72%ZP)& MC(HO\,.KF3&H317&15=T'UG4JWRR'-VK2J^E0B^J9YU'HT*/X#.44%MSN%Y) M5EU>7=?5(;AZS$6C:ND+,Q47/R*OAZC4'(G3.9*L4]$] M'_ZZL/[%&8KKQ_LY*_1:/%XV/$L34'Z*,_*L+Q3&_-4K]0C4+L4:/4(5>FXR MK;=J:$E'<KY16,@0D\<2?[(+Q4Q-%MVBP5'4'FD&3EG MY8IJF7ZV[HY(A5Z!+PP(=-#JL=F9*FMJI@N:\1EZL:X^$[*_0E%3]9:=L[K3 MELZEY4*K871$:1FYI:%KJ6B*M?2E*_1(1$\M9+O-"[C:DM<-U>C:UG6IZ CA M.=;/T:O0\_-TICGM-KJZUJ^,&[K5U8CR]P@<(U&M]+-U>#0K].8\56#GTWD1 MY3/%/B@TJU'<1W"]F(_U_*G7>Y9DII1#YMVT;HIX+YNB*4["(N>'7$V%WO4C MYO5\,@,\W>S,2!E=X4T\UA_-IJNBW5-+PP&(7*[OJBKT+HH<+&J52X>.ZJ =N35S.C-=HB<3IEZ? MU)AEY(S6=58M?6VFXMA*U!^ \Q>R%,PJ71I7C*2N\^4R)S>J6CU)7+U^C0;6 MOSY#<>5X/V>%WK#8-I"%TR7U;!%TTLZZ,IR5KA[H$:A=BC5ZA"KTYOU&"BLK MO(YJC4R^)3-L"V6^1]+YIU7H10WI$:C0F^!%<]A'ZFNAT&B15I^4FZ/Y=24- MHE7+]+-U=U0J] :6U>YD^1JJ94!ZACFMG,Q'3F=?$:IC77WI"CUV/>BZ/5,7 M42[50?O;]ZI<+) 4XOI8%W*)IW='\X:?2Z,: M*QA]J)#N9C/7_J]1YQ2-FRY?9; E\>X?Y,6G3*YPMQ]_#J%^B0B]J6#E)_HH93FFJ5:HZ:'?L MM-O"TLTGS1^6??IAV#@.&%)KP=8K2$'7<;D\;#C-7-M81$YY1+M"+VJH.(Y9!#["'G_N\=<';>/B//?,W5@@<> MD,(8Q,L.6#0TZ/!7/64+DC9=GDV'O96I\_FY-R'P^G02W9*Z%V:Y1<7+ MTSPG((CC ;'?].P79M\'@BRDE;?*VN;4MN[#[UTK1I9]TS=@4X7SQL )FCE@ M'!!^#DJ6#,5P%]:7FD74G:=7>A9DJ6:&!]JJ$#E_Y%D8?&CV#Y'-T=,_&X(B M?''VJ1%DY[.(1C(]@-*Y4;?%:Z"X8"(;)%\3@J)ZL.NI$31RS(F_'(Y'>G9N M(!-E1G0JN#H AO/#@U@F99NB1:[;R%:KE9;]"SNL5T*T;053O&^PC" M<)'8?D*RH,TZZXS%\JUNM]8>C+U%_^SFYJR4PW"$.($'R;@B-Q)33V.(JFVI M,"PW7I(U \YP*U9-L:,U4NV6@N(#OEK+ M&!9%#",K5HJ: M \WS%UP:K5 42,",F69*B259&LO0M6W-K)UWLXJ.%7ABN M4*>\JJ\X[\I4[B:9=\1LOQ^/\[8#--7: -I](K+MLC&?DFI5U+4YED,(3R-3 MZ6OD[6NSO%:>?JR.2\@JOD$72!%=\4M';S:J=O\* H^+54Y%C*,O5"IU<1U? M)!%UI<]6?:+4:9B%9'3/$HM&;=#Y.+L7_'U.6&?XP*QUDY6UKKFS54[6"AXR MBWZF,@K"^B1(O0Q+7Y#6"EG@76)5HEE #)V<@).M=O1**B(KK2=F[7,]G-=F5IMB D-R'Z?^VHZD@+IDWC,9'0V%HKUP4BC? MFZ4'X]S2R&J1E=UW3/DA"GHZY^O0SJ?A]ZXVH 6,,/OGCK7ICO7)? 40\_E@ MJ?/,<&4X,F6LSI_Q^U+6OS+]ZT#! 85^$K&W^]H DPJ%AH D!S27'Q==*1W9 M+$>4Q?[\%OS4*,P1:R2E:0')NV*E)!,2;D0V@1(-KD>U+N1XKAL"/T.\%3M@N89: MG526%@N:D57M$>!ZA&LYCN>ZF*G;E-*KFZPF-FR^Y8,Q6]+'4)11'I83(FOHCRW4.S_4G6O]/ M82.C]0U&0&A>YTKIFMIV6D/>CJR2B"PVHNHC? H;L^E@7&^W00ZMC.;ZJM&9 M(\-"C(WOXDE\SJ:8Q9*;,[@TZR_*:[-C66XENMF"R&+CR_V-IUGD8"?E/75X M&5@2[.EA#8@'\&'E?G/A;A?+%ALY^-HYA%I0'^MZCA\T:6FN_@A )?AR![A> M"[Z$7TC37;&COVZ1AB78[*S=[!E.5^9JT5,NP0;,@^39+AT=I,^+@#D:KZ\1 M]@&NARE['1GLHQ&8UQS7.P< U]UNLL4B-4'O6EV5[.68V<"-7"KD+0 >(D^, MOR,2ZMM\^@4U8!DS%#2=PB:HI"51@W>&DM:)-6"4$8B==.4>(R "L=3%-*!4 MFS,C&CB8CK170SK7M"5K&KF\0*P!-_C#4H$&Q(@O6TOZ#+22O?8\OY X&@7Y MIE'."6:[E(LYML"[28W$-$2@Z<@6%D82&1'.-GT.&4Z&RF EBN5)ON3VG<4B M/8EUQG7DFAXBK5- X;@=?-"1=1O2*JCFW3XWJ:MX;Z+F79TVND819_04DHU< ML'56"!W]]C=V#SXC[K7%6Y?$H<(4:C6:71,Z5UG2_FI@%TGR9ZFR*\/AZ>*N MERJX3X'#O*0Y''P&[ZY-R9KZGALVP%_NL@8D MUW?" #OO@)D/+'EUN+^]EFX+R+[C:):Z[5A83Z%[0BYJ+$<4A%H#13OKZ!Y= M=%GL'\?/O=.%7V;H20?S$A(.C.05*%Q)COAYT?5/$=5)#^]HS56CA!;J=?S.U;\N^ ANTO$8@RVG.:G5=R@.I'0_CP\+Q4&A8=)7)JS;ZPT^2(+K0,,!G_@3!A?OSOVV M5E1Y5E+QY+!BE*GRM9V5=DF#>_[M_N^RN$DD7^U,2R[&KD(+!#478>,G;2XCNIKD3KLJ M2NO52H]MY0G 7)EW%4F;>_KC-\Y7&/=1/5&NU5:X1M9%?9:4LU67HYQB=&^H M^KDKRM$IX4N)^#V&[_].TLW^JBS;8WTVDY%6,3-22/GL.N@#=$LA*'XDW?:; MGH!NE$CP#*6A9*+0 L/9L$=CO3EFK=8>2NEH#DP!'\6,3M-SU%226V@=GF5H[[ M#V4+:3E(;8GK6<;2!FIQ8CGGO]K[O92#QA<[$G-/FIY$QST0[O[O5EFEO%Q] M1.BY3U*=@/ZT^ MY0L.;+T"H$N90GJ6[]M3%I_.)SI?G53I061S4#'0+Y\Q>]CXTR9F&M%8$IQN M-O"NWQL52_5,%)R&QS409Y%R3/1H4T#!8ID39HBZ7N<R@$9L]=N8RGE>O MTVX8XX)C^].2)3_58JMYVJC]QJ?:"$_QLIL:-&EZQ'-V[ :\#H9%5\#(&G)$G\;(#%@W- &[54[9H,_CLS"YVYF-6Z@Z0E4+/U\+D2M'V\C2_ M9[[^%$?#,HH2DE$R&I(&)2HK335/,K;H0#P+J7+*LJMS>4+&^<:(*$47'4>> MYO?JE,^)E*@>VW$*I!1;9$$D>D)#P+/EE(EA531U]>?%7@PI%]XE(NY,57Z32YZ.KE\B[A]\7Z'L=^?;':&S!\'%31Q5\JDE+S?3-+5RH^7R\ ML-?Y.6HFY9G2(/*CO!8YY1/ Y7X6O_X-/CZ:1M2YE4;M4)%3]?<: M-1(WW%#'NP?4:;G^B<36\ZRLN*P*.M^:S@6Z**QEKCDI,]'=4WBJ[.E5AYST MMO(O%/N'#SL -!P;=NJM&M S\1A+N:\@SZR>ET%+EI+Q-4@B2W5AVY(Y=>SY M9MET9]=SBSXZ]P><#KAJ>LH:XR5(118@1TQ^KT[YS=F?4X'01U9#/FEZ=@72 M G-@^: %3$D+;N]H &=D.V;@YG)#0U/#/M@E=*JAC6UK)FS"C7CXK3N2Y. W M?C>9![TC0X='#/SS\%489+V(<2SOE.N.ATHEJ=QE@V/NQ65V:3]ESJ>SI:R'3H M^D2>XG0O=JNO @-/,G4?QD"5]50/K5MMEDM.RAI?:-!X(<; :4.KTSM9J3T? M*_6.RH=,L'DO2$EYCB][ME,U=KZV3<[5)#5U>N@L+Z6TLN66EUSD4B3'^=HO MSO*\+A.:.MIE>FCZ=4O'.YKQFTGNI6H%Z%_FME]OX: -]#(B&-DER[4JD^Q, M3FD4$EG/^M4Y;D'Q?)+?"HJQ:PP"+(".\LQ:)?['<*+?$Q5'%@V\2T52/B"W7$14M"/HV&%W3$6""*^G1*M-F5,Z8[6;VKE-JQ'W'5 MJ%BN%0*9,G(=142COAZU3<9H1.YH*RDVJB[7%M$LT M']FET>@IU\ME<#Z-AI<<,- DUW;9P%&SW3&F[AP;NOVK#MN_7KE©DF24 MY[/EB@7#3%?KEFMK=1;%XP4N3K@7XIE@O378T?8@/<$146W@F"W@!1.TK:#) M5H0*(V )2JFFZA)?0M@%QWIT](J-[M>4]^:VE9A7)O<]XY;7E>G[N%]K3^:Y M7G&.H-UTLT)GE8%57T?6I$:$^Q>5_=0>]X^[9&!SD..C.U0QU.0XYP 2QT/L/VFD3R[AGBZZ_C41WJ@8]U&6929H)6)/JFE6:O=PR+K M!I[B2 _B9%N2K^1(CZLXN^;L0)\4%76"HKTZBCA<2:>!M+;PR*878Z!_ .@G M/KN&>-=)$:]LMD^+6FF<(?,E%(YPKJ:5^FPZBJSIC\)F^\'%FE8%R,38EY_%)S[P$ MZ;4M8:P#[^UNGA4Z[X;PK.WN6 ?<&E+]'-_3LSFF3&(.TEZG(Q>3;+8K/27U M%F ':?UY'?86DQX4V$$NG64 STNYW^#O3RHX^!;RR!C<&,LJLJ9S2T[M3KEY M2I0BYW3$\AA!>8S:XOZWD,<&P:4$,6?1>J7LBA9 ND(!B^4QEL>WLTI16TA_ M31[OU\ V2V*[%M&5RVFFEZ[2O3&G=VD^(^<*1 :+WOWBK\KEJS2/Y?,;R^?+ M^VRNWE[VD],90BS3-BN-L]@PJRHJU;PNN8SMY67D,6I+_.^7QP-'Q6C6WE$Q M$937@9KE#+97G: FD>PD1PU#%;4?+:^'3LK9YV*L";YQ)'M&3?#HT*@(:@)S MG5/=:F?=1B5.EN9MJIOL+".WKGMI37#4F5FQ)KA^3?!JZ<][SQHRJ XOBSK+ M=ANYI).LEE=B(7))I*B=-72YPIQ3[7N7%CW>GS4JEMZ5)G-SY%87C!V'5!$3[OU0;HGE:F/WL$ M'+ELM+L:V6SKW9K0\LOLT)P1D?-X(L#3)VIY>\3245:9_LJ-@^_D_[B*=JK% M(B>B^!II$C+/9%I2Y&H?HL?_R&5./\C_=3,[EZ?J/,G2UH+MU!$2-:)[%4&$ M^'^A$\*);1GIYR^S:9?LE."Z7%4HI%3,M2MU91W=,_FR2I/B5'8G-:%]2&EV<:(U:QY>*:*4G5/","B9&+0K[G,]1 M+_M&:65=0DM.TI^L]1D^Z'F$W)/G3.3NV;Y$#=P6-MN;W G19FJL4AN.&;W2 MH]/Y=E.>T9W(RPO;C4&MZXN5XT='HEJ]8:-YMU@GEACL$3GWBAY@%3S$VJTJ2014W4;!)% M@JM@T[GWG*BAV0X>^,3[Y&U.5@2(5V,FV::C5\9C;XQ5ATUGHAY^Y^ZAS\PS M3 %;H.85_J"O';'272&S@F1]1U1:3YGZ&:V]X^]_]TY;0[E+<30%KPD<(=K MK[O(Z!H[I U7JCE%_H'.2OC ?F=U^&JH.FSG@VA[]GSP90Y8MJE9A[H]5FP> M=?'[\>B/YTF6R8ED(^.D<]F4P>+S=:DU'%=53GT.O=U\X2.? ,'6<12GECH? M3>C9-SUF7W%%UM'P![]MG7G_K;VUY!TEF^XX,W,W',9"44,U"NOS[-_Q/ MPO56!M36IK1$%IKBC>\P%/V?OZ:2$AQGCAA@Y-V1MV3RX2M'4\?WW]D;!QJ^ M)KCA[/Y!O[?A3IZ]-^_PM:NM@:P(]CGYBUW\,]$\"^Q_2-X@908 M.V#TSZ__M&T9?G2GDO7HE>'?=U9PAK6QZ78!POEMO_KU;SNH*4O8HT0V, B6 M!Q$8] ))*#WN3[8-V[G[#TK1A(S!!__O?S :_>N^]?0 T64#2,[=T/;&?SVE M_R'"2B%XQ**A8RB&)5,D1OS:C.,T=-QQ& X(*K8[;.^K@(/!YZ'M0/SFI3X#QK^LVL1/$ <^/F!5W\=Y$QVC#<\GPWUA3H M,?PUE&1=A5&ZI4"JHZ,1[#V@>@I'B4=DWY(-)S!JF$+3HD)CDDA2*4*4, H3 M@4PDL31&C>@4>E)R!NX#(AF::MT%"WW >3+YX8&9TX>F_NM?H5YJL[D$WV;: M+/_W[^%F8I$;)L]FA5:I76+Y!%//)=A>MLC4"VPBR]5J)9XOKTS7R56G^<:H,11I;GC]:, _B_>I1[;S+4;_49,*%!GO;P]8:0=ML2%,7W.W^V)JIN\!D_.U!A\A3=H]LK#">?+!^NZ'] M]I3]AG/@>,')]ELFA_R&9N^OQ1A&(P@DHB[@SS MWC>!(=Z^Z;%LAA=W>/_\TN"P88 .V6P;0\DP;&]H+W^=1W2;/@S/@6.L6F!J M.]Z>%$L655_F562-FOG)HL&I@E!)J<\@N2,/#U0;)(12@E^9$)__/62-_N]_ MTDF2_NM%,7_"SHNQY36A:PI,J\VVJOU$BVUPK7:B(;1X@:FW$VTN 'C/9=H++;Y]+$^3MO42'-/D=",3O M4(Y.[5J&\01V;[LU*TC]W"'88U64V/T;?O^J4MB2,^P7_4J[^4'7*778<\K; M3L(;@\1L)R")33HJ 2"%E,0!T[HGOG?!E4@F['2L2*L5#"F =2;Y;82#8C>9 MLSWIS3?FRY6?::U0.MW*JM1ZY./UQ;LHP(.IMUFS(=";1#"NV#Y_TC7C6K&E MCBWU!YUL1[(V*8AGIAIIL^L6<(2%/D/7:K-7%YJ+V7.'^]VFFKQN4]UN,76^ M%!CDV%9'RU9_5H_NC+-W+Q,[ZSQR;#.QXGE! MT:_F!N4HB9$&39_E!P[/UV1/V'!%-0]?6P_?NA][^8J:]-)E!BW4"!/%IX:6 M-M[GO:$HAA D1E(_WFD[*J%V=CZW@*JY@;[R@D-G]WA-2+/X]LLK:R M5740$G@QVU[,V>D0I8O)JM 0:^,RWQ31$#S'&[8<,*2%%!2S'!>:/&'?)IK8 M196W&'E6!KXOH?^2G_U[4A!R>E'L-XMF M5](+O9PFI!?=];*G0LCA[X(!CXY,'<.PTFWKEK]-L.;4L%=!I=O58N^1T0@A MZ*B2I:W#SW_&T(L:]!XKVD3=OOTSJNC[FL T1F>DG(W3S/<*@7QV+XM1%"?8 MGK7Y7U6S ';O89E83BC$B^TZG'"11-U&\3>0T82H+W M' "\FP3O:Q[8)=I1]"H\_E@28TD\MR1FX9^L=)LKNO8E*)8B>4G M)7_&I2;M]^6,NE9S/]GHKJJ^2U84.\&P-M^B@? M-AI3I60'U(ML=T9(2-U&N@AHBM0[DQ-)"@]VVWVOO,26<,$*0L.!8JM-)2/! M+H'L!ULO$MQH%"QZQ%%BY*+$/R#*$P',GP:'IZV(B-P:X^?\HE__/BP/!L/# MDG^Y"0\88#JVK=VJ]$T""H+A!QQ-2 Z0H,)2P%UB-X_C-<8?YU[9#OP3!H[P M0=V%]G9.^NUF+@/*Z,RJ]8;Z;-8L<._S4'",_*1[\N?7+.Y7;2BBC8![SQ;W M-XO3P %*8NH[KA^L4GMV K8(4UP8_L?PS\ $!:5&C.S=G9JT+X[Q M9,O6.(H2A$*/1$F2*)%,8828QE,C<22-:)G$1B,T+3U=NLV,>R MXXYK6(ZH-@\M6Z^399[O9_)9%$FEJI3 \.U9,UBVQIZV= OLBA;JLJ6O)I/5 MF/-&+;:XV%O@_L+EX*=KO;NW;GO#-APXPN 2Q"T!7:4G.S"GRY>S>$>E9'%G ,;^[]O?]=&L(1 M^A[X:U=(>=X]P"\#&GN'%Q1NU=W^]TB/*&;0%3 (CQET(0:])RP\4I2VOV\* ME5_ZU=DRYH6?-SO;C\8 1MV#(/CSJP*=MN9M3B$ DCQ.R(;DNN^*UF*"/B6H M(X6AC1MN2OCCJ.#^W9KDYY"SOBW #.$)EO(X..@] ;W:Q5B#WSRXOA]+$_TL M^%XZF[B-6588/@SUSGT.T4RU4Z5A&5=UOEX5N:7<*^ERMU 59]E46RG0]BM+7C8A@!Q M4FVC#.[[2YX%*+M(IJL#(]UGML7BK^$D($O?=O2-)DGL.G\3.F?("5_!3I1/ M97Z"DCDE*+\"B>$J(8\!I'=PD0JTZ""LW@S25'O[+?[ MKG.L>2&NYN4A&08 ML$6P>S1(?LU\+4A]>79B"+8-8,?;[-?]ODC;V=\7NC98?BFCW!CO)OX _8,T9]P?>B/N&,[V BRV\;GC27O MZ7P6TN-!AQNVPH>W4_KS)B%92N(/?&_>0RA(L-%P F<5/!2VAT\&X]EV%FRN M=<.1A,.57"^11C<]*-+*O7U1!H3,USX.R"@PH?(YM!0Z"L4H Z"RL$J5 0TMR MN)R;DSPI$6R$?*J4'OK8S\^W?&-;%4:B5*!R6D#U#>E!:_%(._''(SV&$_CM MMK$WUL)]9]-@W]F7**K-+.Y5#W#_O(Q.V2-Y0/&MBMG3*3U0-GV:,[JZ-%^5 MJQ*FL>I\<4Z=Y_6@'(I)0SX/$A(L@RU!D0]E*! 9)S M!_\ M-@$!AQS\P36ANH%O<78V%,J4"6>_N@E\&M@=M/S!6-6$ZM@+;[S[^19Z-R < MFP)&FA4F?,-*E("&./K7"R,,?\7^NMDU>[/!B^.[;QAX,]O&+XQUVS383ON@ M%3%\B."[=$5-[)]Y)"]O ML8Z40!^QP,,\]R_VIO,B1Y\=_K5WUM=AX7]B^\A;@HJ:^8OW^GTO4_83=Q@= MLZ9[*-0YN=C',(\^S'_]R[\X=$'D*V[8&30JED6#SI#KQ]>^20?LP_KZ]@4$YNQ6+X_9\:>N&G4+1J[:3&^ M(\K/7_^R+R4T(VB]=F,MA$/-;D:Z9\4668SH>>HRSV:S5(&H-1=\/_^E5BR. MT53!X35Y+!-8O-/:?3*&D.PE^_@TH@V.K26&JZ@0H??LL,% M4-_=K$] BFYN(SAP#K+MA.\R5L'+%QI\-7QMPH*SM@.G$=(T#" LR9(UR0A2 M2\&1?6$![O8:/#<1;-#7E)=V1Q%_2'\>7&5()-[,*QT7CD12!U_94GRXJ.:. M@6'LL)?X R(J7-K:G,-ZQ,+1XP7K/G CIJ#Y8'X']++I]CBF1ZT$I$=6G20Q M&(SIL^KE2Y2T/$O ?D^Q>7NUF?$2=7N^O;)D=W"06P $)^V%H+\ E';+I M]BNQ^J5*_=W7=1ZZCW._FOD3UW5^Z<1/1__=NK1'J*0/C!Y] MAWOYL'WN__M?^YL"'VX]178WSFY8M7>9['82>(@(%2";/8?2"+K!=Y*QD%;N MUAE/0Y[3__-PQ(3/-OJE+(LG\ARK0;78MHGO67VW;'DNPY,V*#I4C<./R9HJ9YC M>]$GW#D*MQ#H8B11DB)HDOR?+ZC7>I093*5O\5?S(6?>9+YWW]7S_>:/)WK\ MGOM',X0:_#KF=QW[Z(\C>OH6HZZ#ZA\X*.!] G0ZJ$:J0.@ NS]VLL57U1.\ M;L^AG[I+5ARZXN[(I=,WP1"1".38I95S _(K9O,NO71RQR.TVB>:8@21^);, MW4+3'54CW/M6JALRR2))U\)ITO1C3W\NIX&WDM!>=H[Q+[ M)6N3N[J_%TR*\1[C_7IX%R,Q1N*'>'>O9TMMMH;=ZUF^S<#/;+W-BSB6)HCD MQ[)')0^8VT6S?6T;'C9N/LDFW<4PCV%^-;R+D1@C\4/WDC\M:T .Y?"#?[&G M&CK#5*%R9ODBR[;YC^GC<-42_RMK!^\.2EO@7V&H'1;*9R0#*FB0X,< >&Y" M\A(\F'K;E6)TLU0<[K;- 7G[+19^BR?^$"S)5S38RY^)_16"6) N+$C$=Q:- M??;M)\;?LUX9@S/6\A& \KV6?_"\.>B-9[D:>PY5_^"!!VN[P263)K@_W,F# M0P&AHK-TJ\&TN6RERU1S;XMFF4&KW MSV\=POKZL6THP'&WY>\)=N9#ML0VXIN*(?V=!2NV$=<-SMA&/+<1688OYJM< MEQ=IDB!Q\@MB!LD=)_*&O7@X'#S6_=]!O%+?66!BW7_=X(QU_W/=7^?:;! 7 MDRQ)W2BZG.;*ONMJ-M2!"F-)QLK57#%)?+9X$K]- M/+SE_N2!A[>%SO3N?8%3_J"% S6].?(F:-,"KF]L_'9N"C:'BKBQ2HZ0U.#) M*Q*$6"5?%[A^B$HFFL$I7)H7;O"$:@]^-+:? IUIV*[O?%8E$[>)_;>$VG7O M/8G[%\%),4/;]Z &=W3@)5J:J\<:-T)"0<9.< RN6.-^2N.2P>DPCFVX4 TV M'%L&2J#X1 PEL.3A.W3?H6K)V\2N^U#-/KP@UJ,1@GJL1V-PQ7KTI%O?)<EBFDZ1Z=2O3^Q\+]TFPE[C;>\QUB^+]5@/Q]B,AD?PR)_%JD"5 MC-#1#.\ZAJYLDJ*3J<^ZLMAM(NPYL==U[,1&"-\D=D60C97G=8'KARA/ZIG' MFB22)/%IY4D=\%KCS>91 GBL/6-PQ=KS<]J39I=C.#7/%6DHQU983@'.O*&%RQKORXKN1+A3K3%EHL+Z;)%(K2'U.4/)R3Y,6+21$#,(F? MZ[*ZTY S(L-X[4J-W1TQ(>&VK]H=L8TG-U/#SG?Z_I1?X@, M#..O5X\D/^GA]"_FD7%RKR1^0TC\^?GS9[Z.)H7=8JD7KJ,);XY)//P9T"2^ MCN;[7$>3AJ:')&A"5(:8+)(I6A$E OZ'PFA:P94T/AI1OS;CVSSQYH'6I[M7 M9?]F* Q[IG!>/=<>CG)W3O;V&L/[,2<>!AVN&K[6SZGOM'DTI9/HT U7WC[^ M-A)L"8:9P)YSY'[ ;S*$OQ*&B'2PX$*-@"C1,A0L=#@4AW(2%=$42@Y'Y @G MTJ-'@O7T?,PS,>R89&-D@C&#BWW=/R,]_OUM=-PH8RCHJIT9" !@Y@8II* MC<11BDY):9G$*()\),1M632R-8^6I=D$7:TGJ5'*GA26!B-B(O&T9;[O&*U: M>H"QA5()U 29Q=)>$[:DG[9B.%J2+YO&4_X]:734JOZ-Q(&HBD,2:K;E.DGK=<245EA"MD M74?RR54;P]>R. E:/I\1F'7IBI:V]>PD5RGV1SU9J*NPY;,9*71M@:PP@T9I MD1Y-_!0#\L)"I)^_?9I?\DO3*"Y1']3%<4Y&Z#+L,_F\I3E; @/!F#QKEOUI MD[$S*M]=B*GG+;61EBN7L'2!E1KHVK:TM$RH"S']O&57S^$R.6X.!9X=YWO# M*NVO%JJ(H<^;KKNI57="U8="Q;=-JW5ZT&OX\Z% 8UAK6DB! NC!I@=XWU(CP:P_7XC8 >ZW&R:62QQ WGVL&39]- MBUA,7+(Q5[/Z*H6#?EY8#I I;'H 6?-YV^6[F4%.Y^5&*C^5<:0-2F, M)=NL%R<"PB_5 =[-Z#@4%_P LG0[K2T0JM]GD0K>D^3)I-BF8*\'D%4!,TPB M%%!&D7QIMLSJK#:V8=,#R,KW63Y5G;=6 N])-)X)ADYPJX@4SV ;HZ;9N*/*5T MKL:B_*)2RZ5\V.L!;E7M>G76,L=+P1>U8:&HY'%":0;WHC]K.AQSO.*2"";@ M8E;R&JX@U755) YP*Z_I79V9"6NV0BSR[>P*TV=0#(E#>J!:])T.:J&ZZ8B. MK:Y26G,&3< !;B5-F_=K38EG_1HQ=)%RSB!&L.DA(V!FR+'L>15=DZ8E:M34 M -F!30]P:UBK)M$ZKE#LJIII#?K) 6-9D ('N"64O61-7W:'PBI-DYW2T0D& $Y$8M$ M%#@1ZZ:(,"+635%A!.1$S(C3,>*=MTF_Z;9^W:R#*Y6?92]/6J;P4:W\$VBP M48@7O%'[&FBT\:.N^-KQ1P>J/KYV/):>6'K.+CU7+3S[UQ<^EIW8Z$90;:3> M52&Q*8UX_M]G2E*VC8 $__S"?WU4$/!;ZJH%(3B(^UJ,1Y110%[69IP !O@I M].!#3>7=?V09@-'HXN<+O#9MAN?W"U9.@?\+4."+*L/?<)A^WKRW(<1%(7_* MG1\Q\F/DO\?]_S; OP*?/^L[#K1N"?>78.[%@FDOK$V\#TF^=::8*2% M+P9P#. W%HXBC=^K"92>[,H*_L7PC7$)+O *SE65@S_ S-?FDK'96A7[AE?M M&_Z?[QKG)(A@-^/>EL_$W]H2CMO*.Y(<'@OD6YK7"K8:"O /D?<@OB5'$04^ M)V;EJ9>1N\9<]_/59F72['"MPN)7(BQ)7&Z>8ER1&XGIH)(TR)&)0@'/M]94 M:JEK1G\V25+\RI[!9Q0@:Z9DN/_\0HA?BG>6;BNUM?_^5L"03 MTL-W$562IG>!R#&6$OR/?9 WQLM*CK."A.Q(A@]^)5S()O@4['E;EUGSZLL& M3R4UO=)!F$5&Q).C[D*D@IT1&(W>) GZ[]^/*1%'>+$41S-F^R(AQO"@R#M( M<8K%B=:H=7RIB%9Z0@7/J&!BU)I?+L6+/I*>)(6*@/INBQ!6R'A1SP4[=^A? M_^)DZH9.XZ](<=3#U:?N!2/+X' -$-@;8+95\@]CT MVCV%UKW0N'7@;?- !W3*G,@B'-6HL'"HBYD_%3-.08K";FCL-9T2 M2^!WEL"?((#GL_+'2F!YDFL)3A=M"3.F7>R6VQ:)XBJ40&C5:9JXP;#TR:UZ MM/((L&$PL6V6.HX[KCSN.+47\".CC_.E$+;2UM6\<=9W(0. PP2"]ZJ2 JN. M5*@VO2Q:$/',>K1L$/AP(28#-R%)$C>I.($0"W*<1?C2+,*'!'FDRS7,KJ:R M FT5"!L94;@T8: @!]X&1M_@./F-<@@-!TPE34F Y32X[(T^WRQE10#>88^"):D;P@*_:X9CU3X@K;M2<;9/)!+APUQN!3G/:+G>KRE ME*2:@UMHMV>Q2(-*6@1J=#7 !..!2NDFE<9N, J+E17Q-1TV3*S94C5&U!(W292\(5+4M\IGV%,XOE68QP@J+JLD.$@NR8,O3!A YR7B*+O\EYA+XS::SR;Y<A&>3_83A$+N4#3\@8L&VE85F&(FE.PCJ-PLVUQE)Z2K'A#H0JA@"OTE2\4Z.GRJ1/T$@SV?M/RB1I4G::H[G M6EF0!I).-VHHKDP6P3C#_9KI&R)U>J,?J8S%CCAQ;<.UQRUQ;4.47897E-"X MTT]AJ?Y 0X'@XKRK<\BL64,:L-WILE1HYSK2.$A>DF%F@;S!XB,B8@F. MMU]<8AGB2 G.U$F\!7!CS-+35:4#5O74F HE.,A$8#?)U&N[MZ\Z$;&_X2+> M:'&VZ.:QE!-0RA7;#]9_+J+"SGM^Y<7G>GF5=N9=&@=4&(FVB*XEE[("GVY4 M%K4N726*C(B%1U@2,"PB;K!D7# 1R_I)LQP7G^KE1?W=.G)1<)D[??/QIPO\;H5F,9&7EX^E>9R M O R WPR1W*%V4+$PM/X*!2]0=-$O!S\\\3O)TC?&7.AQXH?5YTH4JZ"RFQ% MLDN<[TTMHA**'PW%+S@,D_JV:[E/K@O8"TYC#_W*/?2XOCS*SL&AH\:K6^E; MO:RK:GI60\?3O"P4&L4LV>^M::FMBEAXIAZ12MXDSWEP[Z4A'8OR-XRAK][1 M^* H#T=(WT%Z,Q_MFEU2-::5;L<+13FH($M2-VGR-5&^PO2!XP/E+"[&CU!" MUZMQ?D0@<\XT0B XU0>Y>5FG6+S(8.O%PPK= QR[H8G7 M3O2*Q? [B^%/D,*SIA..%D.2;L\F::&+"SX^)OW::*("-Q3#<)LZ=9,B3F_: M(Y51R&ES#8JA(QT%(G$\XGY=P+W!OICM+LL%:%4/&4(0LX^61P$D> M"Y73YI2\&PC=.($0RVZ<0/@ZU^)XV>VJ-#U$,N9"+\R\!NVA0W?07P2R&Y9Q M8ZGOE#'85U'Y^UZ(*A:X-92X'1>YEU90T M2UK'=L0DR^&K >IB([WC,B*.;T[%N<&)N(8AEM]X2_O7NQ?'R:]7;W'):=6G MT:S9)5VW2C3'W5!^H6N13-U@WS=E<>@&P;UEBCAU$8<_<>KBC/[%,2G5]DRC MAA-AJ:)XM9?D.P,EG1HV19S87":(IY,W:>*,]P9=&L*QZ,:9BPBZ%L>(;K[K M+$JBM^38%0UHQ)T@B)U5 ]$-KQ3$B-0-2I/?*'%1?92EV!S4;X_N78M=/B.. M?G[&NNN/6'C]DNS#JR=R :)J%/")2J*KY,C*I@KEN>U"#X'<> @H1MQ06%S] M\%.E\"<(X=?D$%Z50@/T)LQ:6B>%F:6T2LU<,]<.TH#DQMBC-'5#8*>_/S@B MF82-_7\@4,)^$PA\X.X0Z$WR6Y5DY, (0%(H"4]:QCLY?EX0]2.BJ//5:&ZE MIV3)M@G:TG(O?7KXAO:NC?4++8Y:ZEF,[4V7@WR>)Q8B3H?^1/H&/^>21RR+ MD9;%GR"*9ZRY?+QUS,OA/K $[[[U$_S][7]JDMK*D_7TBYC\0GKEOG!,! MOMH7GSN.$$+L($"([8M"2$(("0FT(.#7OY*@[>Y6N[OM9A%TW9CQ:=/EHK(R MGZS*K%P>:[C7;!HJ+'%M9;*0S,)XZ=8+W?EJ-HUL&C*^=&!H'@;M#0'^S]T8 MX#/"_\Q=C=Z+?Z/H#5#*%%21;9O=9"?/L/[S;7#/L]RE_D< MBNMNM10(2[]0U.<+.LAISM :X@;:+?:%8O=HE7S)KJ$)"4QD3P!$7F4 DE M +H@H>2J49\O0->KH)4ULR(,CEB'8[.I#%L#.HRA&Q>_R&,HGH>IU]J;WJ"K M),Y6=99+PU]J<87LB%\)0Z)OU&PEOE/\)6A:KNWX6@[&_@;&$GCPO8<(CZOL M!)#\3T9W!D,=/K(16;>/HSD%WU',N6-%%RCOH1.>M@XB\L#].K-OBZ +WD4/ MH'OG[6<1X)N5WQNTDM)M!Y9+)R8^.FZ2C0QV7U,'LA5H'_Y1.XS"9,784. MMXQ8APJ;INQ84D<,2/W+=^@K!+T84?'L@]Q*=G.;^&O^>:\?Y;AMV^G0]/O0 ML,$5PE+HP PK&=/KB4ZR11X3^'/'C<"COKA;T!S&2EUK4H0:+9T-]XBR7TW" MMT3FSRF_C,"\B_1NAV5'[DH-(&*ZZD_@&JRY9>;+=QK*0U#R_^\0EL,&Y)YH MW8*G*05C6SBHW&_5Y#_2#-OVM[UU5X&,,N3@=76R-IO,LPR?'-M7'C[Y\EW_LRX]#(/G/7XZ#0 6ZUT#55;FA M0]VX)4\>Q9$\ :>U0^)YNP^3=9F8R6]P-IZ*@;]!=FY$+U/93UAK!/X7LR].)U.]G." MMO*UY51S#T\'*)0__! +;C*^I"F/?P___#V2ST6;O-*B[=EHUNG,VD_HGLF$ M6PH4^,GR4^\C[9;!.QBS\MB>Z*(D"PN-]3$=HH,E "6>!VP6?=_I_H61=\6DR!; MD:5IJ 7#SBGRRHB#QH S,;/.1)#UEIG3_R> .A%^:C9[0,\C'?.">IGP'$^R MXR+)-6Q[I]9"62^W0@E-J@DC))*G7C3W 1X_ QX_ QS/V,CH3_ XZLR8J:IM M!)&8!%W;\4BEDC8S%..EW)7J6H;006Z !D($W(7L7CC\"\JRA#2I*6Y]#PK9;#45'WV+-!,C1A8/" MR#Q!G?["<44OP\\]R3E)GKWB+%>N-M=LS]AH.2,I4P ,G)M-;[E>R'AV$V%B M7?;7;5U*'N$TR:EE'Z/T4$NDZ7AQ!1%^UI>WD6*+"(^^XZ7:/F'?5)0R9ID\ M/Q46HQ55G0Y""<4.*6XXD2X<=KK,D7N7?: ;B 1[GSX/VL;Z%,I #_LN.2\ MNJ^92,,IPGQ"6(?4'+37F606=0?\L)#=<>M!OB) PB+8C?CA?G M5[6$XC#42UQP/H=*>P)H- *TZ@132[N. OO?<_EHKD#8]575)>H,,;;Z+KVU M0*@I7"2'B%GAIH*B"E.CM0XE-*FZC$;7%30/O_K<#<#\6<&< ;JNC^6+5!YZ M+YCG4Z0D%QUG9R(A:=2@2=EG8R]+4K89S>,8EH=>\+0\NX3\VYWE-(@\N>@H6L15]UE="$W+,4K\,"7;NS@))RYHY.5\)\ M?4MV_+B !S@AY%<4C_W1]/&PO^FAK'OWYW__UF)J?=DY!<2S'_?:@5A[MX'%GD$3#Z%IA MZFJR69!GT==_DZU0WGE'6BGX*TP]J*QO/U03&J^)_HK!_\K]_#'>DQ3;EO*V M\&C;COJL8&DS_]OA7SU\E*BBA\\<+XE ^^9JEAQG8#WCV)'GOK/ZAL"QQGK" M;R+%[+-= M7JW%]VI"3N!Z@QK+"3F6[W7X'M.O\>W__'MZ01WYZCI9OEWBV@)7BM;7%OAF MK11M:2GWIIYZ51\^J8_PTR",IF2CQSM19ZC)DB-"\HFS]M8 MT_+WW6@D]7RD.B@7T7&WWH36FCO8$-8:\1%&0M)SDMLN(A';!BTB^WK!ZDZ] MH37N1B-3<\(+!D7K*]06M3Y1ABVW7UST(OLI/>?>POFJ1$,81#@VV0T@@RI- M]6@D_GRDWW#=65LK%R%^82X5""[URF(\,O7M966X+B]JM187^ M&"^5UJ6'% MWPZG-G15PUMDR+.BV' 0MCX8NJ-N29QY+IXS3=) 5[=^C148DRTY545RV\(>#R4\3=*D M-"I3';)0Y@(OX 4?F8DEG9&(]$A^)EBAPK@"I_FHUFZJKE_O,1*9'CGLU(,R MQK1Z8H'K'O= M'<(1G2*J:BL[F.EA[#!X/G*)8XL>K[8G$+*?#[2*A78LEJ= M=J'K.FK72543 M(:+6"V2-1$MR*XQXE!XJ$?T*8_.;CKFN#LQR&6_T>:P;&TZIH=,N%Y8Z;$,4 M#:Q/SB!W%4RI:%8T/;1DE$HJTJW5140L()-AEUR.ZI%^>$&>AX;&T$)_0)L[ MK3R;-'>M\DZ-9GU!3G:%*:LK(Z)AZ; MV@1^)A7]V-1\W;]<5\(]]NN'@]-H0^%&HBZGR]-#L'XH+Y< MVEN8369-P6_:5OQ-I]@QQ JSA7BO PN5PZQI_#%%O:H$+:@L5J1ZJ\FRLX#N M15KR!2$8E+&9/YV(2U&H&EI["NWVJ!!*R M" )F,X1B1BH(049G4>7J][\%Z M/#2U!?406Z.VYOB0,;5+&YEJ&](J&9K: GKC0J5-&QGS%%%K*RKG44UQ*UBF,R:WH)-ARS"RV%O+C8,#G%46M]X?C3V!8G% M L,E=&%;$]G5,&B2Q0F.EI*A*;K&/JZ7!74F0DA%*_8$93KCB# >FJ)K5[<1 MI5*=L=PRE';[$4(AW4(R:XJN@>3U_%9AA8O\&A[!G7VP,6?)T#1=/M4?>>M> MB'($WBZZ_J!>F0E)<]<47:@VPW:D+NV@);X66G)]T:.%I&];:FBQQY&BKS M MSI"9#<94UVM+TN-N"P]#$\/UA_UW<"]%9H(EKSSMV\,/C^\IL85TM)9B@T Y MF!P/IG1BG,F![SQ\<##-DD^>&'"//%3',= /TXM&ON)48GSY[L/2'AP:AZO1 M^YYL,"2Q"'_M$WMDYSR:WXGFG%E.^'#3>OA[(7;'?3O8NV&T4V^:FD>_0O+% M#T/EJ>=8@:^=VL8QP(@,, +^2E& $5E@!/05 MH0$G,L )H)LRP@B@F[+"".@K#'13%C@176!1P(@,, +^BA. $5E@!/05>C4, M#W "W)L^%R. ;LH*(R+=A -.G(X3OQFB_::_[W)4QR';J:?C"W40>5TMW]8> M*(X5?_A_7_ O[Y$ A/A*OFJY?)AZZH/! _VYJVFY5O2+N9?C;%53KTVN#/KD77+F;2TS::'9RF#F4LS=>F MYQK)SW$$Q;7I/DFZ\R$\ZI,5RRT%KAS/(Y$2?*A7T'<>%2]HRU#-)8/%WEPC MDY&/*B-EP^@?*)V;X*WL.LLX<3"F86CX7\;SM.C_U$/% MN>Q4MK!BE#14DJ[V?]9>,U?E(?>Q3@'PC=?QUE^](4"&0FXQ<&;3(0BAA MAUI+"(7E8>1,9=9B\^3:PGX-D,=O^M>F^T0@AZY3&S03((=?/,EK]LXQ!LS< M$]E@5ZI.C/ZVH5W[))<;B(S'(822N6 31A/^,156R_K7(@QR,\JCJ,FQ=0T=V,HFBC&'$LT(G4>0,^'ZNK$_ES0?[A775WZCSPZN+^)"^"U.E-XLL^(ZGI=;N<[,\$_3 M0N&S.C>S\$QY<@?")_5P7L1GD$"ODR#O!>74Q6?D<%8L4:+ W"'P2?%[$1_ Z_B%U,5T4)0YAI/-E==4K("HU+L1?N/P M !2*SM\SNNBO+<< OR!"(/.V_NOX]1J#%2YO1%W<=?MH51\-<9F/S]_DY1]" M\SATX^_^@F99T3?D<[IF:ZYL)0T2975IV(;GNTG%E)RV7<6]A+S3F?9WKX=> MK\J8<:7S>I'5.](P%['0CPBK'/#%V"KS!%W< 5POM:-W.,6JEF7&E,G"9*_N M>^UY/^[R$!GO%);'( P\%WQ.@+Y>:?3^ 'I>$_R/ 3KOX>$4W0Q:'&_O"EN# M)@ML&$:+CJQS$L^3X)W^;/7Y,@[0U\MMWA% +V)C_S% 98>IEKOEU4J4 Y6I MA+K,5.8Q0"/S&\'(/$V!(_2S(O35HI/WA]#S6M%_C%"6VV%H (DS:-=MM*7! M>M*AX1BAL8$-TU">AEY[H;K!M_-HSKXKV]Z1S;&YG90FU>+"#-Y#.U[@_KO9 MY[V<]NQ1<#S[ USV.=Y=2PDR]FE'5@'$H&]PX(C@.'O!>TG#L?E6P2 MK0KBD*RQPKQ;*VEK1J(.L?K0.6\AGQ -GU<+@-?Z,[L*/J0%++S3Q0=D>6,6 M4&E##ML3:%:*>['&C_E(GH3.5/(#O.5_*KK!H__9'1(?4@/KKM-#2;9B<[Q6 M8^RZ:B\[DS!2 TG) ((\4T3/9[T,?%XM $('SNOT^) 6P/L[K]N8]E@1L4OU MB=S#)AT_-@D2QP>51UZM#70#@045V;!S$4N]B/#$RV%ILJ?% IGS?_H_@+?U M9O.1K^?GN*5$J'@38.043FL@YY](SF\N0?^4OS>%K;\(-)JP#?0[D M_/X2N&/)_NNFC3$A,C,86VT^&!F/WEAC2Z3I>%Y;>RG$FUJ*-<\2[ JW7+:J MJVJ7@0MB&"TT-L0PZ,77F;]O^@7Z>?8VO])B3MEZSK 59ZF!#.Y;?WP"&=PW M]++\ WZU!'VQIGI!30U*3;+>&.DVU.CN;+KLN;B&ZQ(,)='@5!X[5R8HP/%] MX!B\#9_Y;?A].+:6]2TZ0%NX.9R5>X*T#'S$#6,<$U^^$T0>H\Y4+AJ\ M\' MCL'C[ID?=]^'8Y*MR;K2,!Q3YG8=AIU-2IM%@F,Z+JU"Y1$4U'T'0 ;OL]=S M";SS8EU%#BN;T4VS]\Y73;L?,[6?.!_N/$' 9!;>OYP MA8L\^AVAR@:NJ]G*[H5HA:(63:8=&M)%(Z/Y7W!>%)0!BGK01#.#*JD)O4:Q M5@L8"4:2S-+7XA: @ *X':?#B^A ,[[6G@B!:!M$,Q%9K[.-3Q=V/K^"N.; MB0*(GQ,I]$PJ #PF?BJZP:OCV5\=?T\?/%<#CCP.&)Z5BJ90<5UST';G =>- MU0"==(-\M4HMN H /7"[CY:W'[I\HJL ,?.G WQ!]3ED: 8\W96Y7B>Y"B2= MJ-!T<[D/AS%?,6;YT9/F:5T;]X[AVZY\"TI3GS3T.$91V[&=IY$2OR[7I^SW M[KQ;*>"FUB+JC2,>@L;\!(\X8@@Q@F658@H+4)XTD_EU8[A;8+)QS M4$/8&2.$ 3 S#4Q0??J4@;Z_"TQMJ' KO.BN(=:>FZ+; M*-FM97)>)J8R^5H]UCN($ZA%C'(USW]H[ 1B \[T-'CMC/]+)P5?F]Z[#AEX M0.T3Y?98ZQWJ&_S2/]B4?*%+KF34+%".OE!I2>YU(J6'Q;8[ N%Y7Q4>U@NK(-;(Y6O!&Q"X0@\Q1TIJ=2 M .NLPQI$,)S6*W%)6,\W4[+![6!"1+S [@7S]B(8=&-8$Y&U@N0I_(PUU>X> MUK?]T HB($[J5K@DK%T47WD$[13-94@IA<%\QV^&R6D=AT\@6)XX5V33ISBN M;QO7((#BI(Z!2^):FPWAEF".JZ(VU24+0J6%V$Z.ZZ3B&HSF*?2U?*4;C,"( MYNR\X#[(G=AS<&T:P2,K"+VXS]"+H]X[^DR+FJW-C)=T&TT/:GJ-Z*ABP2G8 MXT*_HK9VN@0324$&.D\0KW:3 /@'^ =!%AEU9[P'_XWMWG1(2ZV:NQI,=M=M M3/$'"?Z)+]_I/ 6G/1$@F@*\FX)HBNR[/=X#?W6,3%9KDAES0ZW'$Y5-%Q?8 M;@Q_^LMWE,C#6+J4-#C^ ?Y!W$3VW2/OP;\_,X,EM98L,2+/KT*,O=T["?Z3 M" DDC\*O5F6[M0B)MN8?71G [YK99]+/6$S^SL(D(IR]VL1BW-GQK1E29CF" MJH1C2JYA#3&48#*IRT!%]X[74MH 8@%B003$:5T&;R$66B@=4>%(@Y,7:P&> M5<=+/784DK&C $/ST+F2PT',PIT0"8(;3FOEOX78&LYW2GMDTS;715)C8+6U M[>V0O1& AUW8 M[&]K\Q9789:51L"M;(338X#3,"-%$@^D'SP1@K>2#_[2Q%X M(_W<.O_S2CYX([TPEZ=/Y@RUF/QH698:_9*373OZ^L/[:6*Q?OO/OZ? ,P-2 MOK*4I'G%L^G>>?M)!/C*.8M7-"ONG;>?)2'HNBE\0 ,# ;[IC+;+7_(STLGW M4'^E*'N& NK'GKU^Y)T\R[ZK=NRG?JG]TV!*Y#?>:1^,\X>WV03$+SS,HG6\ M@K>(9I];(EN*6@8!Y^YT"4$.L9/TF0I$ $60+7"<+<(R@[1F3A'\=M#E.11! MTUP,[.G,M4R9"=KP:I6%KR_=;JP(XHXX7XDS9E, 19 =<)PM8C.#M&9. M$?QV$.F;.[?!K1,L(T1 A7R"AQK1E;HSH@^,!E*@%N5\@N3-[_H-? M(UH3ZQ:WK_=8;CUR-D-8IY4REB#ZX$% P1D-$ VR.3/G"/@UHE6Z:L$]<0:; M++R"5MJZ9XE8&"/ZZ H )6Z!#Q0DL8'T32#Y0/)!^B9X =);"!]$^A\(/D@ M?3.SZ9O#Y&^:FI.C9UG$6"0U@G2.F]8@C/AO?U__P,3T#_W^ASQQ\U$CV^NV^G0 M]/O0L,$5PE+HP PK&=-31SK^5C_1![.;.5C=[6 YU5Q^ECS >OQ/H_MI5/;/ M?J,;RS-G3;W7A_@"U]BB-:[:YKH20L0!D#B:1]$SAD!>6]@!R._QY>4:(/_M MX,>+@IQJNQVE5Y^6Q4!!*G:][C8G(R8&.9& ' ;IF/?GDS\ER+/WR'11D/]I M/.1%06Z$=&,^:I*D.:PV^(K7]%MH)XQ!3B<@1T@THI8L_MIS:8?!9 MU,TUO0-'6*6TS@L*9Q2T'+Y)=75SV<9:[16/H#(2F0YDXA_ \BA^)M,!H#7K M:+WRB^>G,?-_ ZWE E=O%E::!1E;24/0&0R9BAZC]6#HD]B96M^!=^"LH_7* MS[N?QE[_#;0.QWW"K1IL%>*)&>K3WI@LEKLQ6NGD;(5)<+9^5K1>]RW[TQC> MOX%6;<$PAC<9A:+0%9!9HR"V]$6"UJ/I39)OFM[_]N6II64&8B>7(T6+^.L^ M79B@:3E&49QE]+6[:&MS;<>/YO>='.O8T=*\R+Z/?O(E _T+_B-3V:^LE\!46SK']>\QL]S'!F M^4*P1QZCPT9BC[;FT9___5^/J?GIY"PHCN6XWQ[RP1_MX'%GD$3YZEIAZFJR M69!GT==_DZU0WGE'6BGX*_RCT,VW'SGE:+PF.G:?Y7[^&.])BFU+>5MXM&U' M55^PM)G_[?"O'CY*M/3#9XYGQ!KFFZM9D1K=:,\X=N2Y[ZR^(7"LS)_PFT@Q M^RR>//0G8_XCY^9NK/;_I^\HSP3^,$G\^!J3B!*O"C@_E]V'G.CY"GVFS[6X=E_@RRS? MZM3:T9_<23?SC7/KU6R73J_6XGLU(2=PO4&-Y80=SA -?]7L7'_N M!%YT-?/^SM+"1%L.U.@2KYYZ51^^'#PH*(54-%2F)!4E* G#T*E$P=I,DHDI M@4&XC*@T=,24_'#/M;GFQJJOMSHW%(UFL2XH>COLQG?TYR,+A2W2#%>;FG12"HU4BAPD,/LYUP!J;6(55>IA,M00M)S3NK!CF:V=A$2A$:9 M8G$U#$(]&IF:L\I7N&6)W90A8324AH)='6PVNH2FYQ1VTS4Y+$"B250F=K5, M%@(5CD?BST>BR]D@E-""8!;"%5TJHNV"JW>CD:EO[S+E"H3YQM!$U(X4TO@& MI>=,-!*&GP_%#%(MC#W?A'8SK-=I5\V0[H02)J6V?CI>LMBHK5C0$)JT1XME M53/L>&1ZFZI:6%T6D*7):FH[+ [V/E.+1Z9(ZAE#IK#HR!I$#.!]>S?KED>- M>&2*I+: -ND.A;CB4&K7X8": M)DE>>C5RJG-;3M"'.+\7F_QTWI6(]$C:10Q1:M3W(E^DCH$DIE>A:((J(\[\3I_;%-R2_YQ MV3P4(8KN)):\\K1O#S\\AGQ\'3M>S>+;AW*XWSS[#RL[?B-\4#+O>Q'&Z:_HJV[_1W>J1_,[T9PS MRPD?=-;#WPNQU^/;X6X=1AOUYK7V:,,D7_PP5)Y&MF-DQ9_Y1GN2R\T3R^2# M#B[R52\>8,3%& &]^HH'&'$A1I!?400P(@., *HI,XP JBD3C "J*2., *HI M,XP JBD3C "J*2., *HI,XP JBD3C "JZ;2,^,WLCS=]?9>C.LX&23W 7"B. M['6M?%M[H#A6_.'_?<&_O$<"8.K<4734!Y_@^G-7TW*MZ!=S+\?9:I(K- 6, MOWO&MPW[5;X#70=$_D]$_FG/$'BUS26!B9=H&?)12 C:RM?BL-9#O!,*Y1\" MGX!"!-+Q/ND :C.#P*!26_ :HP]L3?^94@,_(("\!8%?44X=RM#=+BCBO*!; M48] "LXH!0B0 B %0!< *4CK@C^[$EV[,%!;\W.&K3A+[63R?&V2KI%$"F6@ M6N,I.F(>7.EW4MTI;H+)*BN_J RMC1F4F]W&HCO@>Y7PFK56(L35$L U'<][ M(7]452U]YJS*EDGL,1<*3!%KJG%X-?KE.T;E80P[1[(W@"Z [AU ][R%5]Z" M[J+<(72OMIQQRZW7#08.1S?&3 1=(H(NFH>PLS25!] %T+UEZ%ZD"LM;T-VU M_:I1M\PI9U@;!'=F<'OAQ="EOWRGJ#Q&$0"Z +H NE2$;>*O\9+!^W/-C?LDKEQMKMF>L=&.-GL^ M9T?VNS/+^?+VVRTXI+*C?.ZH:*)%[5R+@RI+)5YKS/K">3?4\US@\IZ)UCJ_")N]4^,#BI0FDAM*Q M?25XI07:!FB;"]]M+O(,?/F[C8&Z!K:>2@['M\L,I^E>J.JQ@10_+*-YZH5N MV'_?U,,R^\*3,O "_Y9R?()X-$*\Z@1Q5=^KJ,(3!K1LOG&:!:<15I>/H<")/0F>,#@>(!HB^#T2?UPOS>X@V ME_7YRMS7<:A298I=K5RQ,3>N*$]$EPPJ3U,(0#1 -$#T-9T;OX=HUBY9&N18 M Y%P:(4,^2[DU.-N$H=8$YZ*7Y*)#@?=AY3R_- M3-;.S>2BCDW]5$(F87BJ22I.XA*&D;)$H?14FN(T@FDR@4X5XLOWBW0=_>.6 MGD*?9QM5OEGB>@+7%6O]\4E7#%I['EM[/M[GF#$P^4_NL-\9HN1)@\]\CMLJ M6J3KDI[LN>BC7$=SCW]CEM%)XW^2)J!OK2JE3_Z@\N%1IOLR,84JE$&+=G$,$0LF'DH\'THJK>*,@'N:V; 1FBA/^5G39EYJ%4IB7:.E M-ZP%AY3V/4Y#---$XI&IE1(=;VJ5F*EDKM&B,NY5N"8R"^,&H*E^E5Y?[XVK M=%N'6$7"Q,&ZQBFCN*MHFBAL75L02S+L0-K8K[<1IS$W=W&KTC11X\FJ-0F' MPSI7J>_6W$ZPC5:G^U*ST,J^IF)"T2-$!!YOB") />;Q/ARZF18):=[N$6!B,FTBM%$)>4B,GO5-^D2>7)"]1$-$F MX#[=,&F2CON:IG=JB^O#57G?*T"-6;,RGHL,S?GA2]U*B_A>K9==M 85Q"*' M&#/)[*'=:&1JIT3<;L&62'7-"H[A..?CK=DRGC.U4V6BAF6*4 MQ/L*09?U-B>TYL76QDB_ M-5W/MN)RR)6=;;-%,0W]I5ZQ@;!?=+I]CC<-'^ICK9:[D\P7>\7*^XH;[/$A MS+'3<&0XG36[*+[8*[;9*GKUBD?O1$'R,6OBVAUWH#_N%?L3I)VP4&'F&LPM M"]/-D*:)8;_%2%2:I'$P@Y0)V:YR,D+4D98^TPFE&XU,+92Q;9?2FJ,=QZY+ MU?:R9_:-?CPR_?7"=D-.E@N4-%E[;SN5SJ1*%<-X:&KSD7I_;LI-KV8BR'R[ M)?SR+%82='JEHBAO9HLMTX."'2;4JC8[GI;U:&1JI:5@L.S2ZZ7)&4:3];;E ML=J.&$J_U'NX7L:5>I=80/*<-4JA5U& MA<,(>.FE>AN'Z;9\I\RQWJ!=UOQ9M]I/AJ8$9ER5I7):Q0B92JB'#S,1P(0PM?,_'0-%VSY2ABT&HFB]IV%BCC&0L1!3T9 MFR+,&-/+YJ+8(2&ANB5;;:%9[.ZB>>$T84&UY345<]0V"_C$$&=+Q5BS83PT M19A+NB-T0 P:9F,TABNA7BP/S636%&'^<#%OF5-K;%8P5^^8FVT#=O5X: H# MS&Q8[QJ(J'!K4=14@W*W@=6-AZ;I&LD[HZ:5QTV1;S9KI/ M$6TZ%@E!7'KM1D!T-H99"N.A:5V]A7@5[; #B!AHW*ZS)%?\(!F:4M:C88O6"0S'QT+2VKA;:"(7SU%YD.6BW&AK8,CZ!X)XQX?]6!7W'DS8>ZBVS$P[1LM.BI:T335#5K MH\6$Q%/*ME=(S_L[&W=6/0ZVZ.W'+;!'0(P^_B $MNBMIQJP0P!G'WS> /OS MYL,#V"* LH^;G6"+WG2C@RUZT\%]5UOT\5[SD25"HF?=KX\VDV<4)5@&5IP" M_[2G/-#%0!=?<8O>/\WJO ,=<^T]N(R7Z[=3?*^] M+4 TLN&YNO(>7,0U!@^_#M_-H.?'#H&S=T^7\ZB#(P.W[ MRGMP&5?'[:G'#'@W,J0>L^^^2#HS -UX+NZCY]V0CW*_[_C/3T9@30/!/PH^ M]L>"3W_%4R5Q+]I2YZ/ 8)WETK$/A1 %WU%,H"(_I?W0D0VU8-B ^V?A/O7U MO"[JCW*_I_FR89_P80?7I.4>S/"^QD*3M=&CZ M?6C8X IA*71@AI6,:?=IOSS&D_B91/QH>7GL;"?]Z)QV $OL?G+LN'43LS6\ M'Z,.CQ.)5Z*E+:>:*[FE"EVA1]L:I&WY+>JTK:;;?])@K]8N_T:'O8.Q5_.\ M0%-_M-2#?K34HQ9%%4%'>TCDS9U6\\A6NV8I$S],H,PL MN$KOS S0?8INF4E8X9T@_KWM,2\/]]_JI_G8OWE8R0MM-+L+2V,THT*+B#!J MM@J\K\()YO$OWPD ]9-F\UZ;Z%/@_)!T"X#^&T#_&:P:/SO7[*./Y0CZO3DR MI\)H*W#K*=G;#S%N3LS/#'IOXC2[V\)R(2[;YF+ \O7.H!+W2J*^?$<(.@^A M,(#^J0-KKTWW:7IBQ^&Q /V_@?Z'8(,'C]H1]EASITBZK5;-RF0UF]N\R\ZH M,\-^,+;4T#8K.C0<[H9!'9H.&I7XK(\[&E$4G"<0ZCRXC[U_UY;_:^">O,Y9 M>893/ZY6F2WK,+*ZC%&0[6:UOL0N,E M/48LF2 6H_,X^MK1G?5(I@?^Y6 D^8*VYN>,1&'F;N%YZ?R^]$PA+ F60TY" MW96#)N\UZ_QDXG?I;'$@?#=>1/!DDG>9ZGY ].XJG_QDTG?Q//"+WVM+@2O' M\\0=S0\WVWYD"I[6R85CH[Y0\[0YUS#G\A!571T7]3^^*W=<9V;X3M>8NR#RK8XL MX,#).@=O^<"Y3%V_#!\X;1FJN62PV)MK9#+R466D;)@SG17#61$A.4COB$NR MM,:U,K;F,"8^*\AWG!4W&-WXW+]2=EPM6FA."5Q7LY5=SG=EV[,2_N1D=1%X M?GSF>_F(-"/=]O-->GN[;B.DZI7R#:*3/1/=GB5TZJ4/W_:%,0:U;A;P-O3-9C<6[ M14$S=I7N']OMO_JVV)(_6JWLT6CMQS;K8>\86^W_M&"9'P9L6_/Y65_>OA8. M5=(VXU<.OT M&<\GO72D,R+'>V0S9.'QD#-,:,3;:JC'O*B MHTU/?N6]D!HM=.8JO_%9DQ/Z$[]5A#S7(T*)BE.C83P/D6=Z7/X,0 'A<1FU MDS^#\-VJY&4P/"[3]NRK.;@%WRXT>74[-/DRJB!"9X;6%G]NP_[BE!G(5J"E M#YF?5\N*P/#-=H]NFLM)EZT'V)J=T'ITR%!?OF,D#4Z83Q@7DL% Q%.[8N]> M^D#PW*V+*5"2F5:2('CNM%ZU/[W -%8"Z4XU7C&)3DT;C&0"1:OQ!2:)JWOU M!G,'076L8T=+]F)N.[-<3_-\UU!\3.%>\\+]1!$_._SL&U-+$S0E&NH;+WKGQHUHE[SUT#0) MV*^Q@XJF-6M,M /(E^]4GB#.Z)S[A"@#,8[9U2T@# S$.-Y)C&/V8V2RXE-\ MSY'YR_=L1]MY5J&_A:!=@<7WYP\ B7'.?OH-.]I$1%>Q')!&HAUN2CU-<70[F26Y-+UP%2J9 M_2"LP=X<$H9-39WC=J'88B08BMU;:!XGSE3P_C.HB!L.& %1=;[4VV34&%=F,X63;$A13H\?4G=@6]=?^Y@YB\ MDK$Q(FBK7LPT*]I;-??7_[XN18=_DLC0,00+T[SIWA^&1=/@IH3ER2VW*OQ> M"-;;HO1[(52/@K1^D!A)12(^I2.ESP.EVK+K2D$=JK)TOZEP\F9;1TT*K855 MYLMWZ"N4;O>86VGN(5+Q?EY]+]#E^(K=O*]_H%^;OQD*B+NV')S1MY=!:H'4 M9R!.[MI"<$ZG8@;)!3*?C??_:\O!.;UD&20W6V$!66R5\<,H>&0HL+(W?\%& M[#47];$[[2N0T=BI#")6)7T?V8APTCD#S4<0.E,0* B2RQ2J,N'LS."^@$,6 M'++G]K)FD-QL';(G]L7^QOGHX,Z.T(JCP)2)0FU;'#?A52U,SD?R'>=CU@/J MXCFG3^8,M9C=T;(L-?IE4;;B H#YG*"M_.2N$^"17'8-N5Q323K?C^,T8]_ M^9Y^'@.@?[^K^-K0.#GBCS[A:]-UNY!_/?2T9RV',X895"$9:FINL3D(QHT/ MYMJ\!?\U12]'_MR=FL9P/K?"FFP4Q>3P3W*AD3P%I8M[ R7P6V;]M?%R]WYF&GY0U-;E?2%X4^ M&N*+37+^QZYP&B'R.'&F,JR?)F3WZD@YPTT@<5Q?FZX+^^L^>/B_N[_0VNO! M595K4-RPI[2ZD&Y;9N'$%X%?9]*:,U^9]$C+7,XAW!0GG$T@>J(0L.A*$*D# M\HP%4NY>']SGC>#HT;\V75FZ$8@5I-S;X]36-*SQ>D'BPLY9A^<]S$.4&8K5 M#=$5#0XWG#7NSQSE@-VD4P],$]&%_LWXYW_[H+)3V ENID*[0M7]CQT55-@E-#^1W=6*GZ;F\V(+;>VY8-9T&&$B*1ST=" MS9[3H-I[!B)&4>2:]-]!2*V:+,48NL^S>H2&KN4GXYDNN1BQ0V=L.T-?CX>FR ^JBUG3TA:\62@M1V9 M=]3N*I2(-/DSDMM:#=>4Q():I."M+HYL*QZ98E1K)6Y+PGZU%PV8W>P42J_9 M1C<:B3\?N5_-X+K>FG+0<$)BQII3;#A@HI%42OBP-J+I'KT0U\41$E"-FE7K MZM%(.+7[M=80Z4Z6:YMC#=$+Z6@< L<=(U,DD3[I#ZW>@N"T]7PS;:"S]B+: M?3)-4J^ZIJI!K5@REQ[/2S.*H%TEC$:F25)&1ZI=.E6A** MKEL1C=ZR,<:D3F43[2G]TDJ5&08I/(J+0MNNMO9JLS+MA7'R56JIAM7-.E5U#ME?*;K$8MNZ3O/GSK<3;X<+\\4;B,:FQ>F-^)YIQ93OAP.WWX M>R$VX[Y-74TV"V&T"?^L'"]YI/CF:G&ST(WV;,ZC>9=\\<-0>>HY5N!KSP@] MM\W^:&#TR_=:\!$M/_X\J\L",.)2C'BK]!?@!(#$9V/$ZZ74 ",NQ(@WZL(! M/@#-],D8 ;B0 2Z\5300, +HI<_&B-?K5@%&7(@1;U4J!(RX&")>#]$"C+@8 M(UZO_ @8<;%;T^O5*0$CP*WILS$"W)HRP8BW2I<"1OP>(]Z?Q/XKCEPEKSVU M$0_3LM&BIZX135/5K(T6$Q)/*=M>(3WO[VS<34?]WL(67::OS6WO$1"C#/;6 MN;4MND@+GYO>(8"SS+41NK7]N4RWHIO>(H"R+#:9N+4MNDS#GYO>HFOG(%]T MBQ3'BC_\OR_(ES^W1$CTK/M%K=[.PGJMR@"NC@3?86RL$6W M4/OQ96=AK'O^-*OS#G3,M??@XMV;WY?B>^UM :*1#<_5E??@TMVE 3@N+A@? MOY_37\]K\'WX=OZC_-T]7>B_OH>3?DH]SO._[SDQ%8TT#PCX*/_;'@TU_Q5-&YB_96^2@P#I72#VTK MDCIH0$5^2OLA+II=,&S _;-PG_IZ7A?U1[G_4#3Y9.P'M^/;NAT_*9@+E, G MO24_+H2:=!XD_P%WYLS#@$IMP6L\/ESUTG^>"O0O]2V[J1OQH:77K>C ,S'_ MX]J.//0;O5TY8)9.8/M #DYA^-RP&!S[" $Y.(4)=,-R\-!/YE9,I&?TIFKV M(U^Q)S7[?Q(?\=IQO_W/+/E?^M+TY3MT!O$XFD@W+""'-B- 3YS&2KIA03BT MD#B%X73U;NWOZN1SI>G)Q/=G&%$0I.>[,B' MN[K:$\31&'IIFT.S*6'=84EK\/K9VCG;%77326JT'1UE8^THW[%!RZ M.<,(EJ?H,W5TRP("KM;@^6^>OT=;X#H!\[.0.DGZQYLV-2<]9;0(Q8*-5KC**M M+#\\<^_69A611JP^X"!^+@R"=K-*[*$8]7'O9@+-DR0,L'_RYHUW /]C V< M_X_W;)Z[=8\.S#(I-@AT70Z+\+#J,N?%?7>XKDYK_8IE&AB\6FL,9EOK&/=Q MCR,*(_,$=2;@Q_[ :P/@:EV<[P#XQ[[-F0+^/V?KU/SG1_V[6S472+A5\%J& MPLF%F>VB71W7A1/#_Y>MFOLJ0:D5R-UR\MC;U(R@O5^QW5@/))V:"00Z8Z?F M:\,!G/\?;M><*35P^?._NC ZK4$@5Z'&2&P@15U;6*TS7]D;,*V-F=JZ!?$; MJ40V)N7*;IH/XZI3]%Z?S.]0S MA; D?@XY"757CJ.\UT3TDXG?I1/(@?#=>%W!DTG>90K^ =&[JQ3SDTG?Q5/# M+WZO+06N',\CP5)RL46EOB/1$@H=_G(2+U?1&%N,6" $DZ_1+;WO]J:"$_[Q M5;GC.C/#;SJ>]\(56:;8PZTXO6=?.! M+NC)NG,BWVK2 @Z[\5E!ON.LN,& Q^?NE;+C:M%"E? G)ZN+P//C,]_+YVS-SSFSG"]O@0OXWJ,B3WW\86^W_-&>9 M']9L6_/Y65_>ON 0L&NE^E+JK513*.U(%MGH/=K0)3()B<)1$ X-CED0/)5Y MG]_%U$58;PN;V<+NF06T/^<;.QKNU+JQNB#?4!>W%H<5YXO&J="Q#] [5@^Z MQ<>(NX['.GTV\TFO#^E;GOS*>R'K.>SM:J7:3(=,PL=J1D?KB-RUW)>9DM%,V[JOINM6>UA%0D=B1T38.K6$X29$ M?2"@Z1?GUD"V BU];/V\?^)JL:MLL?8=,A5$G#)&A"D/ M6YOFNH?B:FDLV-!>S_F>8 MWL'%DPL-?S[7+#7F3ARZ=T*OW>=SW-](\!YP K[F!/R)(GYV^-DWII8F:$HT MU#=>= Y2-E.HFG2)X=;]_9Q'V! I19J'CIV#,('D"0K40P2QDR!V$H@WB)V\ MH=C)?\Y0..@^79#O.31_666(-F!31/W>E-/X97^ [YK%5I^)-B7Q41)$NEH) M*#($HFI \"H(7@7!J[<6O INAT!_WT]4Y!4NB!?TM7[H4E?UF=:VJ&R*$++: M-\-PLUJZ]3 BY.",?>-6=VO!C\DV%J:RI\7=?Y8KS?82)H+GG]N-E00O>""* M#T3QW1D#[Y]"$,6771?:SY01K^_\XIN35ZCD)L$^NDCTM(@(+V*YH+D;0]$. MU[2>ICBZG"@ D((J:.EJ9:Y0;_%BN:2;'AQ(,Q=XU*D_C.(@ O)V8 M%1 !""( 000@B "\0PY^"FT*0@5/Z[ZZPH4*EHN=)L4-!(CO#-EZT^XQ8MB- M+U1)2< W;E1W$&98,C9&! _5BYEF17NKYO[ZW]>EZ/!/$ADZ1I5AFC?=^\.P M:!K56A=^+*GM;E'XO*NQ1W-D/$B.I2,2G=*3T>>Q76W9=:4Q#FER< M+Y>BL6PVQSM[50HIYLMWZ"N<=G+F5II["+Z\GT?L"_2$OF(G].N?_-?F;X8B M_*XM!UGP/V9P6P \,A A>&TAN+H)^(L(PFOO"P!'-@(DKBT'F?#D97!?LA5@ MD<5V)C_LD4,[IDSE#+69WM"Q+C7Y9E*VX2&,^)V@K M/[FK'$0?A?*''Y"DDMWT1H, 3NZ)?():-$*MZ@132\L";"^1V'UH:7VZ3.Z: MVI)-8K+#H>6@:-GR1NSI3/<#F=P)*8?XY1?RLE484;=E9XJ+Q&Y4(\KR1%/I M,&[1C<355_,HCN0)& 81,!]STUX;)$]VX13MZP]NUFN3=?U>]I<$_N^G+1ZX.@DOS9=MZL'?N40I[>%H&UH M#9'M!.X>V\Z05?/,Y_^X9O9-;L+/S>5:JS4TS!ROY\GM/W&%(T0>)\Y4E^G3 MA!5?'2EGN DDCNMKTW5A?]T'#_]WMWU:>SVXJG(-BAOVE%87TFW++)SX(O#+ MG.1ZP1NY>'V,B$01-_:=VF:X=[N)0L"B*T&D#L@SEIJY>WUPGS>"HT?_VG1E MZ48@5I!R;X]36].PQNL%B0L[9_W!PE)O'>95>-0:E$1&%P-WPV+[8('W*.!T2]3COAW(O+DHJ-$JEMSP;K!NL&Z MP;K!NL&ZP;H_^[H1L'"P<+!PL'"P<+!PL'"P\#>\A*JQ^?Z?Z(^'>15+D]W8 MC3;_1S6\E27OOB5.EN-2'GQF"/D5Q6.?2?31_/"U*/05B3]Z"+F#_A6O^='4 M3^8K*)IE_?-:M.7##&?>6P1[E!1_V&CBT=8\^O.__^LQ-3^C@@N*8SGNMP?? MX:,=/.X,DK@1=:TP=379+,BSZ.N_R58H[[R'9PKX*_S#+_GMA_\1C==$?\7@ M?^5^_ACO28IM2WE;>+1M1Z=EP=)F_K?#OWKX*/$W/GSF>,DS_S=7B[N@;[1G M'#ORW'=6WQ X=DL^X3>18O99BA6@/QGS'SDW=V,?YO_T'>5%0,0_?[-C7Z7U M!!/'C[Y\[\?"%[=,8F.7J.U[/] @/YWO@:DX@2KPHV#4]V'G.3]>VNC+*(W7 MXH<[O5J+[]6$G,#U!C66$W(LW^OP/:9?X]L_XH:OOTZ6;Y>XML"5HO6U!;Y9 M*S']Z"]"/_I/BVOWA1Q?CO[&LXTJWRQQ/2')]"#_R7%=L=8?Y_Z*F6W8@:;^ MG2&J_JK9N?[<"3S95KU\CMLJ6B3I21!L+OHHU]'H934$[>):09I: 81-(2HJ&RA,T44IK.9I@T(V<$@BBP-L7P+P=-(3^\ M9!"JV&&5[J+($9[66-6G$HPS3)PH@3X?VN[7.OLVNZV*6JEH]J:'NH1( MY/.1JZI9=HIFT#-986CPG;VWVU?#:&1Z4BMT\'"TJ\-0@$Q1UH9F&[75C8<2 MSX>ZNUE'\,R9#.WF!<%3^Y-= VH;3VZ#X712!AZ/E2'\,H<:M<,46N@):\HSR%I$D^: M)HKAV@58&X<549CA0P]"V^,1DLR:(FIH%X9SP60UD16X+;]N&U6!#24L392' M%$9()91[(@'-.[MQ;RQ0B2'4""4M>JN%Q?RWPR:VJG]B1*K\GFQ#:U%BI#7GNTVEHQ^7!*4JM8NZYB M18XR-8ER M:[;5XA#3)_K%>,[TIC::S>6Z0&D&U^C"=<79[)2UD@Q-[92("8:V6^_+)L^L M,8HL3FJ*'-.4)M_6W#6Z*D(NUX"7R_[4'A0\DY&(-/DNNU]0(]&IGBZ-57/A%F[RU6FMCX?,*,.SL8C4WR:H%NSUV61MLF3G$NU&]&Q MY8;12"J%?1R:K45\/X,J.B5U"_J@JAGQ2#BU^U8G+&PAM=^ &IK**:$EHUXQ ME,@T23M=K1KPN##A>&Y2J4QF==V6)O"1FNX*]&03";8/'( M%$EEEU,Z%*50T+#$5%QX;'>G/!.-3)$T*X@KC=]UA]P:)K>%'F/.T%Z\SCC( MZ^G00EO N\V@4C2)>4=>^=[(@^MQ@] 42<2D-I^3O9"'HJWB;)OVE2)\%9+1X^;CJ:^/M+-/E0WJX0HCY#9&D4[0GN<#$UM M?L?8LL:X$0PY%J/ZE+OFQ-8\KIZ?6NEV8/&^O]NBXGK;'(W&JE]TH+AY4FJE M_2#8R@,=04RDWFP[HK+D*XMX9'JE2QKR1QL5Z7-#2D :9,^,SL2XG^$+*R7M MXHX/"YS)NN.=Q=>KO:6?U)=-+;5&%CUHN")M<[T9S;&%U,'WC:1R6DI0H)K3 MPEP>;T :SK#-/6%LYY'L1T-39(VF75WF)D&!(SJXMY\M6YK73!:0IFM?7\VJ ME?68YK1-LS!3^^-J0"?3I@ES1N)6QY@Q;,JE6H^'%) X?AM.$=5=8(P@$ MI<:QM;GKBS[F?=^\(K<,L]#YW1Z#B/,]5 M7PB$%!$$97#Z]6\F:$W:5=U=#JB\\LJU6N'8O=FJE("W.:VM M=]GZ/*>KUJ1"+0)XQ-YL9X\5VWTD,NONU+&\7AJ.5J M)7&NC9,;OJE3@]KN!L7;H=6-H4RZ"J6*NJ!V9X,JMV#!#FW]SE97ZZ5T&JIK M(\\,\P7*?1KJE>4.AO5V;"GU6";7&[>(L]6D[_EJ#W(YI!BUORX@Y>8#9F/: MW7FSF")EMUV7UP(:NO?4M=_T9MY:;8G]X2:O/*Y9M_NT1$/W3 MM.,7V(F]R M."OI>+?8=%EU%@S=MRV5# _RF;$V%^NYG+M2.YR;]((9[!L7!K? 1&2LIJ$_ M9=+.8XF1>#)8V+-U";(>S\F#$( $8TQ3GKG@^^Z'U[XP"J^WH3:*)I4P7GT; MVK\"*&T#>WPO*/>[ESNW>_)Q$6ZWN8 M!UG"3?@T!;'--P4OW@V5AZYM^AXXXP)L2Y"/%9>Y.8 M$K%(W!LA/FX7$Q/B3(3XI*5-3(=8,]T9(6(J1( *G[4QB@D1ZZ5[(\3'#3)B M0IR)$)^U1(H)<3:)^/B>=4R(LQ'BXQ93,2'.YC5]W 8K)D2LFNZ-$'ALK*- MB,]:G\6$^#U"_'HEVI]1Y"+%:?H5C.OGB\$>_/IP:H_NXPAN=X>AA$4@@CD,BZ\!^=) M5ER?>HQ \!DA]1C]!$30GN.J4@]_+A.7(#]U6B?JJ^3OV-Y[TQB'T_?N%3PS M/OW'C,\_,'O-7\[:X_RK@A%V+ TK]@7]2&+_\2X#"-2\,JE;,?5/0GWNX;0Y MZJ]2?]>\\*H-ZZZ*"V(W^8AL\+HCV;8P;.PT1]X8*V2 C MS_2]Y%',!W\6 UTQ'^P:NU^+=_QNO7O-<\D'^DTKCY?%;_LYC(+_[3M-WW[@ M)V"/;8QTQ0P2]ON^4O;X-'9ZRQ0!#YPP1KIB-@@[.1\C;'KIF_/]7XH" -SW M\T92'RTS+9NRI8 $5O(M$!H-"D^$/Y X21[57EYZ)W9&\6C1T?G7?1X6G%$%VH@JF0^!(F6;FZ9'0"4O,)]N$/=1RUJ IO&[%7JSE?J<7 M>["4HNOZ0'WNPHX_=V%OB%RQG&X &2>3;@&79[7V'*"6#.2W'PR5('$^0;/$ M!TW8KUP SH_K#J&)EU[WOX\%,+P1B>^VLU)&F7EII6\N##]7:98GS5Z]E5]> M6MR3U.](^ZL\9SB39YFGGF4^6]%=I4FEZD9_E,Q5%T,GK7%(YIF@[UTLZD>\ MF7OI11]#SL,+M+&@_X:@O\!6T?EST=KF6K9"SS(YN]0DW3Z>7QAB3UW@4A3ACM48:HY00YI9:1T'/??I LF:!X.A;]8T-L+[WN8TA_")2- MI?\WI'^'.MAEUK9B;T\\IYX;>ST\F:F4EX.A*J_8YFG%WFX)I,F:+1>Y3FN33_7T+N4Y>QE2>P^JCR9"SWOV/U7RZ# M![#L-^"3,(NZ505EA*BA4^?FGV]I?MSK7QBMU\OEGF94/I3/)/V'WM] MQA\^^4&C1/K;#R[%W(D:>//8S^\UG_%"^Z6WZ1A:([RU?N=:HSN #VT]3LIB M\I%7"2&3GQ<([;32/5_I:8)KE?#N=$ _YMJKVGS(![U-4]]^$ F<(A,IGOM MQJ..@-K1#PO:/'_[40,>I@@MDL/\G^?"&XX]TKV*[;H'?&1ETC(L(KD9X],T M.6EN&C6SW%Y"QQTEPV@J@=/XZ8+@FY?DCSO&1%F2/VNR?(J/C:^=1CEL:.<.R1T)%" YU_W56 &8_:^ >3;^1=]'3BYF+EO M ]MU_G5?!Q+LV)'S_=$Y&ABF2^COZ"&>$$?_%>6T[J]CGD;.=.*OAN.1D5F8 MR8DZIWKE[)]CGG[V-A3);Z/6S#9H[:"8-=P[P5([+Q&L\!S UH!7'W7DU3?, MA5^$4SF0#!C6AL-T@1*FQKK%=E9/[0:>G0IH%^EO/^@$SNS#*_Z.U="5@Z(N MU?CC[M70D=-\YU<7Y8TV\E4WUS+6;6O4WV1G[6ESB5:;^@5U<6UP+'3#%-V; M1CE =UMHZ!K/P&\:E77\Z\]']27VKT>J1T+MZ'1 ML\/+T'#FD!@-N*FV&EZ2AIL>_,D]<$]:4JH4SBRG-MZOC-E.TU6F7$V3.'1/ MFN 3+'7".](W;N]B[%M4P]][8+YKY;P(8M\B':9^>"%7P&O"HI9EN]VVVB4> MQZ#0TH4O7LC=MS(]V?3!OI%Y\1B;]-SOSM94$9@SE#2,B-08FOC_V8&T#,96P+3ME%U+9'6 NXGJ,K'E"Q8#LQ1/@7M%R8 M:<&6NC<> U-%M$$(NB,FS^XO?WXE&+HX%_=1+NY%BNJC\&=/'YJ@#10XU-,/ MYNCXA9S#K7F]T",(QN@C8**26OP5F_G3T^HL_O0X:P^663PC)-F1-U_V9W@3;@H'C2>^7QOP M.,B6.]4M,8 T,NHE!I#& -);!I#>&7]'-Z<:J6V*@8PWF97]D@>8MUD#SF%C MBVW/>9H0:ER"U!OG^D,6&Y POA$_7K!C3'R M*>JPNPLEZV(NO5X"WOX*8R!?=+-M+Q<^W([]DS<'YU6!)Y%YY4BT %R$"TG> M!LY"5T#HI+6 8FM6\)3 7SMT>$YG^/R\HG+X&J^6S:>A"QYS2XG @T1<(L7$ M,, K@@%>*L<6*75R.XBM6\4+7BI5%K/IG27!;IRK8P3B<7-=%_"_-DMI(="L M8G6G.=73%#+-5LN!_Q4V4OC8 ;L!_&+#=Y0QW,X GHC29/%![VU!$7\G!7[C MZ,,6F&VY_0 $\0#"D,G;Y?% H\J&ONREH7(@ H@AR2=(?+\>:(R4 MB$&&,<@P9N\89!B##*\C[?F1;?R9WUPA\F/0HZK-;GG6T+S&(\<:L\ TH@;# M"9:,#6,,(8PAA#< L8HAA#&$\);Y.[K9TTAM4PPAO-JTZI_X=YUR>S <9A^3 MHFY1SI-J,(,Y&_AW*"_ZJ8-W;0#!K+[0(4^K+MIC4W: BOWU[X^)'GXE(/DV M;48#=[CQ^LNTH8M#UG3EJE-H_U[:['/*_U[:ZU5B[7F)D/!!QBN[7>G[Q%=- M=API6^!+94-T);RNX>+B2=6+&R!\^X$_X.P>X;$9<,*[[COQ&R%N;:IJ]B_\.!_MVO=[P-60ER>PJ=AWS /&3/O[3+OY M9\EU9;%6C4J!UB2"#+H/4PF"/]4E^[O!3%Y:7DYER8*48'1U00REO$@R\":9 M?9OPBRZS7W_V[S=LUE";C;0QP6M&F9PM>&WVB!=ZSBIL?SUO MQ9V"XJ[:_M $49#WC*>6%JV(M0$B: 0*I*!6H(@$@2>BHLOG@$7>7%1 M>K,Q_SXA%/+B*[WD-8SS:XS?/V <0XL)'#>\8F8;+D17! MGX"G0&TPWW[LGRG%VN+(,-.+"]#15<5/D:477^KUZHJ/@:>/W'@PE]I& <_[ MGDYRHTP_IWX1F/"9WN!%QQ0RS4FCR\KI6CHC<'G'TI#>0$A3EDAP1*P]S@$U MO;A4'5V!_!1=>O&E7J\"^4DBGI<'XZ5ML$N\/]R4!$-=%5K:B3T.4JYZ4Z.4 M$KI^*M,9:(\MH5M=(LV!4O 3(RM-#DS/0L/6L>V?7X::W$GO3X."[E^))1;R_F M0J/R6"7JS4"3T$%BE-N_)7ZCO> C?$(206$\NM[Y*4+ZXDN-DLO2H>8ZU5A1 M=6/:(/O^8%0HUM(G]C; >)X$J6ZGV@4C;Z@):?ZI4@YU1%!) F>Y!([O-X%_ M=W[R'T^&5#L!412H?('SF62'7T6@Z+W3D%\4Y:N=N!Q04I*'')T:#1F)4GE. MHGD5!IHCFI-&;(JC5&HXE-4AG,!_Y-TW(.UMGG%M/M7JB!G*::J=$1B.9I#V MD/KOAXZ[C^LDWN!Q(_/8[I3=1O'QJ2A(I)1Z/]*MEQO$]+$E=J'O[' SU2^X M=!..W']HIC#+):U.O8CK)EF<]9:E7&$:#&7?#_4J=F:43==;.,L,J72%+:Y* M>4T*DO=O1^8-02\LQ)I@^$NA;I2YRG#=%>#(O9F2;G]8I$JJ"D=F5+O6%,T% MB482^/NAM?%"*I@-O-8EV2%=E)A1HYUKHJ%[BTJR/;L\+RX?#3:OMW*>US"F M&333_445URF\G&^"M)CIU(DYF0QG]]2-K;7"_I_OHF7O+]^8S)I?7JG4\#W)5=V*:Y'0L MP)'[RU\DQX/*6'QZ%*=N2U7DAM>F9^CUQ-Y,Q]-YVQ6**U%L-YN-UDIP4E0: MO7]_IU9/'?#($J,G?+W6G%8UEWJ"1@,-9?9(Q;+J9M ZO22SU[7!VV\:Y>;/ V-\B-5\82 MCMS;U**1T>HS66AVU^64PZZZG270T,B]39W0UN-HL,CJ8E[,EZG4T,AGQQQ-=%*YZA"-W*-3>2.R]I/R5!#;J3;3J13(U>2I"4=R[T?2 M\Q63I-EQ%D_VA^-YTZV9KH-&$GN[+_>:N:R:G1J&S*6'E7';DKLE04KM+\EN M5H<.Q](;<=Y,-OLKC2-7E 9'[BTI[90S+%=)=7'PV.B4FM7'0KN 1NXMJ5)9 M97UOP4R-:=7D4T5QM1Q[Z.U[2]+'H_*LEK=,L4_R\PHUG5>>Q":"2Q![KQ]N MZE9>HFI=.;LLJY.RQ3&0];G])1G"JE7AE[9L@,Q<82ARJNA-U*9R;Z)^'A0K M5&YN=,E)=YY.9?LE3A500\N]US^!H5](.PM/S*>T>7*@)TW/0:_?W_Q14O8W M=.ZQ(R8;NFX8NM4Q5DOHM.S-=+UVFD^]),$8Y47!D.A.8:$IJ#+[WDR+*> 0 MXWRF:\AY+564R:8Q6@4UW/=FNK%H([2KGD MW#2[\\=^3P*YO&CT@Z%[RQHPR<>ASX)5E^Q7-\VL4/:7:C,HRK6WKBR?8H2G M25K$VSF+[JXV66D.^0^-W5N87DK-+#%=SN* GC[Q3^-&CRYKZ%+;WL+2ZUDK MV^T6G_ D)-*8V=!=/A<,W9NMI8]PV4L/&]!"M$LRWF)8W0E0,WM/K6X,;P#: MU-J8VS-FY6Y\L<0$H-"][9IGQ94S:$H9?)JNY?L^7]U,E&#HW@245O*I(GMT M5]2?!A-ZWI=2HYZ ANY)5F.U+)7'OC[ ,T(EEQ,&@*S)RP#AL[=;["Q=7T]] MHMHEJX_K1BWM" P1'-CMLP'3%0?=]F.UF\D-!I7,.)WBA"#3MO?4]HR9>GTY M4^GFQ\;"U&=+9;$*TOE[)D#=S+(>9ZE= VB;+KXH5!;4*O2H]VV 4Q"(DEII MBFN1S4^R7-TO<\%C]XV .JCW'H=9MVCD)=;2RFG@%Z1@8<]6('#"=_[E-K12 M;-.49R[XOOOAM<\*XYM_QJ'/.957R2 XL9XCK:0)8X+7H5Y1JOKBP/-M^,R1:2]W[O'N]R0*/+\/'2 ;R27^8V^@Q>O!LJ#UW;]#WP;J%GR5.$ ^$??S4- =?R_.]) MKV3$A#@7(3YK71%3(A:)>R/$QZU 8D*4#$ASD2(S_I4Q83X/4+\>J&#GU'D[ 5/OPCC??7]1S$;??5 *-ZB\W26O^H=BN4LVMWMKV!_/CMXB+E_%Y=-3Y: MP;X[8I'3I !OHNS!>=K 1X$/HM[6Y^?I/J0]_O1BZ UX;)?>@_/DJ?[LTG#, M&I?=@PCDGBZ\!V=)+L7"<4G&^+J'S3^$] M.$^RXOK48P2"SPBIQ^@G((("9U>5>OASF;@$^:G3.E%?)7_']MZ;QCBO MX)GQZ3]F?/Z!N6Q?O*\*1EB>/NP[$E1:B_W'NPP@4,'QI&[%U#\)];F'T^:H MOTK]7=WHJW*0KH?\T7>/WY3^O2HNB-WD([+!ZUJK05_)U#^QTQQY8\CM;<%' M- Y]O?U_CR7UV\YSU^L2AQW8KL43.A'QOZ[M4F$+E^OE V%J^Y87\\$Q(I\K M9H-M$Z:8#XX1 UTQ'^QZZER+=_QNO7MM <@'^DU;@)?%0UK;SO=_C8+_[3M- MWW[@)V"/;8QTQ0P2=DRY4O;X-'9ZRQ0!#YPP1KIB-@A[5!PC;+IXZYE?:LZ= M!B-S=!2A2!6LD07VZU^U3IF$(CFTJ+ M&2I;%J=)6U\XIVO.75!3K?:Z,>T8;#Y)5O2\TB0MU#9AVYN;IQ,,Q\3],L_0 MF_NLZSYEZ^UK%/G?ZQQU5GD_?NLI;59(&G,PEL7UTS)3]*R\_.@UH=#'G;7/ MT5G[Z@3]IXVS8TG_P\;8;+[@68JD%+O3(4T4QY/Z(Y];GE;J[5JJFVF:.UWH[W- M9K27[6I]=8+_TZ;5L> ?H4-U=9R2*TQ3FG?S*3 G@BW>::=5AE/JJU,;/^TY?5=JPV.G71PL M5]GN/*EM-EE'HWOXB4T]/S!FCU*1H/'RM%SR7)+V!M- O%/??O \GL"9CW)Y M48=*[V70K^"N_+?RY? 1B//,KJ+@S-OM5[ M[4=COW/?1X^9[\H+#1Z-\\Y3 3!FO9NZL7XT[CO[3?.S>[59WY'1/C+47)BS+10=+-FG1?]96DS[5F66R;_/!?><.R1[E5LUSW@( ]R M!0(L"BD3SV2L)-U-+QI:59#8(!?&$PF&Q$\7 M^\)'_<62;*DOQ9,Y8KMR,1 MN-L6R6S+=3+K>>H'1MCLI(NR65K,5VL1#--]O5^J;K3YB2S&9,SDNA*P2MW^ MP!LER91H$'(368S4+UB,*T11OD^RY&P'P(EBBN\XP%+6F.= 834#^F"R.O%= M#UE^-X%9P,/L$>;)J_C8^-:1E,>.!&HS9^P:@;^=?]'4 MY6+FO@ULU_G7?1U(L&-'SO='YVA F"ZAOZ,'>$(<_5>4T[J_CGB:9]BB9'5R M%JYGYX.G@=4O\*T_AT3\[&THDM]&K9EMT-I!,6NX=X*E=EXB6.$Y@*T!KS[J MR*MOF N_"*=R(!E0'%8\LY_AVX8^FGJ4,V/LW&(II0+X%)7@.&(O%_!WK(:N M'!)UJ08A=Z^&CISF.[^ZT#.*49S56$*<\JD*-=4,HN$TD;I(_8*ZN#8T%KIC MBNY7HQR@NRU(=(UGX#>-RCK^#>BC^A+[]R--6D[Y1'54[";'KEM/5WK,;+#\ MPGUH].SP.C2<.21& VZJK8;7I.&F!W]R#]R4YM-]82%1I:Q83\]73;Y0I?FV M)G'HIC1+)G#B1)CC>S;'X MF@*/V0I-E;/M@W,B\>8[ZZ(9H%H45WRSFY:@_SO=$3+4 C MPWW[021HEHYM3(PSC(*DWPXZ*<;&Q=BX&!L78^-NQ"DZ FLO8%IRRB^AMC[ 6<#U'5SR@8L&&8HCT M+XBY,-N"+75O/ :FBJB#4'1'3*#=7P[]2G!T<3[NHWS A(J'(A(IG(_+',4PQAC&&+-W M#&.\'AAC]&$P4+P%O?X4QHB^Z&;>7FQ]NQ_[)FX-#J\"3R+QR)%H +L*% M)&\#9Z$K('336D"Q-2MX2N"Q'?##5N.^IAJ;],B8]S)N>;DN,GI>D @<)>.8 M1(H^8;^.&Y>T"Z !+Y5EBY0ZN1W@UJW"!B^5+(O9],[28#?.U3$0\;C9K@OX M7^ZH6B68IFCAT_&$,4:9<7HU6R+_"R7"/G/ ;@#$V/ =90RW,\ HHC19?-1[ M6WC$WTF"WS@$L05F6VX_@$,\ #."$&B!SZ*D87WAFZ,&;\J.=;([5-,>SP:A.Q M?^(1#JL<5=TT2\#(5)6AUA57TA!E4HEM)O43E_#:((59?:%#GE9=M,>F[ 5 M^^O?'Q,]_$I \FVBC0;N<./UEVE#%X>LZILIKL.))JFH[:&A=6W7RG7LK03XNF.6A^^X$_$/LI=&P&G/!* M_/&B@NLL9K'+&=N."IQD./H[,5MAKFWJ*O8O//C?;6>";MQ&;;.:%Z;P:=@W MS%S&S'N[S'MY\IZ&<[=YR9AU;Y=UPZ3937+O-C$67>Z-?(K]/)V*GWWH5WYU M1G;'!P(H-3=J24-[W.@FYW8YK7=6QA"EU,FP<7&"X4YU,?]N4):7EI=36;(@ M5QA=71"#+R^2#+Q)9M\F_*++[->?_?L-F[7HDH^!*]=$1T95C?@!LFEZ9XIJH MLVG"D:?)LO %=&6PE+!.P0$<)6>J1&N$=VOBW,Z84Y-:=PI+J"4HA*-DJ 1! M$ D"3\4E&\^ I+RX*+W9F'^?$#QY\95>\N+&^37&[Q\PCJ'%!(X;SN2 Z)@=I@OOU@8VUQ:F#JQ07HZ*KBIUC4BR_U>G7%QU#5 M1VX\F$MMHX#G?4\GN5&FGU._"%7]3&_D?+^X()LSQI"-37E:-#?UM2X@O<%] M^T&R1((C8NUQ#G#JQ:7JZ KDIWC4BR_U>A7(3Q+QO#P8+VV#7>+]X:8D&.JJ MT-).['&4M64M-5"G )<;BYR=]9FBYRV1YD I> [G$Q1[HLKRD4,Y7A;>>W%Y M.H'O\1-$[\67>N9DYA?=C5_N1,]7F&Z:&BI/1H86FIR9GJ5GS2.['C^MKR@/ MJ-5\]L1.\$Q!U5@R/5+-<:A)@C;R!+??2O9&V\A'^(0D@L)X=+WS4X3TQ9<: M)9>E0\UUJK&BZL:T0?;]P:A0K*5/[&VP.8?"J_IF*0+6M"9=V:X13!"GA$58 M<99+X/BG]2?^X\F0:B<@B@*5+W ^D^SPJP@4O7<:\HNB?-&)1WW>;0 P:/.@ ME9.M-11!K&9[\/F>C65L"TX-E;2%/P7'G\@H8CG=DBU%ETWLV:"Z1YSNEQW& MB$SC/ZJ^^/%?^,_N>XH)9 =IT_$_JN[.3'G]/1"L[:MV>I),/5 ,F@#\:!SR M#(4_D.BCW2D6_C]H3J\>_>9Y2068YC\?'7/NGG!B_B+I5[<:PHU,O=J:5__^ MW__S>C4OIB2IV*;M?-_9BU<[N-T9,C =&D@.'2 ;27D$7_]=-I?RVMUYQ<0# M\7R>__W9YE!H3OP#3?P/]O(CVI,]LDWE5?+5MFT-5=($(^][^*W=1X&-V7UF MNT'2ZKL#H"L)/<=W%-O2W+-GWTD"F:(W]&;WB'V2VR;4"V'^*V-C!]FM?W5L MY: R0S]#*P'MD_E&H6T_^O:C@Y@/5?G)(#,8*(6M-,AOG[JO8QMIBJU?,B&TL4V\UZBVA4ZS7GD$&X79GA'8A5ZGW MVQ)+4S1)'W5GO[*(3+V6%6MM,0LG7VO7*\6LT(&_M#OP/U6QUFEC]1R&9H^A MZ0>K^NAQ[>=U7WYI?Q4MK#.V?1C?J.[?49I8UY)]%48,ZKEG=5CJV%^7NJWR MX(:XPBFD(O&J"I4'H\C2< @=>3G%J"F6(Q2HO[8L+C^G]Q9YQ^EF2KA%8'5^KW,4B+W1YKBH##UBH R@#H8 M+CO"DEDU-8G:'UF0G4EN:CJ&Z*>\C%*@\1Q'+*7@-//M2'OA#/JSI# 1\UDY MGV.6CTE -25:PM^/S)=YT)^)2'6%=V. 9]Y'@ MGYXJ[9HB2.S^V^>58G64[W2[>'G>[-O91;*%+S4IM3^R+F<*7'I@6Z(\$=#E?JK;2 M>-MGZT&1O[VA!;&1DOPTH^+S::G3RI?:$B,&]9BI]T/]>K$E+RL]K3MO/@W5 M62;9KTM-=.%U[ZFC[+PH39L3K>MGE.RPTTO/LUX D]L;JE2MV:*6U9ANIKS8 MZ'.;Z)NI)@H*]X:V6#DY+95XVV"YII.=/E7,X)SK )\,>I/-7!DO2P801:X@ M/PYD%8=//< HHV%F[M5G*Q5/]GW/$A;IM67!IQZ@:J.P$JMU>EX3YVK1\Q>- M57,LP'T]0-9NBNNL2N6I8F3L4J/_Z'%XB8 [<("N&S<[XS?IR4RL-UJS=J6& M3PH!:64U(M6ON4T?,4PTRS>=&9AZI&'J#;WXJ)4' M\*D'J 4JZ1$GSH:ZD6DTA8E4]58F5#_D 6I5VS,CRV@>+?J=X8+9E(>\,89# M#U&KNV'5@=W,Q>E+O]MM4<4G1!F-?@OAX@ MK&&F/=;)Y^@\/ANYM5MGI>$XM M6VX8>B6?2C_6QED6&8L#/. NELOQ:#*U<-V2B E9F#C= ES6 1X85F@:'S6* M4 NRJJ?88WJD/#4EZ@ //,T4JOU83Y:Z*T.15\P8':I0J7=8!=C(ZPHJ5'0Z\E*B#_! SQA4F2+?8D02UX&V,'BH%30T=,]H/X$:VS7-.M_U[6JQ MYC]E6W(]&+JSVD'RX3F&#W._,-0SY9D+ON]^>.W-(9]L&_&BH$X)P\9=.B0( ML&7?LW9OQ4[?U?*OFOG *?EJM?%U[ ,,H].'_?F.^_0H'D$QP^'G" MU7-?/">HZ1; JO#SL8N)E@I4[.W5U9CE8Y;_$Y:_X/W]KXK$S^YUQX(1><'@ M]K;@(T*'9-W_=^_R_K,(D)^)P$\],>*!N6QYFJ]*!8F3U)&J&MPU&]"7K5AV M!#8@CZ$(+PU@1^5.,!35N-C(L:>8/0.H HNE80B#NX#!"G"_'XW7+[W:2]S[ MH>[SJF28#HQV[B#9=#N,'W4'_WV]^AKP,#VX'H==@X\6"9;] M)%$=T0M?GQXY7?_MK??U\*C7]? HJ6BM;;TGC-UNQE]G"T]Z9U4&VA]?YFHX M]DCW*K;K'KC$I1DC?KFL;KIB9C(PV_,GC9F/?/XYZ8\Z/.3^.>J,?]6;!#)I$/?!6,.CE8/+4 MAM/=!!_$?GAD_?"CUI2.@^$C!L.O)0K^; +T@V"IPBO!.N"G/PF&96>X:A*? ME[VUGJV*LYJ#+@"B,)E(T,Q^G?A8/.]"/.-8^9BM&_Y,.K.CR2)7="=45]9' MK16=(II.'DDGC*)9/D'1GQ8ANNXH.BC7E!RB5K<8*K4#+#=T&< *_0QBS__* M/?]C^Q/1\NAOS,4(NDFDD3!F7LGB0:="?Q2T>;EFR(Q7S,J/&YLE4:T Y%0D M>(8YG4]Q:8:.!?D&(_,;^M@^P$F/OZ#"7SX]CG+F*?"Z'2FY?7!$@=9QQR,6_BXVFZB MB7[[0?()%C]->>98**,OE)=-2)Q#)D]K]O]8)LV!V-TT2;:!ZT^3MIS?>%.? MU^!$H1M I!(\M]\A[L][248Q#?'&-T#^@ F@]X2FB'F.#/TGY:C'%I?VY>\U MAHD/X'\2[1RO*W3,X'>V[@A&\]=OR9']%BRULK-"G176J>3GUI/>0U5T82FG,83^%';0E\\IN]:#H#SV@ 5T[8F7$<7YX#K M89!> '.7\BR.'B(;/5S,(-^X=CIM[/\B=2\11Q9NPR(H-G,(+)RTES-RTO%[ M8H9C:9$;=C8=04,5>RG4DPG'B3CHC\4VS@ZHTJ#NK+=9E!A?M)Y(<0"88^X9W!.^3[^Y7W MR.5$;@SA\&OBWEGE*TMB42.ZF=):FUJ;IUH>#\0='6PDN-3^N<;UYD(R8]G2 MX+-T"Y-=%WAN>)"ARP&_'[5LSJW+[YU$5)=/A%SJ'N"MT_9.&/CB*8$S7^>+ M1G",VI?"%Z#>N#ZZ_>X !>@+U.0D]I6OW%>^;;3^]6?>BY;BH#/!+ C_6[1: MS\)W*(-'U++\>LK5TT8FV^R82DEDDGX3-:I#\2[')#AB'ZI_O,S[I=DY%N,; MC&2O/Q/_NU*LU)N=PHI46N)ZW+3:0T72>^P223$*8TDRP;$G .A=SK- ?;+1 M,K9Q;.SU1];KCR'YD78.=H+4U[UQQG/-"^.8O_.Z*9;/-^:[G"^T:[8H\[ M U#* TI#HHGL/\TEYF\I M'1'Z'J9M:4D/.-,X*Q'UR.<>#]/OP]M B)]?=3A:FT$QU9VW-SB9ZS]R6:TQ MI/&E1 25#UEJO\Q +-&Q1$6SC;&_\34D MT &:CT]]5'7L!G(@SX"+F;R.T18W$!W%-Q%N]N1E)ZN-4%0_4FMS9KE.X7:- M[K)20QDULH %V:9$!,44*3K!':BF&$,T8MF_A13*S3LY^WI@[]RUI?$#M[ < MXF6N#K)L :\S0PV)/_)J*"J1HCY*C%Y;,N49V_'J8D(<>$4V\+HA@,?-9T@. M'2E7ME*V/J!Y=+O7RM=[1:);UP2+8U-:R>6AXQ&48B1P-H'39)PDN4]9C0$? MYP!\O);.G\8'A8P^3$G66C?JF9)L:+FRZZH"$E/D(. )BKUY\,>N96)8EO$G MUQL3J-=B'!==>5P48T*NP >9.?KT4$9W)Z=!W;HPH8NJV+W(Z$=ZSL;K1DOB M#1*O$P:U,5INC10T..^P1A1!G+!1U:6Y/I;V&TQN7*\7\Q7Y?B_6_0&?;'%L MKF.4DW)J*J7K@[05B#5T7SC^!"6D+GI"X_A C7,;=QY&WE,=X!24_A)ES:HX]0)#.T'14XR?#[ MWXG9"G-M4U>Q?^'!_ZY7F?TDKW'I]49) 5X8G?JQ(N0&5K:C;M2V2/;F):^> M6D[P 52$817*.,\1:X?CYT$NO=R;S)/\H3[X:0KTT75FRA*TBV(_G\,[O:I3 M6QN!8@@1KA_WQKN:; G!!2^H 0\+ZFK[J/LWZM[Q?,Z#%K>(\R>_K^=N5:D% M+L]]J[#3NC10&#-0%AN.O=!5H*;772B4KU*^PK-$?J3 \/0XDQ1GEMEXB]PV81#=]1Q@A+:8^PV;9-> "H M!+LVX;%;?A<'HW'5S2\&S@UYC<3%[=B" F7' 8VM.#5,V?($2Q5W$G7 G::I MGF@O%R4'23(Q,,'M?:Y)_6DT) 0DFC'-33((]!7 Q&F"%G8?@V' *ZC;B=>'^(%\AKKQY M$PY_?,OBFCR,K23FH""VH1S61[^CR9QV4Q(V6GJ-3_6IU:&K>5(#2XD,ZF[2 MJ023VB_6%\MW+-_1C=-O#$WY-?'F+;-,XH\@8[2)3:J&;VK9 0)5!K4X"3Y! M4K?4X_* 4Q+< D6@"\2DF.?(EALN,[@/BGP6!YBR!U0,A'U"8TA!=..GN'(G M4F=HD01Y#/4=\^G-+/+2"8$;L;K!U49D9M'%Q9W9Z+Q8C1KP=D:FN#OE?7,T M_MX B_5JDI\YW!QO%YU19M6UM-Z3)I%!54J:3W#<\0UPI!(%P>'X3-95M/F8 MC'(MKHZ6Z3Y;X #EAPRU S?4T15DC(6#))'-NUVKO^H($AF4R.03 MU(%3DEBCQ!KE7)B%2^_+?1WC?*Q#WJN.4@&O5ULJD12!VJEGIS*52J>62'4@ M]RS%)6B*N^E+%8>PBG%D&4.NXTL5%[M4<3BP_*GWXY;:Y58C8_HBNWKJI])] MIF3FH0H+ZG223((E]PL$QR"16,3C6Q47NU7QFQ(N5]8M&S35G,$ZF7Z]-K?5 M=4-#$HZ<%(Y)X,2'.+ KS"(=N%4QTBW94N);%;=U%!VES,^5@LMCSH\Y_VK1 M&O=TJR)M.XZ]A"]TH1<#G2[, 0O;7 25JU'.(C@+<8"JQ["RZ903V<665=D9V5>*'&"9:8# M"0XO77#X"5IR1>76A>ZZOFPIP770EUK6*AAZ6!P6138LNJ&:$?&%B?MFOSC8 M/E&P7=QJ=F@ H5[O0+6>A5K]@/VC1LW5(U$KJ=WD*,4 D,]LG :T?T$50!I& MWE9'-NI^:P1C/SWVT^-0^URA]L=Z:F;TVBDGVS&[Y7:[9V1HB2!R4$_1 M*-)FV03.?%BL-!;@NQ?@.- ^;:#]L?RVYIFLM9S@;3%O#"2.:.4XZTE#\HNJ M,*42*>9#Y.OMQ-F*/9W:2)9MQ8BCG,A&.3%TX*:@ R_Q4":0OS82OT/PW:DD MM5KIAB[61=F>5GKEX5.O*5%!%4>6^R@4BD4X%N$XHW&&C,;'$CQIR@7S^3&<%=TCH M^V7P.!UPLOO]]1$R0SN#G4%&Z!#>+S4WYLMB7C!\*U/L><;4*G'0U0[*';() M]@#:[XH3 ED=W2JT5#>LKQ2'#9$-&V[H>/WZ3PA>J92= 'WL_E=Z1"[?R EM M(V_ZCMA7LSD%"!*5"NL+,1P97["_4V&,NS A^0GL]DY MVVF!V=8/X$%6PN9Z3KWA@X M<0APM36V+F>+[[L:U_D.[U\IL4!8<[OJ4K]6DJM)9N26OI8T7*=[)DDQ2MEY M$B0J*+K')'!VOZI[G!*X7GT0U]R[(O?D>%*N<&MST]PDJ2[ JV(N_=ANS9PF MDG)TD2'!TQ]*^54G&]Z5"_YK6R_X;]0..JAEB W7!TORQ6':C5=6/\,%B$NO M]Z:]H)_4)/U-U>@_EGA!V51 !JQ!-X7*0@U@WWU4SA MQH"2OZ4GWJL'=;7*5/EN^E&<O(]\)GB M: 24H'T56"ECV=( !JD#L/#GX.8G\IP2H?\$YKZ^@'N$[H0>Z'05AX:1/2V. M+VU<_:6-4%3K(W$KJ"THIW4+*3?T?_%%-%O/4AFTC;'4MQ^\&EFT%--'-,GJ M[LQV93,/S=0,?@/^CA:J6SY0ZS,0+O.0ADQ2E73QL3?JB\E)JX6O,M"QV _6 M<"[D"0I(73JF"G)-H2.E7\1WNO0&1"BHO-J@,7IXENM/&'U))3;@?MDP;%0< MU$TY"\+_/BO*U\HW5,@?*<510=4Z/6YLBV76$&BJ+TH" Y5B4!J3)Q,T'1?L MB/5## 4150T"9]OI@[9E_1LQFXB]8#J@9 )ECC!>=U912'S MRUX1)GO8$,!O6NAXSAYAWAA@LV"WXT RQB%$'VYT\AR4X$KUD420J!M H!<+ M$[U1[?ER 2\/NF4RK8&)66U>1B\>T&Z+U:KGX=F%9O0G\Z'.-)Z*_%23:"KL M\\DE>#XN)1++^A5BCLXMZH3DL=,N#I:K;'>>U#:;K*/1/5R(C*BOVN5B+CFL M%+O^8&TM\;P/@QZ?Q:BZ]#Q$*\][J# KJ M#-7VAR:XC$+\]QDQ1Q=8Z^45Y$L&J9LGVU?*D0\H!_G MZ;*H\XLI,'35=YM=8EW4[:5$!X5;"99-,*<\/XL51'2$YA0*(J)+C8Y^(*4. M-=>IQHJJ&],&V?<'HT*QEHZ._R3TG'&'6Y M@QR#D@"D#%]>:$@_H 8L%)7 MR4]KMOW'DR%U(R/ 1^X=<-Y.K T )BB*/86O7:.\4V!8,)IL89"D/!%C[K>5$]2<4V;>?[3K^\VL'MSI"!JM% M:^!_LY4>T)WMDF\JK MY*MMVRJVI E&WO?P6[N/ IVT^\QV=213WQU@RIZ^ .\HMJ6Y9\^^DP1276_H MS>X1^R37'*@7POQ7QL8.TG/_ZMC*._D,'X)^AMH"ZC,S?.PRG.SVHV\_.HCY M4$2206HS$(.M\,IOG[6;JM:Q8:XM9 M.+]:NUXI9H4._*7=@?^IBK5.&ZOGL(S0+F"Y2KW?QO[*[$ @K1^K+3(@<.F<3+[(@E%%I2&$65: "]2$XEX#]#@ALI-!@! ME?D6:DIYY\+U:3]2,T5 YYGO1P[))%D4ZSD*[QO-QXY M4S-56TKD_LBTUB1FKC$>&;(J:]6U72.);!..W'O[O.6VAW[?X@S0XO(I>E:T MM(X@41+^?J2^&J0MWN%-KS8L U2%Z2./)FD*4J0Z/VWI[,KUGHJ/\F&[G=2:1'@S;4C M2,SSR, G>G8MPA &6B!3GKG@^^Z'UW1'QG=KB)&M44)KMO/2 KLO^YZ]^R"T M^L$G;WR#5U'0=@S^;-53J0>.#^RZY^RFMGTE$;+:'T=O+/^ 4Y<\K'@U$/[Q M+,$Y]<#P=[9D\H$X T ^4DLF\(<4>6=KIAXN>O!X&<;F[FS)W -[I>KK-X_9 M(F2;T.7^/W6+?XW:$;-,QU@P]);0A__[C?GV*XM'F:S+(FRX+X8?-=T"6!5^ M/G8QT4(E']I@YH'I$#AATH+"$[OLQ3"6BV@[<=S>%GQ$^I"L^_^^)?1KH2 _ M$XJ?.C9D$ UREUWVD\W(4ET;K4L6-W5\O;B6N 46P M!@YU0G7P4C[+T,O>]<=D][.^ISV>V/6G@U#ZAV5TZML@H7O133^]6HFG';E4ZS=)<=W/JGB[6RE,3$T* +=L@B5/TP'IP@< =Y'R MOZ$D_SUY%0>$][W,#M:9UF-1VZ3%_$25DQ5!?53-IA2 8,D$0^]W7+C!W$4% MW2=7,=EU@>=B]M"3=2NH9/Q2M@_Y(!9\NAT6YK$TS$1?.D8EXSB_<5_KCK,A MIW=<6FAY]5'7!0(2ZOI6I(O6KE@$*O:^$^5 _"NZ'%+^@)(LKOV^^U1HTUV9 M23/]7$GJ57--B0EN$G%$@B*Y.'5R8ZF32_D_=ZX63NL2'5(.C] GSQ_:$_1S/7ZK4 T%RL]<1VIUC+8T(MB^6* M-:&6"7[+=(J]8J7;795;O@YHTL.^'IFO6YGS%3S$,0YK?'M2CZI>F*[ZE5S>'):KLX/0IQ5 MH?XX>*JNZ:YO2+7>J#,T-$(X!'$NY&:9M=;U^SC;9K6B6&6,?JYY".*\&.!S MXW'HIT19YM2LN5E+^:)V".*<5KDA!_)T7YSJMIAG*_VL6%J^@CA'$8[,X5_# M(H>89OS\Q: NC=RC'LA[0Z02#_R]05+Y!_K>(*DQ8]_#DB%C1P2=>F+@<81L MTR4!EE&1Z4M@D=D'@KQJ=-V9L,BQJ)Q#5**+0B4>:/JJY>2H6.1[9@/VVMG@ MC\'(KQ7AI3.U61WU'D,X(!4HINR@DSQ+Q2S;P]; "R%$1V/U2R_V$G6]^ @< M0QP#R1A&J7>68#]QU;YGX6O(:Y2WR_B. Q618*DUVU+"7PZDSE/Y-2'GQ]U. MMSYZ*M*4_#1G?2'$(E,)R,"G.4^+)?CJ)?C^CLA.7%?O#R78>U(6-C6OTV)^ M4N]J=7YM=T9"B$BF$@3_*2#Y'L^^CE<[[Z9V[>OZ,:XDN%])D(\K">Z>&M \ MKB3X'"$?LY+@]G";'(V4X1#@D@)X4J(5@I)D8IB25)YF58X&8*BDM@>\EX<9 M_%KMP7!EM7I';'?JSV4 7U%,_[\_3B^'SE_-G\))*L= @KYK/"][O@/JH]>-4@//="CIM#JTQXU9 M5YRK@VF5L=MKHP(? * /.X./\!P?G"BT^U LH:L7:E\";1=!_A.N 6GQM._J M%G#=([.""1^ZLW-1\O<"%M61P[NUOY^==03V4/<@5RO[#/GM1]W19$O?!'P0 MB+[]S!6[R7]$&6Q+#PQM?\/1I[:CNU@;. M=@>O*V,[,#A^'P<]M"^R:BD!# MB9P1;.;8*(:"*@G^P9T!Y+![ZX#I@^ '#G%W3WNY0#"5=UDB> ?T#V , 1*8 M Z#CJ@1!1 (;R4,HF"];!BQ( 0#)]7JR,#"1,>@:P*7I(QU.;RB[P8L5WX4N M+EJQ-X;>HS;&;-_YU<#7!1J:@S2SM,5HPL['^'3J.9NB.ZJ,5LTCP\:+M=R; M8#CI @4%Q$OHI+K VM,K/CHNK(]: -(\GWKZM"EFBX7U\ML/;VGOQ;_8=MWN W9)6=H='41(XB&'C^4%E"?;TES$ M)8@)=RR&A"B2.6'NFH>6$"FP'/L94QF*) #/YJ+X$# M^5]7H5@ >9K88_(P"M>1E* _N4CP(-_,9,<+J!0(.90T-V $-($WHHCX_3?D M) &% 6H(..Q9>%^K!WL6K/ !$S#T.B0\<,2;=R!'9OMR=?NPJNQZR,D)AV"" MYH P18#]A2A)XO]4VT+P$_'/WPEL.=:5&].* =1E?>0\L3WD5#5B(P#X@>62@42S@J9%Y$G>?!V!B:I;D/ M^1CI9_0DTU:"A\@>1E(XCM4>L)P.3&1M(,FA,6C[T/A@!(_C"2R+Z /YM0-6 MLHNE&!(G'J!U,J%[\DS7@'4L&ST3AHG 6>HNFHF+^2B#M34)MN^A.4-!4%ZG MM$;/*2WW.:65P+;\NK.^6Z9]_ARM/1.FS=[_:0G>?P)WX_U'_NZ)B FWG^G> M\X=0C02VS XV>;CUQA*O_(A@FU^F[@ 7"HZ["S!C997'423&= 1G4W:$MNM?K_:>1I[R\F;5*SVAO&G.BPJ[YC!/6X F43 M/K\J&W!%NXW(U+/5YTVPP[6_>/V[;5N^N".0E]'C$?-#'>S J3H&0):\CEX* MGP:GI/FF[$#%[8"%#I9N\(67<.2M@H,?!QP( X? F5&WLX#:'%V#?G9E[UZ? M(>IO3\E^PG>H33DX+#+/(A%*S;ZHO/T] MY8YPDX.$A ]]01?.2H%KA%Z?%TS102U3H3LX\=7P"UO%@D(>])(7]1:JC6=* M3>7U3B&\"@*48!YP(3YJNH92&\[SJ(FM(R6Y&XMF^9(R@*HX"#MF)GCU=:A( M;<@Z4/=.$KH^BHK@)&4E8('=YVBW9J%61Q^\_>Z+W@2K&3JX=9$5@IN+Y/.8 M7/SUL]$WF=B3)V;3LJN[]5$#>LAPZX+G"9;:AC8V8&C+0^??/NJ0I#5@3*! MRL-(PTM#:AG/*=Q1H=5JD*F")!^,D-(R(4,*7 MW/JIP=X@;GR].W'.]X^B@J!FGAXD'K; B4^CS.VBL$\@Q &I$%4"ST[__?<$ MZ@XIUL"E#L&H2*5-PZL)X.W5!(R"03<2L& @"A'"9-@0 )0B00FI,/Z7H> X M:N"1!>YKRS=W!PIX$B<07[4"'P]Q5?B'=G*PL\!M +V4T/G877;'!"70^P1/ MT4'T#@49S>T!$]Q *[XH655W%=-VH;_K[O)(2]LWP^ 61DF>'J0$5']F(JL5 MNCNOOA1([G-5'>2X");EPUT+W0IDB7+0;CPOIYR .VN&7F<.#!WH\*^WLL1M M[W!L/?]@+MNGAR[M]ESM-^@4I+]"LD!_?$L5(K&-(5^H84]UST/[$R7]?AZG M!.HM1" ,TJ8)C6E ^V$0/JG;T&KB6Z]B*T2(*32;06U&:$(_(??#&UE[(99N MA7'P]NS%WQV:/F#A=[=AH3W3K:VG].+$A/'H[IEOGA3ZY"YR$C!9G4 /9)LV M13RCNV%*=H2%< NT!.C@!T[%R]B_81P$71L7,N8S'XUDZ,S.7NGVG?!]N+"' M'28CHKKV#_V,&)-U )-%X#$H*P9EG0^41;$\H'D@ :"J$HT/24EF:5H:4HK, M\R3),)8^RSA:JO?Y&%$G(U7ZZ,\VT2\M#%4?$V61LDG2]AO<'0ZTF<6ZJ M;VB'*HY8?%&G1N.1WZVK2J&CKCM\R5D>JCBR?B)&"ZG96N# '673U=%FXA/: MH8HCPZI.Y 9SAL?[/0DGJG0WYQK-0Q5'U(4Q+B4))BWJ;67&D9*Z:;:$0TT5 MF496W10W1$.<6TFQ^-3GZ.*T^:I5XO/(:S[*=&N6W7=E&M7_V MWIXB!&7>9;(\GC9C%'.IFAO8#M"DCM(@?IRH=ILOE;MRAO!6]::"L@F#[:@;,MX+V/4DVL\XXJ].E-OM>T5#)IE!6(^G1-J+4F1^N128O??OGXT"ZGJ8%+JZA6+HN83>UB7-3AR[^W> M#,_8!IO/XF3--^FT][A1-0&.W+T=VKAM#+KU)#Z*5W=QZ&]$K6A&)P[045UM M&)&C_XAS7U_()E)5+8"R, ITK0[_/8C5U\\!>EZ62(NN='6C/0"T1/=;W#PG MG"CD/OZ!TFZMF(**C/\*1N@U1.C]][=.(TI-Z7!J<(W!\3[ZTU V4<"&8#*R M%YS%.B]?EH,31^0NJXZ\# X<,-^%QCR(!'I>04V%(LGZ3 M4X./0GE7>PE?:AE!M.COTJS;XV3D] ;N>A!6ZNIS[BH\1$8GN<^Y[&TQU&VT M]I/K">EP>5A[#(+#!C&<0+#TEPD$JS;#&JMPEK[[=NJR^XP$",8B8(8)O,-! M[_.NH#RA&T2J\O8T=N=L-RH%^#7(NJ%=Q/Z2T=X6TJ7 82CE& :;>E!P'KE3 0F==]P Z;P71 ;SA \Z M%/3#$.0Y2?[V20&PXM"*QK(:!J2[;7W 3JTUVLH8J+X)T#'CQYKB738O#_W8 MF61PF6062((NKNU2O9-+]X&SN^?TK!H_&@IU]3OET@F.UDQ(3Q29>>&IQPM0 M#I'(0@G=YT ,[6DBW%GP,MV ]=_O?)A\AK\AGMM"+WY)!'80 L^&VB=,/ ?9 MY1" C +GI85]_,"7BSZ!*XFFDX.+A,%I\+U="_?O^P'7[+!]^F1;HWO<$LE" M<%QPB?3+M>#8U$/JPV)*KWS_5\^WX3-'D!MV^[;[/8DN27X/8T $$_@T_-H& MV\&+=T/E(>1"WP,GCKR.4^/H=03]Q7*SW(0_&[SUS&"UWDO%CE M2/Z!NNZ*>&_R,E]K5!_+QQGDXZOT/F>=0.J!N6[A.&*YR,_\V1LN%PG9@+AV M-OA:N!E9,=!9=!ZLNF# S7FQ);LSA:K)HYG%A6I4E_E%GEWV[$>ZNE$BF)/42"_TB24F@U.Z8R-MBYFW*85++0%)8'@[D_G=(O MHA;?HUG^""?RK'.N)H2,D-MTN9@@DE9GYX)%=UNNW1]["^$YH*$=ML(WQFR/ M[P*5'C0J*58OY 6)1HX7D^"(C[J"1S)(M=D&PDUY.VLK&&"'@-G3*22. !]'X'%O@&OO?F M>J'[!K07HC<1:"_.*1T_^'RK)2BH)53;1TC!BRC+TR:=+K[6Z*C$DV2E/KL% M\?:#5R,/:-",6^PWG$GM460;E2S/:[0I+-%%GR!;Q288.LY6Q0KCQ.FLBZ\U M.@KC)/FN8RH,JE+'BS*Q>L(S?I'E%T5^XB>(AZ8\+W'@OW_.J8_%4C3US']W"=ML&-LVMG@FGPJ)D0D"$'$ERNB M0 B""+H[QY2X/"4>>"HF1 0($>NFB! "ZB8\-M<7Q/1_YK?>!V;Y8YZ#XIR[1M5_C.(U_$E5!. I&FSRM#K@D0\1&(8)&XG$/#'75EQA> M5^;YVF6&6#S.Y#-=SSTOBKQJV=B_X!/[$'_J0UPW&Q#'4(V71JR<]IX74GR7 M7N$ECMB)"&"1CG*"'@9_T8)-G.F _%4SLL)$;U1[OES RX-NF4QK8&)6FV>_ M$9*7JI64.J^27;W3L;)6-T/E%2W$&Y,TEV!Y\A30F=!,18L'8KD^1BXY6C0] MMUP3DL=.NSA8KK+=>5+;;+*.1O?P\]_T=FU[GO.AUCA1+ M-/1K=*\W7.;6Q]8'B^ZV7+U#]NFUCZ0@-\;XXV#3]2M\*C-,J8WL1MN"EO$$ MR7]T[2.Z^8%(\GNL!3[RV**[+5?OOGVJ!8HCNV17\&9!E/L-NJ^65T5C M/:G-E4XV2]8?4><@E,%BN 3/?Z1#XPQ6K#&.D.*Z^%HCI#%.D@,[IL80TQZ' MYW6-QNL5TJ-\0+7(!>I*%N3&F 1+4[]Z^VL+_7S7_.7'7H>8PT06'X->RH$; M@U40V=[0E?P%&$*0>OKBQ; 3-3!"/;F^;WN.0X(I )($;MJN'?(F>')NV_H] M['(6_KO?E7Q<&S>=G,KGNZSVV+($FE/*+>U*FI[MM@![V0/L[29@NUW8-43; MM<+^[7?M'E"TL))O 6S;JAE@P5ETD'#T;.AE8[\SJ;_0=$C\'^1_[SX,/B+^ M^3OL#=:H9;"T;!D)K!9\%SKX@NO:RK8%U%__;^[;WC]P5/C#WZA9DSY%+:/ M*[=]VW;+02W6GGN8.<_S"SL5/\]JC-IFGZ#[UBNUA-+*WU7?05AV%UB_Q=@= MX$Q#_JW)CB-IMBRUJ56%$=D!+RC$U->>NLUO/VP+)%$3[/<:(^BRE@CB(;3M M4WFE3_TI-O,=!2X\:-4VU8-^R*BE&]I_W<7^?>(R *[C22W4OUQ8Z6[P6S6< M5S6 =DG,8C%>VIO< I^FE+G:H'*CG/[64V1^0^_O;W$.,LC;;7Y6[^RKS2X* ME9+H^^-1MSQ+M88TDRG47 &EU?"'_0)*&%03)OPA@1K(R=8:@S3!/*@B'NZM MV7@7_B'LI[V3LI<^]## 1NT(5>!"'R.,OOVAJZNZ[*#.]E-YC;G --&W=>?G M0ART7AR#==!OT(:NBAX^#&DE;#FV42][&.ZCAH%0GSC^S%/6\.M3&UK(]@P$ M';P;OC.SH0R(T.*^4D_MAOBLE10'A'-$7QDA%\_<-0N'!Q.M$P__/WG>9/SI\_9, M4N$W Z:-:2/&<*A3&NL&+LG)G7Z_N#< 6$^7--'SD_ "P"#W.T8W@-W3X@" M>B":/X)=TBLWAV@:BR!Q-=U[_0\75;2%KB[HQKT@B[=K5!@G]A1R\U/V6,3W MYU65,&E#W[N49XJF@"U&K_M@+,? -SHI@<,&0@S..K[;!S!D(#]-)R;=J*J# MN#$Y<2$JJ@C)'V$#9T%#$- MT00ZH_K&$ME#TSNTN\]UXN&!>XBDCS1@-P^.CW !U73N\YZ//NKYU<1/QWN^ M$2!C6ZBL$ ?N0Z[TJ:7$35_GI+@\P(C\&AKRF3;&BRG$-I#C216H MUJ-1=;EJ5J=%LDRM;^_&K5EF].U'(OZ$!D02/_E6ZDZ@,=G\%H:&GS.HI =& MIG8'FE]]5Q>XJH!I M<*<:'5=[F),E-%ERB>Z 3>@&-PNC/8E>YHG29KN4 Z MPKPK9*QR??&2:*L1.\>2^R>19VK#2GEXVQT4YK(Y[#B&>#=K@[$8B<4OCAOT M;K'W)(<\AEKO;=W#AXHSI^2^1FR0W=X;JH^_1GRE,S/"'IN$:21- :-J!B@? M6^"+X!HGMT++MW.-L#0L:=, M6@KZCRGS7@V0I40\'._?YY?=A#S7A:YS9V>*/Y.,(6K)H)VS("I8Q< @[/%J M=X.[%Z-WEO-IOMJ]+ZU[&^;$[8Y]+Q3__%WBQ]^VIIR$;U6_MJ#^A<9P;^+Q M"5HFFZ@UQ/ON7+7*LIGL9LPP>'S1I]7=UJJ41 /P!D:><^0",3/LUP)Z[QMJ M>M]PWS9:B\:]9K.96HHUS5$3'7_:QO-N!;$HU-1LX@XN+#\X-]*%_PL0!"@MNYJBV8JCXLPQ?-]&U MEJB30S3P]@QP.>C+ZVX^',XO;9]:!V>0F&@:A;QO4R<%](#A#&"/W%(WIRAG MAJ;(ONF8Q'-B4.B"QP2^,FANW1F-P1"GRZ"T\"01NK=K@_G4(??-=>-7F%-4ZY='0?T0 *="N@=T2UP",C4^K"C M&QX2=QJ%]PF?M-D?U/N;S8K/#8U\>%9(]-0F"!^;:,>RQP, %?48;?I%P '\ M9_W\I").BCE^QL^:T5*T?A,Q%G;S'(&6P^P+;/R>B*95UGJH"_V +!*-DGN; M!6B(W "JA9G$$:D/6V1!-%]9LQ_8*3G>+TDK80%R996M)]?M4=M#D"L0[3M'USWY$085M%\85C/OSE"3G:=!0$R M!A:?[CE"Z$5:+M#!-?GY-,#_9&\&;XM'8]VY'D:YNEJXJTSX631YFQPVU%%? MVY*MPX*/U*289B_2J7*.[QE2.U%J5J\* M5TTTN8\H[2^,''U$PMF+WY\AX+$NB8M.O)>\72W/G'"::37> MB,U2\>D\56^5^7YEWG@ PHF?(ASTVFG0RY5*W[FQOH0?S9"KX$'?:^@:4&F% MOYJ*10*]:_;7=:T(923A6T0?P^W[Z;YO*9ZUC$#'? MUQ+3FVNKKY%PKUN,O*$.3MXO;F?3G!Z?DH=2>MR?SVRK-P+?,'IQ7'7\-J;6 M9T3S?=*8AZ.KM%X0Q[G((#>21_%FYNW0'#'RB?A5?+WD9^-BOWL522L+&2WJ MU$7LXYE:7Y-"WD KY^ZE?C+.=SO3L! 9J!%A2'+K-S*U/B-2?R[=WP"IZXSU M$(X[F=+/$;V M+EU)W(WKTUZBG97RQ6@VDGMKB2#9I>OU5?B#F M"(7QSB0WB0$JA5"C_&R-QD]((:]K54C+S;+Z8 QUOA>3A6ZB?%W;/(!DB41. M&H]'9@1:DT-7J/R:P_''KAYWLGSFQ(TY>I/.]S:$I!+1Q"N9X^^R8AFJN+ZD ME^Y<1\J[:RDD+Z+X?-D,/G*?J(CR%P)^M/^ A&_JO?G"$E'5[T\U3GC9)R@> M[1 JQ':W--V;FI'(\3,3^.___L_>*QK;^ZCX6IMN7GJ73GT@=$$CT/NG(Q)F MCW2(0UC_4E27XMKRGF2+7$2V;\!?;B^N1G%3Z8M8Y"]N]R,"Y0AO^!"<#VY[ M;\&Q;^V_!N=^]I.70ERD@\%[*40N$@<(3QQA^Z7+YBE2HCO,_%?D0"F#^/M7 M1Y<>KPMZJBE8APINK.C3Z;-YNPY?XOY\'E+CB:@4V3;5/7Z'Y#3S'.+C%* / MN-$KTQJ66JV&D"QIA?E,OHV0_&P4+65H^97P^+>>+-IZ[++L_B>?ZM*#"H(V M['L]YX7?H!$IW/OIM!"7DFFY+Y)!LA^+#85^:I@8]&.#]""=XHD<3R"=(FV) MV]8)US6G(:I1F6_G!E:.-Z*+?KZ):OQP9&;0"=\(TD.M6R^G^7JXTKVSKT=] MH1\_'-FZ+U:N[LN+-#^SQBL2:POQ56'4CQ[/V;_+9])&1H[P8G+NC%<]M1!K M96#DT9SME!F;%^18BI\+U55YF117[7@31J8.1Q:+7>?N-I6XGXI"IN6,"X4* MGVGV8\>K+T1#WMQG:M8T_) GXZ5N3U0>&R0>K;Z)YR EA:19M.^ M;[1K31AY#/GH56^8B;6&A7 1*',EJJ/,&N=,'XZ,1?GY^GYB/W3#G;(TL9/E M*NDVP5P^.OOP/DJ:O>J<3-N#C5IL=Z[T$EFB87TX,BO>UJ1:>U$M].[C#?YA M6,Q-XCCR:/5B315Z\JE0Z MJT3"*EC.J9?B1V/#2[B)16TX?I]32W%-KE6<<"@#1QZ-$&\L.&%(XMQLW"NEKI M]*[OR@9?I4./X"KS0JFZ*>=;_-S*62-UJ-^7!["!^ E@F:F55% S\<(\KRUB M\5K^<#6+JDL<>K2!=;O$2_*P:G6=R2#< M"I?O&W<%8S* MO!))K.3PD@X]XK]$@UPE^GE-Y\6<&I_-E6I*'="A1\<:AA.)Y<02&]-UMT$D MTBQV!227Y#&OCLJQ93Y6NN]U>XF>W:A)Q4FB08<>86L,GN:XO MYM5JLD^'>MSZRF7O5Z)BTF:\><625-T"]]DZ;F1Q5TAF;3&R[$[GZ[!2':[4 MC;59'A>^GQ[WJH7OO_Y.04VW";-!HV[].AZ>HZ?GJD3$L\^803MX-4/JC R\ MIU-]F7:.Z^@&T!PL'^+X,PA("-T@!5K3/!F\] $>L;+ S5TDYYQ;U/P&Q&EL?MG>G"@#EW>!EE VH1/KO\GJ^*M)3JSB9>B3'9! MVE)>]++XQTRIES6/+D,^@%E ^=A*1:$M)=9QHT,\=AQ!&1B-A54)BRS*"AIX.K9-PN-E)Y5;%\4NF3W$,_==O5LJOD^3+>PV,-1555_2 M>VZ4_MQ\!A \4@45O1C?QI$[\3A60 "8TGC-J4C:ELNF6+[O7NT\4,<8L/X= M(4W5%NT3,MCJI1.:X;A,FNENWR-X-,#._4TO_.J.!7^V_KD\:ZIF>/""SJSC M(;9_$0V+7'H_^+>!J[KV&D8A)1;GW \)^SHBN@%A_BB8:YO>JKXPVK=?[7N, M31."=]^?'V!\R7?? T2.0B_KZO"O[I"^P83F7AJWDMT,MKK_HJM[?#[D,@8O1"]?E#?>'2;/N(?Z$A577_#0 M!3Y)#(;>1_!NSH*$W[Y _M\?LJ;]D,VX*+;)]C43_]7._]UVOI^3##LK]=3% MU+FJ-&\FS=MZJ[C<;_R?L?KUH:]WD==$?]N3*+O>_ECR^O)0IVZOY_YV# N+ MT@&1@][]OBE]MW&NL!T/T:3UZ?G\]W:V#9#+5D(\H/+Q@QT>L'O^L,L%MX!D0U$]0? ,@OJ ML;I#*Z[L[[#(64O1"'RQ(/[V&:(0KZ\0OAZBOW*PX0,0^!MY07G8Z8*V#BEK MEFTZZ(;@&U][OHJG6%J@5]J@5AYW>Y[K20FO[4EU-P:?#,>6U4(]6NQ6&SQ_ MN\F,GNU)[<"V7;T^W'U(LV0GG*A;O=.*6NFA56C?JA)97,W))#D"M"2^_8B% MA-=TH;X>HW]E 7=VT=17L\#/)S7N:VG]D_PX38T_/I4?LX9):-4Q#__)SAH2#^&80' @(/"#P@\(\:__HX94[1UP[.\^.I MSA?XS(2_F4PGU71!Z]Q%EK\=G#=,97:Y,P5S?DO0%YS;;NE$@/Z^TIJUK6AU M/G5*K=6X'K\:)\<9?/DY_>U'(O5$>/XC1"\#%S<(,@8QFH" OVJ,)B#@SXG; M+T/ 09#QC/*]>U>AO2=SW4QO9'<36@AN0@>1R$\3J'E')?;U*. K1W "R@\H M_^N=^RQCEV]O]P4WH3\P"0?AL$^44(@(_6@$,PK"A[HX+6:+Z?G5O6X4!&,Q MF;8KDTKBX?*9CJ2G,Z&:?VJ6VG8QJK9C\3PYK002X42:2&X M.?U% SKG)D.">]9?BOR"6]G!K>R/1;1!+/!\_,*@:"L(?'PQ G\K'^NK7,N> MW FW2G/=*//%6BT^DQO7T67N^0VNGGDM>R 4U\U2G"A\KUB*W+1FN1))+ON1 M.-[+CH2$:#RXEQV(N$\9V_V2][(?2=8_^UJV$%S+#D+$YQ?>"0K.@H*S@( # M O[*!!Q43 ;7LC\539]% /0%VPQ_.'\')!N0[!)HBXT83F>]R&)H/5;+JX6;:GY#XWZV3+C:JH9/J1 M)-Z&3@M/1<6I]?H?6QRHY( M$Y,;*IJH28JH]JR,9HI2A(P-HPUB424 M!?XYM/O0$-?T"[2F%62'"-/ 'TT'9E1W9'#!=<;$(H_L @@(*$=5UYQH&*:^ M CJS82R0#K= VN$&H@7SZ72'\*$UUDT[;!-S!L1H Z'3Z3E)-,TUD*/[)=B[ M[IB%8"&B;?A$P0AC>1&D#^9 58PX:/] % AW((?(H2/82[5QW4?MN%'"!^)$?Z1Q],&+FL%:+* M2',+^, WGX@^[FRF:[#,W-$9P]KX5Q4(JTT(5X,/N32SSB+?Z?\%_OM_E3W\ MTI\O%1L4IP2(V>4NN5TBV *!2BE%@&F0NE%]X^DIUS+% +]=O(^0.R.RKH.H M V2()N !T (21 &D+@%9ED4L1IB 72IK9#]Q@Z# O_DI0A^ *4/ABG0(4G4[ MXE2$@Y**J*TY:2S"GRT4WB=70@X#XL3WCV7,3H&:#.L&G05(TF4M0#'RB&8A MV5*9"1:1[7(/[+5,AUUP5[MY%0MX"*E8T9"Q*"O@C.*6+XE[QV&HZDO8JJBN M 3H[*0O0%T=T"4JPR>_6]@ >>(#?!TR!K+V/1&GN*"@LJ)"&\\\(L3U!L0?. M[1GA!TJRFH2ZS1R!A/!MD8D9/#)+Q2&4P 2&K<%T3/])HH'\ DP&MJ8R!.,8 ML>&#NT+UZ^\?R+_W$[L$K."^=FCUMLTDZ%)W0%" ]'!4&[>!D!\."555/@*8 M[2S!"Z[HZ5E0X.X1/+4/).O,#$I;S]HMX!9M L2* GL=K.F&4"Y2P0'LX:G& M_77WN4)\G.(]8V*-"@"."<3L/\/Q_A\#W,]WJAN&;H$I]>16?[[1EQ20'T(> M=@UD;!^=,-J@(M$D0Q5 ["IK5=V!R37K0#2HE*"L,N4\WS?R&:?5/OS1>6B*I^?RI:[\WPXJ[V_OOU0LP7E&6 M>]A4Y"*2^NO[ )6<>( X8DC;+]*MB2ZP\Q_16YL M8O3B7QU=.A B/MM00\&N?O>7I[@?@1U/35'@&?3[F:7H2AAQ?SX/J?%$5(KX MKD[X FA/,,\A/DX!&GB126!FF+.0PJ!_5TAF;3&R[$[GZ[!2':[4C;59]G%H MY&7YX<-9J^B$53$0Q45"'$:MF#7%8(M(S:@#=."YMF3"D@U%)6#-5FSY@OO; ME;B9=L.5K/]P?X,"1L7J6!8+'E#_(_9[_D=FMP._U_&/ZS91GX@#NM!TA]IB MCH'R_]^O$LZ+]@^">5DT#L&.]VV21MO0!>R[P**PHJ "0+D!MG1?*8^SL:LR M+X0CBU%:KLV-X7[1:?PWBDZ];>3TV4#1*+7_).RVWL;:$BS65A--LQ\O9B?W MV=1"*>3$;B99'87%^W[FVX_HQ?']0 X(4(4?0GXSQ_&K=R_6>X%!\/_9J,\"#(^1A@+T2QDTYT6D^&,$^< M^K^NTPBB8^N2_89!O_59AS1,1".=BBDY,\M&LD<_7[3!@V9A5%8">I+LF$WK M>F2X&[^C#C.(P (F,723!U8AJ[2:%<[__?[ M+QI]HI<'J]Y/UK5.O5[L"CFAKG=RBC$KC( "^6_,M-Z.G*6NT\-2RTAV;Y)7 MM37OUZB;31CIK;[G2O\."Y:UM:[<9L96-^>L\Z4'I;.Z(:-?X(R=/NO M4EE5EZ;?/*^A'2_,2ANG><8=["&A_,S\KYE9H[%O7@[=).QWM[(Q)\MQO+\S M F-=XS+.R+%LSY-DII87FP? <453=XP09@YVWB-\[O/O:%A/5<,T26"#>K)< M%4X-$YH.]*5JU5?4]2G/9@=!D_HM^[VACNE!X9BNAN^K\=NVU)\6"KU&/FDF M*]?K?O'Y&KXAKJG.[N@9!EUO.ZAR4'=CXQ@7[B>U@W:.">D+_@FW#Q.I-/>![:H\Q/Z-]M<.F7X#UT/L!;='QOZZH"']#\@' MOXI!>)8VLM?AH2XY:-ZASZ>(*IAV:(2"&&5X]G(]+!NO:QB#--UT+- 1S+]$ M(\$D(_H1,VGW(DY((&BO8E:+E2+L4=PV?TMCG!9;"',O%JX#TTH5%+5BF#]07R7C(+A^SIUX2 MO^=*'NN7V*K1Z2FQ9F?:JW9;SG5A,)M'E[^M7VCQW@DCN6'JR"B8!RWO*CW* M#,X95O,%M$L+ @R5V"2S32ZCQT[' 1V<:)_\7+K$#'B \S_$>9X,"7CP MRN -)JA>F(KX:T M)QS:/\!;60,HC120_];3P9U&VEE.%YU!N$#&?"2VD?GT3;H)Z(M>)!]''XTU MLJS.%TW=VJ&G=3VM^^.6;#=>#12'H8TP.G:T_NR+ M8>QU>!&^:A#37C=4,'(RFHQI& /_\#3NDZ6T+4QRN3C?GF8?KN\JXZB10,Z, M_ %G#I45S6#L67 G,@Q8$XL4H-,*'+]"=L/^AY;9GUB*(6ZDZ_(23K"-$+.J MK;>)#IPU*19=R#1<)MZ1VH[ 3BOF\>B^D6P/\ZMN^[XFVA.IU4HN@7ZBL:<4 M,[.]'[6L@51\M+"M.W6)XD7974A^#R8;2H(2KRE6[Z0\.TJN"J;G46%B!) MK,1IOQK,=YO-K07CC^JX;--;U9TMPL[P:_?L4_Q%.OE44P%?R91O?BRYP$IK M#R3>[_0.T"4KG0-E+O^T:LVM4:0+>T/%@:6KCDU>N6#M= R<#H0__NK%3'_A MX1]=;8Q>/-G<(<##&^%!^$F7C0 1;X0(.N,<^.T MZ_@W-].#YW]9.%+ M-TNBO/G>9WPO=GWO<[]0%P_DR2_6Q>.]"D!^I^/T$P4@L+!EG>BJH1&23REJUL/(O^NU'+"F$(NGCZ/"?"K@WI?@*%H-+WD-J>'_>5*3M M?6,O@A38'+\CQ%A\Q+6P(\:* [-:D3GO6MXG!X(G_]X9"D_;+-S?7TC^L>Y" M[%FTUI;#_>5N5Z8^\^WIA"!393]*!6$T%(D? MWWOZYT-;>H?],6M>-Q1#5%Y,'KZWO?-X)7X.3C$P%9BF1-0%P9/AE*)FA8_G M_1V__76LQ'UI$P5I(^L.QJS?1>B^KAGY[F<-[,Q7*#3>B=IR/C6[UUO&_307 M"PLUR2J.RQ;>#(G24N,0'SNN[7K39FXOGU\ZKV2?A\==OJ^U39*6\=3N)4], MLGIX!-7J*];+L 3K(\G W/WMN%$C [[;KLUR#^8BD>]4;,B^/ MVJ-&'T'CCU]H_!$-&G\$C3]>O_'']H[AF.?OF^-J^VK:;E974E3."]F'YJE; MD_-D]ZY3[X:=ZW_4ZN=S)6Y-& MQBEU^[>3:&&=G'8>1NGF36ZV/'5K&<^SI0FY9RV[,>/1^9+=K0ICEJ%Z6R3TL5I9VPFS64_<3RR M/4U:Q7#*40KBJF7>KJ>=FU1JU$\>CW0JQ.2[EIXH)):CL7C36(J3ZA(,E:.1 M46>9;+4*-TJA;M]+X_JR4TK>+D'%'8V\O;\-UP;Y.Y-?=\N)1CC?J18F3:RI M.AIJ566Q:E*QUWRX,!W'UG51+!D9?-#M:.BBU.BWZHHZX\.=7@2UPCX9F1G?1Q/6]W>WF:JG8ZJ%N MBKK2W>NG[("TRP!M>_ M6 #^&:N+/DP8^VOD 8/:I#?$,D:60RQ-A7W:%J+*;FP?6&?*/TTXE1+=2'^@I=5NCZRZM6)8'JW;F6K 3Y4553F^)F>P# *#*// M8A@%4O*/I21[QXJ-;&V%Q"E929*2V-=^O C6P3-]-YC[6'^GY M<5*6SH"3'K3$KQ03IQ MT^K.BU-RGVTX=5W,L*HI%+/\<8?&#V62-DR"E:?>XV*6KV>(]ZCBRTK;0+0& MAFI@J'XJ0]65(04F0F \??7K49%JW X>2'9Y5>^N+?-N(J[Z^>I=LQ]'D1KA M0ZGX<7.;CVZY>@VD0IR!+:18\UFOB107&+*!(1L8LH%,_D.9_%27ND,9?,TG MB@_5SE3O%@5^'"FFH[&LA<6)((/CD5!*B'ULL[:^?9=$I8T4 QLVL&$#&_;C MRLL7=_RW J*"\N%16S6OV>55?#.TID6C5$IM%HG;+L'2;+15$Z%H[.7=__>V M1_*^=LY,;@;V:6"?!O;IEY*WKV&?^CK1/RIO8_>S:W&478R[ZXRIEVYG=P2? M+TNAO!4BH63TIW=4S]LNW75U=TW2R\ F_9PVJ7>K[A.8FE^LX'%[:3;!LLZ. M!?LC)GN(!ILQCQ4C2#X'-E%@$WT0F\C[VA4^>4 JR@),EZT>9J9(=ET5)[I) MW]JF4WG?\;B_Y6=^=]Y:ZGYBQ3O+>M?)9:OU8<,N70^?W]_C)6VM_==C#JVL MN=6K%CK5:YY7PLHT(?/I:$*@5WXQJYT,13]T5OM ?G=,$6 'D XLK<]I:071 MOT\I>2G?UH!O/7%;W2C+96LP+A36ZUZC-.5(X#]?V:7%[5Y)O$^'KQO54 MN$F245+NV/(R@VT3,(H8"25>0=R^MX5$2P X5==&8?IP:5"R^?Y2^;VA]M(N M<6 ,?ZX (949-5V3_,5%)^2IWM*&B7I]$R_D(B/UNIR[;C5S(^PM _(T$8HE M$A_8>O5?$S+$-;MWC2_Y29*);Z[[[EL'!FU@T'X6@_;[*S1/_O0"TZW"]/_! M%1T-)CE."$_U=B,;S9C1G[9O^HEI.3)KE8TE=MNBY9?Q4$PX?ISR8_=<]E\= M>@7Q^=YG^Y@2]:R@]G5#N)]>[K[:E2'?7TZ(6.7D#Z\-;J+<7#Z0:&ZSSX-<1JAC[F[8P-[-;!7 WLUD+^_*7]WPL;WM_WR M]Z=-V4%QTQ.3D1'I]JI)/J+=QNWE:(GML3%B((1X_OBRT,H+/AC(4Q.A1Y:0T-V;".J M=H7HQEJ4QU):&(WPA19ZVX@/I=(?O.%H4=?EI:*J@14;6+&!%?N5I:DG"4X9 MG4.^SB_MYK(KU(;%4KM1W%AC^OH4BL%$)!3E7_[6Y7N;%LSJ-!Q3&F/8%?!G M@0G*'@4-C,XS,SK?_6GB/; &SS!_+='Y3$/4D[B_89!.[02I#1NQ(M]>YX'- M;H;K47&$+_9AT4!2"$72Q]FP)]YH]C^\=[Y/^;[%OGJ$4S1)-PT=1#SV-AD3 M;H;W3F!SF&+#WQN5DI>. VT XVV=TQV3Z]K>^T86&=&&?4O%'M.OF&0F*AIF M[WQ?'.GX@?OE@D;,T=K[Y@7G407&-W1)H9O93H<[$'^.B#X"F356)-@*L8@F$?\)5$OG6-4'S(43+$35(1XX,8 S U*$\^GF M%+@-OYP%92MSND9'>#E0;#1CFT2T$40A@)^[@&)QFF[O3@O['Q#@8MD!RD>1 M")-2M,X(G0.TN:%;Q+IX,[(Z5W+OC)'>#UI-[-[M>I3@7")#% VYTQ??\2__ M/DNQ_X[7?.-G=.\LP=1)333-?K5ZU;#JZ4F2OYE8Y7*=U$JY_@CO^%X<*Q(. M*%%%;*(\V-Z:_:0(?\[MPG/%\G23CG>3.=GNAAU^&;NQ"D+<7N+5PHOCFS > MEB\X%!*/\/@!!8@F _B M]YVQ^/QS,"MVJ*NJOD3R!WYB@@)8XT^QY;HSZ$TYJ/LL1V6>E<^- X957$_& M9R&[W#D600-*U($!)K;IL &!>DW@^\O02T >9T >8*$ XD'(T("2*6J6ZWZQEW=5:D)( M.D:%9/ >)%M=@S"R367@T"@@YT9\? +L.S,;OS")G&@4%4V\%GF\/'5@H(L, MAX11R$"WQUX(;$!@!/$%Q/ *@1?;VTW = R*"@O?=%8EA]$1^@7@X-$%T#BE MWML+;/\70P>&8Y+^2FG8X^9FV9@FUM)(VPBS9BV:V8\=Y!VFH?M)S[7IZ/UT M/\K_D9\SKO"WE5*IWN>%3;@9E=J9;$L<^=W_7R[>+E#L@ ]1IICHB*L6@!.] M?TT"NJ:;!].33@9_9,-/;'?KZX<%GU<3KX:O&D-MM.'):'7%W[6[K7P:W<34 M"6?_KY= X)[$.$M*B+PD)6R:N85DC!;)0D);%FYKX1@/%N@94H)LY@KKLB/6 MN_-A==6\?Q W%D'_-OUJE/ \:_O K_X$RN(C$&+0H;W[__^S_^X^R2X&%)5W7S MTLMT^T#H@D:@2>\1"0],(D[#XA#6OQ35I;BVO/*2R$5D6W]TN<>LGBJ MR@#(7Z;9N M7()?F#A >.((VZ_2$S.ZP\Q_10Y8&&3HOSJZ=(J!6 1%0\FDLFE9I-?["+QS M:F%BG@A%LH:UVBZ#B/OS>4B-)Z)2Q-<&S,=.3S#/(3Y. 5KT$NC9BKZ^";=, MI;N.WW. M>X5"7:_R3K@8NS/%6;V1;_:%XSEORQU='W66I6Z]25+.NA19K9M+&'DT9ZF\ M>>B:I7N'G]U;#TV82Y!4?+SY:,[E3%T6,QFMR2>D0K5WG=:Z-^L1C#R:\VI8 M&71J=OJN0)14?>A<=Y1:;]2/]?G#D9-2H^4,!F36)>N"=;\HU:W&:@DCCU:_ M6UTI*R&ZL+O%H9-O3W@I:_=PY-'J@]%H-.UHB58AD6\IK61DTALT\%&_H]7[ MD>5HTDG,]%XJ$>-M2M'YM7J*EE0!J-UKURVJLXB@T./H-\4AM>+W%7\MB"*DVYA&DNJY>X( MAQZ!OUBYFMN52;'*FTWX6W@0&.Q+P[Z[7AA5MHXS3M>T8U; M.S/H2Z-YIH]#A9?5&4\FJW?NB1>,PYR3&Z4#HX)F^E45'!>3(N$'*+.=C*]EBT MN:7NJ#(+U[/(G#16R(+(-/)W*G5.1X&59ZC$9B4.UR+ VEQSD9 ;#;S2,9HO MXI#0@5/FK2WK] P@FE7T\$1M[;LA#FZ?(BD$;$?WG5Y?#0E& 3A+7, X[P1@ MEZ'$9H?8[I_F_EU[[$1\ /MXP&>Z8\$"X""2E03V' =[X*PQ@EB7U6ZTW;+6'03I>Y&JC_ 5K.J+DV934U7ZG>O'W3^WD@7^'I)M;K=2J(FB[ 0O<@"5LTR%OQ!?/ M2<:PL(]G6+%20M"_JFA8Y-+[P;\-7-4U0U#32DR7[YL]OE)#U^CAMP9+.G$1 M25.3Q3:]==WY(NP4OU86'(M=I!)/73#P60>^^3$+/03WS .*]WL8:RTOF96( MZ=F?&FBN.4X7]H:* TM7'9N\LFUVTH%A W_#(_';V']8NLP_>4TE0,0;(4( M-S! Q#D@(GH1?;+K4(")0#9]+40$LNE<$!&YX /9](*8^,WK;#^U6]_NU"GX MHS]2-]!5^6TN;OU,+'\L&(";A!_^OV_"M^1B1^- M!IBD_(@T\#P1^-Z=5UKL-MB+D?)[G^?M^TBQ .-[G_LE6KVXV8,OUE+PO:JT MG]79Q;>ZY14*N"Q\HDO+K%4;RK.'[)P7K6Y):^CR0TO-].G++I%0-)H.Q9+' M3V@%LB"0!5ZT_JO*@C>NTW\#67 =DQ.CRL-JS+=;L\G]S73IQ#8H"Q+X>$DL M%0_QZ>.'GCZ4AU?>NUUDF#KRO'OSUG_7B/L$AOL;BK//?LB?U4Q\(K%VCB;. MWC,BIV0:8^N*;EE7IC[+L=)@P$]]>P,^2SE^>W7I]#-W\7!U=-^>U[I"7LIN MKN.;>VF:Z=/'FQ)"*)EXZF7[0$P$8N)GY0N?2$R'*"82^.9PY"=RXF/&@&K$=NVCP/7[X*[?NYE/7]51/$>+ZE<< M1>#YG< \92[I-4&HE',K/E%P]&%:R3J.->K3E]3BD5 D\E2C]4!X!,(CB#)] M3#OK)81'13#RHEW.U+O*<*+/A@NKO#)0>( 1E8J$4I'CQ\$^5*#I[1DE\",_ MS2'?/=P4$'! P!\Z$/(GQ_Z8'GKOL'<8U'UMSG<6R4F_9,QO>4%S:LO[YGQ8*HS@^ G*^8*0^EQ)\T,S M)J]@%PGYY0R9+VB*GX4+\M+FSGEY%H$%]#PYZ++WD3@\(0D+U^W$0VTU#D]) MHG63R4TH4!E+CBTN-=)UJI MT=V]U;B1EB@UF &53+Z\ ?7))4/@%GZ:0[Y[Y"@@X(" /W0 Y.MES NBJ=$. M\]M^\$%F_*.;V4%F_+VUT1>D@*]*^>?HB0:9\<"./!L[\@4[[GR@X$Y>62@R MH5<=W/!.C%B#C=U;9J=*89!0+;%JEMIG$A06_NS"@Q?@\8S)!C%I-&<_#<;O MTF#%R'+>J#23O%!/">/^@*@1/2D=AE*:TIAJ715)_<+_%E3V;]/'7I,Q D@2#YN'&)P,AZ M44$2756:5XMROEVHU_5ULS9^N.$E^D0P,[.$GYE9_Z&/B_[PAKF/OI[O6ZAO MLB]E;Q'Z\Z5B T%+\%\?,K,:5<:];UJM[MV=1\9.0;\JQH3\\MN/:.+B MN)\7!Y2BP@\A3B,V(H(BQ\/KA<<=BL6)K,NH3$P<-A/IF]VB)I$0/MDM*F:( MQ9/COL) M0X9-2#8^)8ZZR&+/9.,$],5Q,EKCA* ;EYSNF%RUG8&MT*:PW$"TV#[(RL#_ MX=_W5MWM"2>ESVL3SK$IJ^TV!(2#;WS3)0E0E,S-'=&T&0SPR>P0LL%0T6"# M&\+>(">63>D8APP!+MQ"5!V\N3QDSWH#)O$E=8]U<'>J(E(FIT^(6Q;(<'DG MFAA8_F F"RC"%2&"JK6#(6RQW$93:[L0)QA$ :U M;X!IMVZHHF;#B *,-9")3_+G)-41AV2ZR'5S1G>M-+K7Y; "_!F[."Y\\]B3 MTI*RHLC$[82^!K+VJA%? E,]W9P"0^=$ _7K2?2LNI6;6?RA(1>*K>Y"2S7O M= ?IER M*P!-(F#C@*T "I"9 ))CFK '[)X.I@@1;=Q1:'M M(3 I "K!,^F$":Y MQ;AX9=WKQIWW/JFA*8R["G,_0GO>9:3P%I()$W="JCOAC5]N=?DOHN&5 JH$0 )."*_4[B>FX,[M:S:?MJ84^B0LV8 MK):OX54637]G0[\Z&)NI]D2ZT;+=GG8[+63KG<2FGD%+]?AVNZ<-+K@R>/FR M3$\:KC#NE0=N,8PC@*?MHX*E!41HKX$9[B)#P\. @NUHJ%JC M"EXC5%FXZ@%4)+W]L\>S46IK^3^)8>3 0ET*]*"NF9_K><^RS^/UM+>/8"0_ M,#S=?>3>+L'U_1H41#VEG] *F%A7 --;!.E)LDFM9_WJ=8T?\/-<5;Z6%^4V MJ3>__1">\$PON/=15V>DG'Q!HJ%B6O:;QHA ]_UQ@.@-HD#1?I0R3/3/%6-9 M3W4MJU[I%E.CB*7?U.1-?/3^H85'@T#P\W[8H:,_%GNHMN1>IS7,)@OUVTA$ M+6>N[FK1)3+@<3G=8Z$ABN6C6,3K^;EGA]E?\G3#F:IZI27Z"D^:N5Y[G&T7 MJL;HYT&XWW%TT2S=>KD%C9BC]2^ZN/C-5_9O[T,QB[C?^ MG5E$CL@RPV_W@G($_OBF&OB/#8&]]/B3M091?ZU!M%_6UKIRFQE;W9RSSI<> ME,[JAHP.A8W[&*'W' _BK ?B:[I-6$.( M.((\(GS?OK$\."OLO[EYZB_J,4P2IF4]V-R8 _.<4,GII2H=3:;105,$TYTZ M7"X!4:-R;6!H",2_ZE"7BJKZ, UQA*BD]7X&@Y)E/-&N-!5/Z4LZ&*0F468# MQ[30E.$,U;&X(2';=6!^ CX?S6&,%?AA+&*Z5U:&0T)UA:E84\S^#D&N7G 9 MSG(&V.#!AD4X4']>4 O5G')8 L*"B+%V#$ZQWUK.-EM1V;J8*+SCN2J=NJ;5W M1-_.S*V-Y[JP%'06U9GX=TF?&2I!Q3<@DNA8!PZHHP, :9IZR(Q\NHJN;K/; M+M-S?P/VL-X+MHQ:8X0%$(IF.#8W@\,X" 8'P"U:%$L68AFU,]6W,B,13* O M")V9GG7G'K.OB+:W6T0"#/-F!G2-P+NV_KF@X/"<>!] #A"AZ?8)9#!KDF* M/@0@V36@7@MA.= 8T=INS)>VWT41_.?#@*"& M_<)/+8"C"Z&Q-M@'%">:'M,B(A%,E@(G&0)F@3<0/C@";24-)W?W MQ"(AVYU?O*LT^M5RQ8,:LO_(RN+'?^$?;QY)!>L#ZQ;'WV7%,E1Q?4G+S]RE MPZRB\5)(7D3CN"'X:,P41I2_$/ C5MD8X?F_<(^^J??F"TM$5;\_=6? F^'% MZQW16".F!TLAYKL:P "+#[H8'FQ\__[O__B/LRO:#$NZJIN7_^+I?]]]('1! M(] JSA$)#X"QIF%Q".M?BNI27%ON85.1BP@6@NHFR-1+WMM<%#>5OHA%_N)V M/R)0CO V$U=A']S^F)H0.4N4BW=0-+51,' M"$\<8?M5[FQ$=YCYK\B-3;3H_M71I<>S&T\EO3I40X)(1R,.X^5;]A#WY_.0 M&D]$I8BO+9:/F9Y@GD-\G +T@77_M-WHV8._83T*+\L]?VH6$509-&8[)E0] MV$L=1?@,38"=,+;&-(DPH#5D@ZV&$B4)>(U&C5'L6QB1YE#EJE024]=.PZ30 M )B,2?,)55[1\[I%]6&XJ M!-=UT*(">TFQF,[WC RTQD#5:K S=- 1,&[]&@X3MR8'6F?>7*Z^MO8JZEAN M#.TN%=P1T77NJ?FW7>$)@/FTN&AMU3N 46/ZU@IYRN_4#+"L!3]90P4U;AW, M11?K^$>3T.":M:==)XY,XR6>24A]=LLU=5P*@..CI#7\IK/%(&2(U-+>P9?% M8V:.:BO&HZ3A9:JD,;7(:5QEAC2 *WAGQ@U1D]BF0 ')3%4_[ 7X5_/RY#0R M.Q,GNHEEA:Z-O-OD6*2)L"<)-820ID ]01?X.7 >UM@CZ2!M6#[BL#S#S@,% M&#"*+ZS);'.=\H [O>49,%N0P4E#.W,\Y$WIDQ=<_7WOL32P2Y%[^W^"2;PZ/X18F46.XWJ#1"<%%ZTKYVH M4ND")@J.<-TO9- W+F& C(T.MLFADTCD&"DA':9H+'X6J'X7="J6Q2N6IMX:C55U/OY M)!EOK_7Y?O5 ZC="Z6Y4IT6P[!N(I;%#>'V+[VU\,^T+;Q8RK<5PE16G73&7 MDO6A/9XL$AC>/%50-MC%V4UOJ]BFNI%M%'9FVGDXPR["+6F6W<>P %T*#$?80KW0-J]KILV+9?&Z MN>3YNZO;OI5 Q1Q3X1Y#UGDC5'5OTZWZZO[9J(P)U=VN=K65$58[F$' M*P(OX41+L"8LHCV+"9_::(/:)!$_AEK7\8ICU5WIH9D>G40;A=@;(&U9*Z][B7K-*-Q< M9;+"G;'I-EH4:4?8 L'X9Z 75^\'^LE&3I;#LAWO.OI-W.R/!N/E\KTY)K*X M)_-,*;F9%N6&UANLZV:AB:7GJ< 3[GF'?H,;_D -&%P#88$]E! M)X-%!] &8["%LX##I(/K"#K%AQ4OA<4.2+Q*F@LNXQ:6HN8!3*VHBZ5RR*ZZ M:6W3*4LB(MO!-E4%HP<:(;*U_4TFJKCV]@F>LVMKS!07H-2"7,#J(;8[S[&C M/(05$N#L:K@?6-DD(T=U_71#QX(@R9U$6\/T!+^)\S- 6GZT]@[#%""\FX"_^W&W&BFPQ6*JJC,K'^ %T'R M*S*E.%F<@= MUCZ'$7D@F#>VY5Q+.J%^L!B M9(\BS4U->O2+Y G.$OO9/KB<3-4%WL;J3P2T?6\/L V!$0-,V+(>'U6B!&-TP MS?LPP"B4\8"%!O0O%#;B7E06VM*- M^6X%RJ.4X@OW(H+ M;^.%>!J'YO+M,0;@@&D#^?,C=UI$@*IP5-NM*MF9'+O,#7"1;[AN>ID%>O^% M\I-':Z!QF*XGVV"_*W@8$SXBI-!T95SKI5W<2#XMH0!=YE9,@H1QRRN83O+$ MQ79Y)MI^=;$EQFK)E.I,RE?L-ZIW515%!X.)MR M3)#U=Y/MIJ'92IP'IZ/<#/#T\8VX-=8.ZSF :=B9J'/$,@H,>@:@E[MQZ'9_ A"4(:XHF=; M[/&4+>0/SEO;_-*CT_X6EYK#J]J M"2;9FH-#5L7U6-YCJSII!@XIT0H=%!IA:A4OHTV /"AAT4 Q4U(H^/W*"[8J MC<..P2J%*. MO,<+\IL2$K%!'6^O1)U& 5J36V7'H:.K9&?L0XL#5T.]K##*G-9QBAN^/G2H*^#=\/-S MP9Z!9.X9@+LL*EO/!T_*8U0NC$'PT]4T3.>S.!I>(83!IW)H)^Q,#U? X(]E M#;:5!\SQ!]QC2,D[SFO<%#SLAGF0*ZJ)?-E,.I/-="X\W-E1Z4Y:9)Y_W>54 MV?G)@&?; T19:[A@8''.DQ=EYMF$4+VO9Y.%MG+[P.NU]NU\0Q-X3UR4>8W; M1L\LTS\O:'8JM6Q9+=A^IU8;'\]B/Y9&NN_5NRY2&]?J.M6=WR M87!PQY5[$A"K1"06QM'VO!M5MRQ7&[K?#'D29<)J .B((W$R=%35[]&S!-#. M,<0-/G)/):@K/557F@CJ2H.ZTM>O*Q6I-.H3$I'Y@2#VY6A:Z,=2\71?3(A2 M/R+%DRE)%*2HC!6BN#]Q^W3G36-1R*;G%3[7R%L#0VW8BT03Q?'AR.4D7E^8 MUU9]2NR4V!THI/$P7\+(^.%(LU 9:EIA>5U(3+,/?2FC"X/K95\XGE->+@?5 M5J%9F.8B?7EA9X;+='4$(X_FO"_?]4L/D[MUE^3O)7UX/UH,K$P_VN)CCR+F:+<[,>/1XJI M7)$DDG8CHN='CIXL"D/5&Z"ASGMBD%E]=T/"U'$T)8 MPNBV+?5<3&O/Y7>_N0U0^>[4>]]S75X8(K-K(=B105?=^'76+8]HCPFQ#TH> M3YFWVUM*(;?/Q:DML]M4KI%MZCJ@;2NYF=0!0>-5(R/=9K$_=PA3W1A7,%D1PL"]^'W!9=ZFK=2[^3FTV45N M&VG(86RB:V2V\8*.[D8(?H-(BBFS'HE$;@?=MI%.=FN]1-R)8=%2(O:3WA9[ MPFH?ID0'X8==&^$@%ES;5>=0 M_-$$A2\:M[M=X.;L7%UEB3/B^;6BO3?17IS\@D,_&*O^MZ[L5N%AF0++ZRN6 MY9#CR/[I+='^/0YVY&"YV6WUCNPE<$\$L)=L+1/[/>Q=%3E-DC0 /52](*6C MN?=R80>'FP2G354VV\0G=?.Q5 CO>= 2"/<$M(H##0BR$C'('&(I!/'4S6\7 M@F0E84$,@P.MB=F6D6P+_P>./"(>>D*^H=P0\VGP [7$L!C+/A%F9\V0,/7# M9KC@V@H0*@9/0RRP[O7:9K/2O!XQ%PR&U%ND-YL<6?$R(VBY^&/#7NB.1=CW MPGX,7!AF_Q#W;M^JFF-7"D1)!*L",(](H][;3"9(QMUM9YD8A,[(.0:*4YK< M#-.?_5?6:!5%"*4V4 -&ZFDE/SY)/=CK/;.7!?&NI!MCT=KUK$*DL10G;G&; MPQ+9E7;L/R\#+<%644C@C6ZV$LNY6+0VF9&G/]GCJP\*N0ED6I2%RAHGH!%D M.C2TL_A]V2S:60D4OVKIE.4M;_U=-T-YP:KV:,:4.MYNL=<^= >LI\')B_$' M6Y/)D-#2PB>WYOD>Z\!2IS0NB08EL$,?C37'\MPSY3?<,WS> (43"BDJUD#N MZDM\<^>L 6Z[%]98V)"&^#!DJ(J&12Z]'[Z_@(/N16=]GV#HCIZ*!EU5<:T[ M]B7M7.(/W7EQ1W;$_?<"V;!XC/WMX!VE/]KT0?27 A[V^_@S3)&4)Q6HGN#!%B];TYE>7ATXMM]^V59N#9@T MQUP>2VAS:!.9M-IY1W!'[Q&]V@.-2>$8NB[9T;@S_^NMJ0(6^6HL8A(T.<01 MV?H=VRJ371^C/8^3%0ZRNGTL-W+KM MO8L=0U]3JHD^V!8>^H:@]ED3VWM*"MG,4VANVTM_?Z4>AX]&BVF@D*8VC_L;KA=+M3I:=GJ% M]JJWN$OGQJ5IJ_E*'0M_L9#8;9#K=E#=QGP\>Y[[F[H%NF.!B+7^N?Q=8<7V M@\N[N6I,QTHLX;N?&^=W?.MFQOFCK+9M>JNZLT5<:?1+;VHGA(M4[*G7V'T) M9-_\F&C"JS4>F7F_TYC?)2LDP,N6/\WA^R3O=J@X !?+ :OQ==/W+]*U=*\, MXT]?[8T&B#@#1$0"CC@31$0O$ND $V> B4 VG0DB MET+H@(9-/+8H(Z3OL> M]!_9K6]R:F_:'.QP8"HP38FH"X*[QBE%S0H?S_L[4'I5J?VI0 0N%G[X_[X) MWY[+TO&+^.O"*V4\4>KM+O)4&_UM!0JK]HWR(:_L=Q#02T O1_22)Y*?7"(G MR>5#"MXM>(Y._3DD:^H(!$_AF:'U^-\CN?!B1.\&N%PK)&*L.)H5Y[Q;)F?, M%!C(_"@",R"#UR0#X24$X>ZBU>6_)(F0X?!M96/W()G_8F3]W@=[UL,4+^!< MO_>Y__T2)V'>Z3L2-&'A3Q%'\8Z>[R;CKS;=?<5+$+_2]M8K@?]*A->.E:]?U.9WN3OZA'+F7924[P&%OWV(\['0SQ_ M_,)NP+H!ZWYIUHT([EN.0K\T41K56T>=0F28JNK2N&GB9<_$MQ\Q@0_%(\?/FG\H?ZI%:"=0^IB&!X^/8 Z?CZ3Y M[(?\673[LTB<5S,6?(*FHFNC#C&W[WU:=;.!O:O$F75"^,S:\X1^K4X*4Y)J M5>MV\SI5K>"M\"CZ+*E0/!I]/*%&E_1 7KO\[Z_R'LU;OB3RY(,DWX0YO3(M78C*L MV0-1N-&"O1/E0E'_*5PID02 + EEP;N;/\X7!@[B*U:1-RBPDIHV>HDS' MBS$9@3 ^T>(A.*)XSXO'RIP\O8,_X7\LGV6C@)+R[J#ERK>18:]9"SWO0_V M_L+JU0R71Z\;U; UT6,17J=R;_2&P^5JFK &>C\R+3A7M$T>&"W)6#24BA[W M&@J8.6#F@)E?U_)X'C>O[-JUUHC$;[KU9=D,BZ-\I7F; 6X&JR,1280$X:=F MAW=C\^!1OK.]P?D>UR&]QX[H]?:/V%C M,\O<=,DZ,YML)JE9-$)?V$P^U:P.VQN)[H5BKT23BT9H3SG!?9);P:9*K!'8 M&+BF>ZN]SH@=KT.3G8[122%RXO26"9@J_TDSAL;Y@ M_C8_V_YK[+4BVO&/]3L]T5W8?;KTC3N+!!0?4/PO4OSC/:\OSIY>@]>/TBEK)OG<'J/MN==ZZ=.W,ZNL\M1J=> MOXBOE\78.C$M3<-M>RDGKM>]1:%YZO6+_,+JAS,M:\XG,NV5-*Q&(_)@>>KU MBWFIL5X?BFF9[,^%R%A+5YS$RLV\U3KU^( MB]JR7,],>E-BE>-6IY">+:J94Z]?]')RIMFM2]FIF%P[A4Q1SI;;)U^_J'5T MW9!GDT97*-TF6_.*DG3@1/'CU0OA;DR+M56>K]>'X5AT.H_*#QD8N;]Z/RX( M:4+X>%_D$X"%M"CU!TDAT8_SA(]&!OQP* P.YVZF<@*Y7MC25&S/K[+$3E8M M^R169S=7O<1T:*T*SBQIY,;]NQL",!".3Z;+L<68O[N5"_.[52UW4WOH"6+F MY)LFL:8C"U8OP>>$IP MY$/V=B6KY4%T6@]?+;.\'5M&R4G\#XSE0[)9G*V[;5[))E9\>C5LCT[AG[\M MW_'-4;K.SRK=Q%VDM.F4:B=?/UE>UV_JU3!1INOB3;8!U+A9S9!2CO;I3/-B MLYT8U_F;F_8FKFS__L^O=-\#VO=_I7,DR-_SL/=/ M6S+&S#.8Z8GE"6-L/!MC7OVU@70G@:2[$XA-4M(Y6]UI0URUUOIZU7*M3]%6 M@'5&FQ9KJ&5R[ME$G9U4M4OGI,3&:B$W4++';TS-9X1W MX:0B8"0N"Y2(4@*-DK@J+541H; S36DR-6.+C.90SZ &032;N6LMNN1]=1Y3 MYX-&T^:01JNKJ8W!V@TO>A]='E1<*(9%OF?W-QO#GKG(4+OD?3#=U*9S1\<, MUEZ/RF$\,6O4X)+W+2:2/1BM$Z5H[?6ZNR?0E;F]Z'UF4V@+?1\_ M7S=7EKOE.'<<8$'8:N/M3G3)^[3Z@.SV%M$ JD78=I3(0(DAM4O>)XUYQUJV MI3JTH=6)X\9EDH6T2]X7.D*R7EOL("Z<$;@R:V]'$^N"]R&D2J-+I\T\S;; ;FK M&\@ HXP^1[DM,[KD??V9-,0F3+?&C41J!MFSGH)P%[6O)BP6J%/J(YSKE"M2 M'><\K7Q1^QJ][81!IW,/*NT6^EA@?:H>7_2^]GXINPXW9+BIJE7V_1T<\,%% M[V,K=:>AJOVA49M!)=53^SA)7#SY:0/; E2&B9U1HMLU%=5F,32,+GE?F>A7 M-5(4/&,4>1,I6%>X!J1=\CYQ5?7:.+7H9^CE+A(72TY MCO#L&--Z?6&*7O0^(]"GEA4^Y'7I=V+VC=F]]90P8TU)&K+<5Q6 MX.:B<='[[*"&FU-_-8 V'-P7]U5M*O<'Y]Y'2I1$+4E"H$F82KQ/4001@TD! MAY&EK* RBIV?)D8QM8:S*P\P*#9V=*B*J[*$77SR:@VSU\##TH[3GL6[Z'VH,JRUF'XPXT68K33JI5[?6UT\3:S95Q'#$^I?/'?-"5),F M*]I0(5U@ED/*]/6+W@?UQZM1T'8]ON5'DT;-V'$SZ6+F54-[&+WA>ENN%_?< M@3:N2*OPHJ)Y:ARRPT&G9["[DBLV%M52W&$N^12^AJ)(I)HK(^S,50V/-&Y1 MONA3% 5U:S.UUN="5FKXUG3$=HB+/L6A@I#\-WF:ZUBEIY7\ >;LGRK:GY]0 MAO[1"67I4_BS49D_#E9Z!9<9>"537RFC&3LU%_#64%L$3 S 1N )B9O];&RHN=L: A'8#WOC5X M[^KMF;]^O_48@\-C"+[>W84AW5:#E;V08QOMSHCIR:5:&!U)FBB%%%$< H0) M$- @H&_;HGG%B!Z/-SH\VG-S@R6;!E<3N^(X9HY\382@BQ3^%N+N#M9>S,4> MA'M(GG.D0%\:://MZ3499!RGJ&PG0=E_C,G718I8-AF2=?$)WT)MK:_O>+4^ MU(X<3KR(I7TH ! !XAO$=WX2D#\+<&$Q-4:-F>MQ\63;GE>%-BW)T9'5210A M^OJHJJR3ZJSH5=]OW+^)Z?M*6)PBO M?V$X48G >"MF0FAX1&[IEZI9:DM*VGF>?3S]S>EX2QX^?W#>GWCX\ M)P0EGG1H^[&2$18VR9>M_(*:?%XI_-B&54"A@\'08G*E&!0B\1 B9IA>=2)Q MR2_C*"Y()PI7\HDSTQ ^VW9/TT[\,?TWXQQM"6W(5] MDIMR:G];YZ2*-BK!6B+O"/5P7EY_C+%KLN-R(MEG9+B?/6F'1UA:H3\ W0IV MZ/W 7B71*FJ:IVH'!IQN)7JR3=3%#OV"G/Q(L[U$V_--VKM1Z^*CCU9^SE#R M5;WER2U?ZUMD1P,W#OTFIW:'+F;B^[!N:>?MF)>O.[1CPIET.79&S(&TV+6M M4OKG1P>K^Q*@'"'0QY*&?!'F@8&"('!@"?B 1 M8(@\& (!ELB')8 VY<000)OR8@B@33FQ!-"F3S+$VU3E;,/A?.H?J=5?R@2_ MH4J #G!-2_SAUIA?KJ:_0VODKP3YON;@1Z<<]=Y..8Q^@*B[[I2KGEZ$!"M/ M?>U-R(N&]/,>R_>%4L:S]B>=^=HFF=]E%4/7MS:1L0MTOW2B7V30^H3/ZGC,7= MA1V>,[TZD4;(>L<1J\:F5=5K<*VB';OF<0@OHA!\BYW>0&* Q'PSB4E2T<]0 M&8J]EU MU&%+^ PO5/&>,:VC<%.KKE9&)27WT'_]2V!8D4#IZ_789O$B@;-43XN_0 'B M,W.D//7]9S )2"YF(<="^*G+N6,$#U5+C0Z] (_)EB LZW!YS1HM?2>HV&(7 MP/7W=^E=1TYQ5=A*4 =WC6D,&[RL+LGN,CH224BJ2"+X[7*MKQZ5N0C*K"EZZ(KK5G4JS]<,9I\DRD:*P(O5K&,&;R\1#524W[_0>W:< M(X=?<'A360!%L2L7Q3*GCOQQU>SM<;Y:E<]\H#D6S(\O)5*$)X()(<1[4JTW'3 ?ZO+; MG$8@&D TLESD$:7NN%8RFCHGLHZ#2@NQO6AFG6C%%-<<3>9 M4^U(?:(QO(@1[R+I ]W(/)RNKAMYY=;E6#>Z(M3PR'"]-UQD,0M0>29OF:RK M,J[3;_B,/5WP>GVNMG1_S\12A:>H=YRLEP W!#0:0;Z M7[^"(4!O?EX, 7KSS&R#C8@,D!D/DUD/@G^H5&PZ/>;P=1P%YS6 ME()@LR]GO9VPU\4'D1J4FIP[:@^'79QOSSLG^ >&TT7X?=N0@U;W2*=N0IXPS)D8&1#2&",M/:2T7$):B^U(P$$09!D7?<64 EH$] FH$UWMAA\19X4 MN5/9*AN;A3:MA1H(C?U4RYSW5IIY#MML>A3$0B6&JK18N#31C@@0I @3:!'% MSH^>!@(%! I 0K)81[ZB+A46U *+]+T6T5M@ GYXN4ST+D+.OXS6V].41D.5LVAQT_- ME;O 5GUFRF>=CL&8/]L*>I4W>A-C1.#(OFP-!D=,"%S$2;*(T.\Z! T_&<> M34 V\BT;O[T4Q&NC3FS K,NS6,#O*KA%^4;6RA$2M=8RF-9P8[JV>+ZYY@:# MZ@D4@A0)!"EBQ+LJ34 Y,@\H@ K)7CD:5FSK$V;E\VP85^H+?;QKJ5FC0G0^ M7FZB_HR$B,6BV5/;XJ0]UXZH$*P(TW21?),/!% A !62U[8RT/*:=T/\QM,T M,RN<3WURMQ>"_LY- !KQ[\420)5R8@C0B)\70P!MRHDE@#;EQ!! F_)B" ) MN:XE[F!?,("$ $C()T%"@I6G_CXE! &4$!!#@!H!V"' "P [!+!# #L$[!C\ M^MVVW[FG_W18!_+T#3R2.3@$[P[MBC5UAD:/EFO#OCD1Q%W6#?V$TAQ8%A+# MD LU6D.(B8P!IQW!(3A,%%'BAMT;68?:;^_[^59]^D Y_D0Y/HD&(BS%.U46F0]?:A[EE^OM+EB)8.*9'L\XA%M*._[ MFCFUK:RSJ)&TG0;]1F\.N;..,]8=LHU6F"/A@TH/:\1 _SR0)B!-7V=]]XHZ MU4:U!0HMAC..=359U\I3=:!EK4[B,/;AY6PO&JH9&IK@.?4V$1T!'S@%%PGT MAL3'KQZ9O]BN]34&"? =UULBOJ(<*QZM&XZ#CKG86Q$3UI@JC7'6I65A#F-4 MK[\3H(V$Q9.FOO:EX(3O($BX""._;"T#\(Z\E+OR\BHN\Q93T(6?O6!^?"DI M3QE?+RO3$H3XJ%1IR/LJF?E"<*-V\3"0#8$/W0FNNBTU:G6B([R#@/ BA9&@ M 1^(!A"-[!9YHZ54'SKF4N/9L&VH! X)C7K6Z Y;G9KA7)G#W+3I!O84C:'] M*CJB.PB2*B(40/X W0#@CO?IQFZOH"6'D;M023"[^^5XPYC]K%_!N1M)81;R MLL.59H[>K&\WK*$P1W 'G 0\EJRN?OD2#H [ +@CAZU>H WUW@T!VE#S8@C0 M(I\32P!MRHDA@#;EQ1! FW)B":!-.3$$T*:\& +@.ZYKB3O8] OP'0#?\4GX M#DNW +WC\A3=&;TCSWWY=TYH '0&X 6 TP$X'8#3\0TW!WZKIMGOW' /9]\K M=J'MEMLOIOYL8PA0CYI \UX\$NUAUML#0Y63QFVFT3!T>M6/IOLFIMK,$=4! M%Q&$*.+PNS;ZW(?(@(9[H!T?U8Y/@G6LD?I&FI>Z>[[6'V+6'),'RVW6\M%? M[-MCND2U.74Q"395EPIL[03K0!"XB&(W;.3*.MJ^F'A<;SC?&]EQ64$^%OR3 M?7T]MM6N O76[6AO,>,&,D1TYS/"6"]GS!'9 1HW8L+&L\84<= M2"^KM M[PXH\RKH_Q+-":+S=.@(G&M".6V!#L]HX43N2? ^FBB1R0SCC5X]- MP.T G0-;D=3'6![NVDBT&8\,1U_"TO^/.MVTDHKG 3:S-UR-78 K78^@Y(# MYLCM@(L$AA8)Z"TD&2!WY*KT!<@=H D_-Y+Y\?6D.(RX;JM4,PQ$;DI];U 9 MFU'6J\&6Y0V5AE1I<"P^=W81L]B2XN!([DC2+1PNHO1;L"/0@P]D(_.!WJEL M_/92CY$< A\VVAXT77GC,;_SJ^0FZX5:VQ ZIHS"=7[:L>VYXBSEAG]B=Z3) M%E2$2$#O ,H!Z!WO4XYR0S2;6W<7ON5FOL,;$E.[T3:1E]*JS MODMN2+=$#H[T#K0(T4G*0+P5]'FD=YSNMALFTZ#+Q[^G=M*M4#S=_J$=Z$F7 MDVRJHI>NHE;_*+KOF&+\]V%,IYMY=&B$?$#Q]!:3'YV:K5#H 4E_]+P5ZLE7 M/_N^DJR:YC]OO:^\;C/5J[M<$>S):O,XU3!UWC"5_O=__Z]G_6 _@CXEHMC> MWX^1_60*3U.#'()<4TO'=C-QF?S^OT4S$F/_-%@*?H!_]-'\_4,=T/2FZ <, M_K^%GW],)^7,;BELY.M'#_UG+AR^MDO>MY.1D\T\&\$3D7CF<&),VO? MI R _K3,_XB%E9GEEV=L1L!&KC#%%N36^LK1PK#+)E6??V0H6 M*R8JR6NN5B^5>:;17$V8]$K\Y97NA'$'D M31LWTO>9H0+2JYB"YDGIYI=IU M!&%);*H&N\)%CJY;ZZ62WB<,O[RT)'46>W?$<5!K"@N+]:PF&&RZ:^IL2"1; M$SH-U0^XJ=C8RQH'L9J07GDVI*' -\?8HA?PQ+Y2JBVTT9X?IE>>W6@%X8QZ M?X^ON*DR8K#UVMZLL73;QOF-XLW%J!&-VA[O$LO>6J)0?,>E+R3/;K2RP'8H MK/5]B$5V3A!-V+&U3%/.LRN'TIZN>&H#Y5A*]Z%HTD,@3TNN/!O2 +59OVQO M]_P4<_U>3 WA:9SRJ,ZLA R=?F^WA):&ZTF!35#84G73*\\&/Y#*<&V$3T,N M'-+-*E'K\RR1/B5?#%X@5(C&55(2) 4G!$RB%($6EZJ@0*(D0TL:52GBS%I; MMK$M(0V$VXS#QAHB4<6$HDM.78L7U:W/=4*(Z(E)>.(4$:*#2TY=B66W3T-] M& I["[S<6LS7HX-;G7UGH[0:+I>!/.81<]%O&YT=:B*#2T[=92*7M\N>"6U0 MF1/@*6)XK>B24\.3=E2=;N$%CZPGZ+8]7YAZB;GHU-9BW;2=<<_CPUY-EZ$R M.4>'%YUZ,V;0B%O4:$.D78-ERXTR;E]T:K2W6?=ZL-6%U#[K;*V)[\I!ZJIG M0^KQVJ0V,B7FUOA\PE]V?43@R\9>(7O M*AV+P[5+[F_MO1FU[U3VO"B/2G6K@8[ZC4ON+XGJDL0A2B!H$1(P54W='T4$ M"5:6ZA)6,)B@7WYYI[%2AG;=EXRI5ITUULG7B_I%]T>USH 612XVU":DR$VA M[GNSZ)+[]S1_/F0\W>=#QU?Y<@MJKS>#2^[?$^(UTYMOROQ4WU2Z\R@]XRJZ MY/Z0I&[W$WPAGVZZB-\:7#1_>FF MO#2G0]:%D''9L<81Y_BKZ)+[#Q2E-K'U21/J<4JSTNDT2G0INN3^VSJS-UO= MSI;OX56DR5D331Q<=/_I%B+DH1E1?,\S]W7+PC9HB;GH_I&FKRQ=JW/3W7HX MAVIZ1ZM<=G\/52?1VH*ZAJ@[7O"^[ZTYO=<2YRNSRMF: M=LG]Y[O6A#3KG,4A=LG69MWM(B@QE]R_M;/Q.HYXGH$8O+&?S3S98[1+[C^L M5I09@X680:#K46MRB#C#> _KL?LZ<\']*0E&E66R MU!,I1!$PA< $"4T>!CBU)&A)I"D%._MR1@O+XX#I*5QOJ/;JXB!9BEU.:=K4 MG$SRC38+J;6VU"NMYX8374QIO&10951F7:Y4BK31%EVM&^)%]9_I?F!%DC R MB+G3ZW3P7B,<7TQI2!=?:ZW=I ;UYHPSY.C9+( NIC3+L+EOM^UU!R(:K2Z% M> K$TJ^D-(M-#R9+*,6U.).;L.)J,MLQE]R?1N82HIG-MN%*D;?L=6R6APT.EJ!9:(WZ[ M8X*+ZB^1O3J.M^(!S\H>%>+#':R.!Y?&@!](%%@B!Y8 VI030P!MRHLA@#;EQ!) FW)B"/@!!R#-7!@"?<# MFBX/E@#:E!-#@+PI+X9(\B80$E>TQ!_B&GY9[[LOU/!M9/F^YN ',1*&WXN, M)* '"+]K9.0C;SE8>>KO Y?1#T$F3['T;8'+7S*(WH]=11YH-'-O^% ,Z3M5 M*3F>+JO 1X"/7/21=.<^<)%;N@C^ -VWB["V'Q0\5=](H>3KJ2G(CSZ3I.EAQ98V,IYXLUWAV0[;[\1R243MK],EFO!-M9F%IG#[:V7(X M:EJ$RQRQXEBB32A! 6VZIC;AV?"ZKY\,'5]( [7YJ-JD2^OADY7U=45G/R"EKP@K,=V&BA;,45[,7 M++R>QD&EJZ6]8\A?_Q(85B30M_C<=_#^_(K''61;/?U,!?OF2/'3^@X0?7-8 MBWJ%$!Q!RM 1T';,LUO:-8)10]%;6:=?K8$?\:ZM0(:((51].^ZO>\CI\ ,< MQ8LT=<-ZU%LDL"S#0H>+ MNX@Q&B/"5C5XOT,,3H<@$%01OM6)=]]"IO <' Z0]22<2EA IG):SWI%K2KC MGM8R[8%IC)HL!YF\V1?W62=5Y?5H.>B6Z@L(V97<:+R9=9?NX'3L @452?B& M-:VO'J@@J?I9^P)J=85"V&O+M7E]/O%XO\SU] JS*N\'5!_*6EFZ?9Z1%[[& M&#UX%73]I=]$)BD=*2V&4116I+"/G?WY\SR7/&R[NN%Y+J#\GR_P^"?NT,I\ MK'>@F]1(YF(O-[7LDY,R$;9'3?4Q83OT;803.H2ZJO:Z309 M&"F2\!?>@0D2DVMN@LI\K#G6DZX(-3PR7.\-%UG, E2>R5LFZ\Z0[6Q0WA)* MU8-*R]5N2$MKK6VDZ.FTM ,7<80N8M1;;[F>'27U![CBCSGSHX<]^4EZ[L_! M PXG-IEB;(?!W\MTA?B4P/)X:-'1YYX7I4Z74<=_>Q$B[[UI.OFVE]6NU$?? M/JJ-.HN/0[?K\UMZ$4!G':7OO-OCW]+O>?-LHH:5.ECRQ4'R984D5 J)WR;? M)YJ'O\AG_;J.&?J%I:K^H'/[#S]*3)]^*-D+ P$:]_GW SH2(+=]54, M# &(MSFQ!-"FG!@":%-># &T*2>6 -J4$T, &G=># %HW#FQ!-"FG!@"Y$UY M,02@<5_7$G?030QHW)_#= 0T;K5@Z1: <5^>HCN#IZ^GS_^Y(Z@VOGU$(#/SD4?US\ GWW3[JV[ MW+?XC?FT<-Z011=@<(07-BJS**",'B?/UDZ5GZVXK!LND)6*NQPEQQ"K16&/ M;E@UK7["9R,T5$01Z.MND :" P0G2\&Y)1";79CHNC9F;"B,A57;00FI1&1- M'2*ZW0EK#1<]7K2"-;(0R@%3&AR!V' 11N$BA'WA!B^ Q 9([,SUYK9(;']; M84;5:*WSKF<[TERB.PR1=2<(SDM8FQXU""@4:[KJS-=USAD[L40#6Y)4TW MY>X:5K,NB!$M=SLE,8'DV(DR3AQLX#2[CUALI(A2>)&FWQ(7 ,;^XB\!WH8\ M?1U@W-OC!!C;'!3-*IK?6\/2K,&U,*%2H_<+H=?/NN2U9SRCU)O#KK%9M9SA M%*G!4%L[(K'A(H5211QY5\GK38?,A]K\-G@2B @0D3Q4LSJARVS9SG#'3V=5 M3.26RA(=9,VN3?1NP463D@NU*GZ,4/1:4H,3"QLNXB19)+%WT6N_D8)\&0[V MV^,$$.R<%)K:Y97:<13&AV)B7HJZ[1'95+).11PFC.=L#VYQ^GYNHEIU2ZO: M"8)-4N@O*+A 1KY3(@+8UW\J(PTKMO4)L_)Y-HPK]84^WK74K"O#\_VXQ.P" M+S(V [?;9:W67D*U$_L:*\(T722)MSH[ /L:L*\!^QJPK[\3BPAPTN[=$("3 MEA=# +YL3BP!M"DGA@#:E!=# &W*B26 -N7$$(!]G1=# /9U3BP!M"DGA@!Y M4UX, =C7U[7$'30- _;U3>< L*__^^OOP:P3 KT$0 0@R0&)+P!L M$AL@L5^=+(#$!DAL@,0&?5O?$M[VC0FUY'&W(O)TMR*2,R0V.BKC?&??0XP6 MV?9'VKZK26K6VZ4- ZYZK:K=,WI=?V;'Q-!AC>B(Q,:I(@'=L*D^Z[C[[0W3 M0$: C.0#=#T<(4TSL'0>&CD(([MSOK8:9:TALBT-%JR+MXP-00C,,%I0]CHZ M@JY1FBPB7YDX>T41 ?1J("*?2*\.JT1YX$S[4T.?MU9]PYKJ:#-K+5']^FBS MD!>&H;8]#8/ZPH1RM2.]&L93+0$)R7=+2+XQE/IM+7E?W(]8J4.7UGN4[XVW M8SMHKNRUO)<@<; 4G&V)[.+CK#MDQS5X.]M+;<&H]31C(>FK MGMD^(:DQ#"I"& S8B4"I@%+E1JEN#:3V2=H8=J"& 2&6V>QW@Y'2B+->_"&F MLY[+ Q:&PM*TAH5Z>U&N#(Y :AA'BC@$9 H J0&0.F(PPB-TW^&GP^907.M+N0$/CD!JDBKBY+MX94"L0$X% M>-17KX.](BPK'JT;CH..N=A;$1/6F"J-<=8L1'0?R*$;N%-#%:DF1XQ+Z$C7 M3CQJ@H2+\)OG5 ,:=:Z*^H!"RN5/,:]7+=EBY42EMI[2Q$9 92Q%X3X2S MKG9Q-.V;1&6S,5ITDVS@(UP2B>A(H\9HJDA@*$! @D!$I)](8M1 V,S<3$9 MBI$!0LTJ4:L69ZT?>];<8GX3&QNU6,"Y<@^1N4@[LJAQC"Z2$ [T Y"H 8DZ M-Q4FIC;NP4M.8S# %HKSFQ!-"FG!@":%-># &T*2>6 -J4$T, $G5># %(U#FQ!-"FG!@" MY$UY,00@45_7$G?0*PQ(U#>= T"B_NM,(3QZZWL0U1&*] M9KK==8?994WY:(B#C;BI,%-C5/*W4X-&1+4Y."*G800MDAA / (= 3J2%^:T M5!^;ITMV]);B/KY@J9K,RI'3'@C1&U;M/3EK?LV=J1.4U35!$C M22 B@#D-1"1?S&E#6RU@M5MK\[6*(XR[NVE,;;+6$FUL[Q;,&'SJ;! M:!UX<&1.HRA>)- ;DGRR#CZ0D #F])]HR?OB?K*OK\>VVE6@WKH=[2UFW"!& M6?=Y8W*3TYP.#/-3=%K2>TQWQ2R8$W,:+F(86:3PM]*(.WB3#*C3@#L&6*Y? MI\CS"L>,B>G&JF62AC%J-GMROZUW233KO$IU5@V\SY$\WR)J(WLQJT5SG#E2 MI^$B1$%%B* !(Q%H%="JW&C5K;G3VWF?@IO*R(#T?KDZE!EN"#%9M^W;770H MKEQ-X\)&QQJ0QJJLKYDC=QK%H")%OXO4 60*<*6T!$[DY$ MWJYF;9Q.H]DV H*;ND0\:V/D;+?*NFB."EB?HLJZ9K"EAA#C*,V[*^8(GX:+ M*$(74>)=6YN^D8( _#10D,\L-/5-88$+G1'%(_4)9>)QJXP360M)M[+$(+92 MJAHCL5/R:Y7!*%29(WX:QZDB0H%3,$ B O#3[Y.1-W,$)/XT6(1HN8L1;RP^ GP;XZ1O@IU.' M2Z_3K5 \>EQ.BEU7E"G=2GY+\#=*G.W $^55P5ZFK W_YW05@MA)?LE*] MB M0=&72]5+/E[P=-\H.)Z]U$WUH3".G=33S+A8B!*K^'ZX25$=GGJ\+DH4HK#\ M229X8HL";R7:D_Q"U2JDTA+X1SOJGAQN_$0+Y>27R\E\B69BY@,'1/43VR=& M/]WKP>;'3SEVRME.?>%P9T%Z)[:L)])J&X^B3W_3CEI._)'-02*,@=9$?O\PO1*MD$%'Z91O'5),;3.\NLCTCE=>" MF>CAT3^#53(>.WE0Z%8Z9S\&I*2S\=BP_XH[_[P-3;54[_!Y/Y36:F*IQ-$# MNV F _ .\_Y08&0Y49XD6E/+I'?S9$*2F$AF+3%1Z(>'KSE^\'!SAW]31<]* MKDN>4*^:3CF:Y(F[^,6"'7J/\[\1X\)6].*"OBPD_YC\GI.U#C_T$UG2EXGC M6$'RZY?)(^7(>5$U.SC>8_)D4]-X=;((S2<7.K\-EX/:LA M9I1<>3;V+KY1^]W((XS>J.\VMB%KPFCZG<_'+E"2).&PJ C*$EH*&$8O!0DF M"4%%546E*1DG5/'E=_L65V'=-3?D2S9OND1%05QJD*ZS7EX)CPRL*5 L9M0J M[H[V[+VX:Z=6A<\FH65T=,S5=,E ]HNJM'6F#0X:)"8X^U*Q.9].;9JB#9?; M*"!<9M^FYJ5O+EE7;<6?D*,BX;X4!) MEF>R3Z[,]#O/;W2ZL)#)I+[7.1U?FUW-YRQDEGXIC)X-?]_CPIDX8B!UCXF8 MYL[]]?%;B;/A;^)N;]]8B-RH,FAYK(+-_'YTR:^Z,4Z$8INEH5&5W2K5Z2S2 M2NF59Q.U#!?"8ED23*,GC>:22Q"*QQRN//O2E3TA-]NZU>*)QER=U-4V# F' M2\\&A?M2>V YB]!HC<)Q;;N0O"9TN/1L4/N!H_A!!VES^M1 &QT=KI1JT:40 M<'L&CMF8UX)JDBNZS24[9JKIPO?LRG 8;G=470SY$:P$3&U)";7=X82FEU;^+EK9)^YYF?T%&[7VXW.9%OQ4'+@D@GD*OI=Y[YR4(( MG*IO2A5#KXR]!BR*7'MQ^.UG-SH;,9-=EQI->%V*[1JK8AUH?[CT;$KMD2C/ MM=VPQTWGAK=&$ T/Y/2\RA]3>ESP=Y/E0Y)LOEGF0)^6.5"A8<6V/F%6/L^& M<:6^T,>[EJJ]K%[4;%N)=--D+*5A)8N+) Q--2U5!'Y%]V73]D-/'2>_LFS: MLG$J5T@"W/=Q-@Y+C9_S43A.R \.T*<\@M^1LM[8 M5T;R2E5"4^TM'^?IW#$&W7;97T&]+L^6ZSI9FT@L/F<^Q=1/9U#1?<<4X[]U MR]0MM22E]_@L,TL_<]K,1)SJ3(=Y'*?+YV3!IZD%W2IHC_X@)6NSX_ZPP\KU M%_#- @H5"^G$%J*T2. GGS&3M:1?^$_RG<'*#OW$O_S__OTISO1EC_1ZK6B' MDP\P":C+[\[EKPDB)\ A"?DP! 4XY'DP!/T E"D/=@#*E!M# &7*AR&@!P2< M\94+2P!MRHLA@#;EPQ#( PKRIBM:X@_I1[]<4=_7&3*WD>6K[YN[""N_W:Q< M ?<./^#WC7M_0DF7@,]\BL\@#U"V;=L?]9E'3!MPF,]Q&.P!R99*DNF9$K\H M>F>]?[\LFND&Q8(8%"JJ_/0D,OC92617"I2LAYL%Y8+*09O&YX_[4#C]9EA7 MQA=Z2P%&!!2^!LC511:;SI1L[0W==^.*K->"DOO^KNO'=\ 7FADVPF@OB!I7 M,4*^LVK%>[["=M,=/>A?_Y(P442HMT@40!. )OQ)R1*HPD>)-BVL-O+1N$%P M*BIY%1[!AN/-^\E^;R@#A1(-TY"' ;2!%N6^&.NM7ICNBTM;I'&\B"- &8 R M?'S&^EKO=R:A6(=:,[Z%E#5U;79N$M?27Z:MI?&*9[H+4GBO#7 MH;$O^>9+X+Y:S1E $0MS\:(;ML1@W" WVN.1>D4*.3]1[[] *;Z.4F2W;,KU MM.185%[#@H8LO=W;I0"JR2UINBEWU[":H;#TJ:T^G[3#V"!&\(92!S4.$P?' M8_;@(HH20%> KMQBT97K:?EL77FMLR8K55B+5;E?Z3Z<# M\V"L"./GZ[3_?NWW5#^Z=DXOJJ"?+ZI04'JZ?NDI5T"1JF #%HYUG#/IM>SY\/Z;OC4J6:VC:O#5H=OD-*?8&=59:0\K@ M>/(5":%%C+C)$>= )O(6/%>7B==?5V4^UCL5BE=68E/$0"*RI,6&&\_1QJ2_ MJ9'=FY2]5XTE@ZTWJ *Y/&3Z8H\B@_[I]"D83](IZB;'#P.QR%L 75\L7GV# ME?E8\R06? VI#O;X5ZEO(X+7*1(!*P[$KM%8PM:29 MX]%-%$X6"?RM@^:>,17S$HO/8IIMG=XSVX[%GYBIN=2V0Q DG>^!(B&%@/_[@R)$X_.2W61,T^0 C'Z-- M'%69?*!!'U(>.L(>4 08(@^&2')18(@<& )Y@($A\F (($TY,00-GM6YL -0 MIIP8 BA37@P!/6 @)/)@B42;<&"('!@BT288&"(/AH ?<) WY<$20)MR8@B@ M33DQ!/U 6G*@R& -.7$$$":9,Y]=1G@+S\%H3M<2L:G6V_ MX$?=HN;9OG]T!5;TO#BYMX,[O/69_Y&\PO__[R\O8P[[>:XG2&^6A:\RD;\_ M;<<9.__OV6C_U*'@K!M0/^I0C"R'F]!,3V2]HB.EN\ .^^R ._VA.Y'WG>LT M7FP:](L%2[VBJ-PVR\F)%R1/*?BNO>".GE+?PJ&2I]1].]3=/*6 .]V#._W. M4^I=ZZJL&YG&GIBLF<1-BGV_0H]2NLDFZR%=I07IL+7W6S+TSKL1W^A9*<<= M<6U[K)E$Q:$W\?$S![_JIGYU:DR$EA)?3Z:8@D8SEUZL*CN3U=\/@WCCG@ZY MQ(4N)FO9[=B+[6H*J>4&RY4K#D<.TR.CZI^,?ODB6O$D37R:WEU0C[K!FB,F\&FN9R".Q0W0->FE\!C\KW\1 MJDC"MV%* ?GX9N,^;H_-EX" S..)FKR\D:X:<#O9#%.+O-%#O68;[75+JJ,0 MP7CHRO')ZLQA$OV@_OH7*\+03=C?Q_7E-XRBP]:0K,=]I84(GKN$(CO._U4$ MP9[K"UBLU?I\B5P0O>JJ[HOT^\$)[UB*]*LC5RV;Y9HA#K& P#Q5D8P4? O# M-UZ+ #FX:SDX;K7*EQK<;GEQ_P+P^^L+;D)RHX6R\?D130WQT)VW:_I!$K!D M@8$7"1B^U0(#: +0!) AW% @WKEDJ(68WJ9LRS((6/&5!HY/YK-TR0"3?_U+ M%A&(OLJY(EGM\F)#/_G]JEL6#C&',SP9[M4,Q3F\F\@N: MOJMBP:,/#I^ZX$D$R&I+1;?;QC)NQO-/?6/A"JVIJK%C!BJ9=7U1 M$>D=O8@$[/#& H*+-$+>[I7%UW_^YTTCLGI9D5\MR?N;BWS(Q^\O,J2!->WS M*[ID("N#$9N83C9&*<@13Q(*M(B0YQG%]5YB?/%8 H+RY/5%?B4%I"=77:,T MFXP]D^:U)A1B-.JV=+NEXFF*0OWU+X)010*["04ZZ_:ESRQ1Y$E1KKF,P?.= M>]Q7">,MI>AJXFS^[S!JJYE:O5;<[#"9=ZP1))/ M!+O3]#F$J",3MS/9[IH# 3^\[$"Q(HG=\&5'UG&=HPW6F8?%#39(7%;NS$>: M\9N/SXOYWT__IQN1F]Q'LU!IH5V.Z\5&M-=(J#*SM$0'TO<**%(D\9L<10MV M0^8M-#ZQHR+SL68O T^*!_6UWN],0K$.M69\"REKZMKLO/\DV7>L")1A:=Z: MC!M3?CJ9C_NRS&("RB0:<'AK<-,E 1"!7 7&Y^V9SGRH6;]K^+RP__U% >)5 MECNTPK>YDA5'-EPF%IOJ00BP] #:(DK/.C H>)/%U'JO$GJE8.H7YX _1GG)U_CI.HC)_P)_EPV M5=%+_7SUCZ+[CBG&?Q^&>/K5CQZ,D \HGMY0\J,3A1V%'I#T1\\9Z4^^^MGW ME635-/]Y\Q7)52GKK^*Z$.RG[Y_\'Z;/2>KI?__W_WH&BO\1Y>FAS+;W]V,H M/YG"T]0@AZC6U-*10R\ND]__MVA&8NR?!DO!#S#U^+[Q[Q]R@*8W13]@\/\M M_/QC.BEG=DO/>WXR;\_.?_0*&?S)Z8#M_(_ #\<+@Q)FUKRW+ M!Z.@/RWS/V)AY:62\G_&MGR1[)S^.?'P1#G,9W3GTX_^^O=P+GK!7A98^W Z MMO\C/,3GW_=H5)Q 9?C)J^67J/W+P?/2'I M=SA)2T^(_^MX7S^NW&I*$.QZ@L[IN[&UK@=BZ(PB 3F_,O+Z.[,.\1UN$]?H M-DJ7QDK('/E4SZ^<[N8+JEU:V!#A\@314MQM=:P)F "]O'+2%:(9H4 =:%J9 M1/M:?P11U*F#Y/F55&-!\;Y""US-M?D)BNC6OI(67L^^,]K8#(DV&(C7J[;+ M:VY[RBZCXXN:YU<&\7ZT7&TQSHA7UG9I$2(^;@P$XOP['=5>CFT%1HU-KX9[ M'9C 8342R/,K,W0O!()U/F5LI2L2'^,/M'K]%&J6^$AG3U^4!+@OE=!2,_K&J$SMBJ$':UW@B:DE\+7UP4M.8S3WFQTPE-U0(5FKR?T]5 M"YMDO"N_H":^JA1^G'>1/#F*A=0=#O.:CK98\%3?4>54@-OYAB]Z9L.* M;7W"K'R>#>-*?:&/=RWU4STSB,@*%F-LQ+>Z&R* 8)&TAXEGPL3#^<+WS,9)7JA*:R9/RC:)*-0Q"3WTZ<=Q1 MZ ]9U#BYH;)IR\9QQFI),NP(/%=7HMA&FWQO*Z/XU*LY0GMPM'OR%%,5)GC[ MTN315U 36SC)S09>J/[U+^<'B3V#9/Z6A_LIB)<>/>FLGS][=#_Y4_)OIFE' M?N$_NI58Q@[]9-;]__Y]OAQR+C]Q?W&_UWK@FHG#/&;7UZG<'-9:/U8LQR)$ MDMB:HN.K?S_^X>EMI(_YTQVD*:Q\3)(?5W^'Y808!O;C#XZ+B<-/GBTYGM0Q M3M<<$HK#RB]9 ]KAZ4/'%)D@#G63O](==(\W^^1LK[]^=U<=E80E.,3MR6KH MY?\:')?W^P*OVZ_S!71>]TF!MGI7=6>.5LVH^XYW;T9[Z>59#_*3]J*=U4.R M'O>[MYJ=%Q2^):@WDZ:S\Y<@PT-T)F+96U;U].U1^JBZL-%L9:(( VVF6YZ- MH_D(=Z3 M=/N$_2O?_$B\N9A'7>0[2:&P.[@N9L?^?GJ@_Q5J1/(T%5EJ)O< MU3A2S:W:.:0'%Q0H7)3+P:KLUJ!60$=ZK8)RPBH2B%2!8+I(0K_5"K-C<:1?4&<^'FWTY%1A.5T$AGX345Q!2?=K9F*$UDD MB.N+TV#M \7_1U W#,41#ZW3[_H M:KKTD\^[*1U!&ESJJF]#AMOND6[?*,':MNT+G5 OI?WW^,LKZ^LE MC??I)LE-@?K2)JC!#=.?(X1"WL]^N\T2-8SFT;KA[ MKBY#4F.LZ=&EGG["H%=N5_=(H^?((8;V>EQ$:)=76 M;AW %SOU V.-T$:EYT/(M%)266E>JK88@;K 'AA,)Y+B=#"^U0A[;*71(^Q: M>N7CV&_<6]E$.9:$ M#<[T/1G5,2Y>;48M6V0_!120O!:X^_C3L8""A=/7<#BX\PZIYG5K?3YE4RKIZ:M MF(=>[,WQ$GM9$!W'LW>')@$SOGJ#]CN>UK_3D7U8N:3\E?0VIWJP>CP>XD7H M5$)U;(]"23Y=:GNOL!;6,%Y;J##%;R"GQZ^[-E?QF.3)33R<'T%YTX[V]Z"N MLIBQTCPF+&HGS0TWH"6KS;D]V-&2&8,?SHG8CS/VLD5]O%)]]:CO)-82.)&M.0# M6&1M2_Y#X8I1^V'Q^*06_=[R_ %RJ0$_>7;X1)TO&2,#XD>JJMF3T/-*Z5DJ M-WEVO*UZB7><^NY36Z=]^(EK;))+XH-NG9X5YL\AG7?G?X*E?UZ(_'Y2FJ^N M^N-ZD\0?$.(*/?0$_0#1H%'U_2NMC[4,/^>%@H[A/!@"M&[GQ1#P+_JV@"6 M-GTO0R3:! ?N3 $?#CS!U@B(\#'+_/6^VIROHTLW]<_ M?+1E]4=A\-3,#%VAF1DXQ%L. >7;(7ZKN1UH8PY#(5^-_>,>-_6G1]%X4 M,<]N -V]&R#7$,*L-U[UQ=BS3?/PLN.0SJM*0=TXIAVKZ;L22UWJ@5^XFK-G M/=PLCAS*:/O[=;:1G9>\P$[^:^X2XTZQ-CS&WI/7:FSH>8DJ7=@B-C,[3J1+ M]0HW@LKEEKC!1L@^W7N3[HO%H"))0C#1F(:\V3GIMNBB.2$(:Q(H2CU]O:GL6:ZS3T@NVH MZ?8#2RN8JNBK/UZRQ_>0/^=$?;[!('_U-NVKJ-#-\HC>8YRUTS![U*#X=06R M8(';RE:UQA$=%9'&AEM39NE16TD20=%%Y$T! B'[D1=A7V.0OWK)]%5"]G:) MPQ_'; O>R'6J6:WRM9G6PM$.M();@R1FDZR!1(HX<;YA\M[K$ZSHAZ(9Q 7= M\D/OL/_24Y//;=,-W6!)<]=%B8\U]H+*Q&TSBM-&W\9CW+TN2[XLK%<046%Y M9%<>PBM%B\=*=(1*PE21HD$YXLN5(ZX9NZ F#EUOP>PYNUDFNQK7( M=JTVZ5;F:? 2!QXCC5X_I_C5F^4$XS163OU=KTO*CFWM&I).U3FV;;([@N&&*_>$>$7I M(@5*"_=46KCVD_[KA]_M'NN_%W^+O2.'%6G;YI$U'*XE5Y"0((T_XH <1.#K MOUO(.AWM'1[E8%5Q_8I UK2LSZX89#W>[.7K=N\HTB ][Q]^7<@8'VI!,D=[ M'+)W1S.FBHXU_H1C1I$B1=XPD?B6$O [1*PO) &O%!ZR'F_V$G##=QY_J@%T M9S@8]"=,EY]B444&8.:;T[_&[O,\#/(2ZO-N67X7 M$I>L!Y:]1MWZQ<=OJ1.^(Q"35^86/^7FT[#1]]%N>7"DNZ,(7"30<^H/".$_ MRD>R]O2;[<+,>F#9A_#-WW_\5@R7M(:XZP?!D"]URQ5BZZE(K*^#F3S;4^=]S>=/@IOX42TI*N K1M(#!%)7\1Y0$6H%)0<$5",(PF2)) M\B6>DO2Z9-^,EQVNI51\TU-]@3C 1L] EG%[,U948Z!R^F3?#N3%9E;>7L22 MSNVA9>*=N6MLABI?V>[KXS8\N(0E=>PQX]E&F^:Q&E["D;E.?J>26Z1NC&ETJ MQ1I"DO[@$I8TU);=[GC2G7 E'LRM)NS>P"O+V$0LDOEU5FC/78],JS^9Q@O 1UE_&0'VE2J[X8J9M09I(K MS^;3DP;.))SR0TBD+0?CB)I$(TS*=3_[]?$F@.6XO1Y T]E*G#?F(H%I3 I# M/KNTP5#!8K_HRM"HQ$)(!^_R%G>X].Q610]#5[BS+!NC007I5N;SF5TY7/I) M6-:**@5O85=#8\*0:[O99,;E#P]^9JZ M:F[5]*;3KQ0MOW3^O7\R23?-8K[4%%T!.04_(/G&[=V8O_BK1\M]@?>NXQ"W M#: \\A=S(:P9XQ=OKIP?-?QGDOB.LGC?)+YK 1EO+I'Y!3(>Q?"^W>!C0,:C M,F:][7><%M9-6[2NIG-9CRB+C4-Y&/8-:]QT]FNN=9KS>U2>_^6HN?O MZ%C1\^)DVIG#D7,7=A5U6N.58L_*:PZ9* '3W98ZYG9PA#12-/F+8WP_^ C+ MVOX.NXTW,5 >_]>X#\,^N629(Q% M6]KQI36A;!O$8H^9VA'K2*-H$::HZW4K9+"4&ZI;V]P>#LQ\]LK_&C3'K.M9 M7V/IF8=!_JIV_E7DZ@]3E!_!<]P*53V%SDFXF'&EC*V%.6JHN%5QUQW3G6.? MEJTX6QC;M(A(Y>.8G$%]!&-8C3G2(&$$*B:+O]ME*U\\'+[%(+]+S/]IBO)V MT"/3;3C6Z]J($S6$E%IF$V_2S&<%?>RVME7(Z2N\V!O+N^HLK%*>=L1)PM"O M@OXNRRNLO=FHGJR+9D%U0]U)YZE@V<%5:)+YJ#M\UWI+5IKW+5=JOYGZ.)Z^ M$7[&'/<8>^)P[N$]E4KN!Y%J M]46MOR$^;3$W&SKKJEPFQY!8JD4JVUJ)2&EPQ%H25!&B;M+:F8]"QGE$10CLKBM"'=L+-%%3KYQ$??&@/V5,^>7,_'C[?#V%R^]@\Y4S/?[C8V3Y M)QDK=SLA&BYBFY]69NJ*10W,I_\Q@<0@^SK2"_5@"Q5VQ.GX<-<;]EK*BJ!SZ=M[;/4P _; M(]JRY0U76XAC;\.OELV0.1)&$:B(45'\]-DVP] I>8+56HRD[!5OSP)V(.8G<*5VSFJ MY:N73H/L^Y&[D78[KA6X%(LL2":>1T?V*%&DD7-JX7]!2>;KE&1 U']BU-\N MJPT6JJBYD?LE.R&1UQI501N5!Z^>^7J;T4"Y8*"C#W/F[0 M)9'/#"0M0(]/!>A+I[%4!DHLHA3'A[3:'^V7 ZG4B]+;2==,$$V!GJ8O4C$! MT7H/F<,OPK77KVZ#H5/>\2.HI*!VX/(\G(;KL<2!H47LS7#-?XFCK?K^WP7Y M"'8O.&D6E5@-5#:^3F7C^[QVOL."Q5/]>?UTA:;*U41IQN^@<+-HU31^TN4V M44K[3ANA\2*"OKE@ 76*>Z]3@!B^ER3B]2!6O;J+;,:E!=>B+*C9Z$YZR!'9 MGR03)%6$+QR1<\T/E(:69WRS=R'J\.:I&9'XTTNQ9EL MX>]7NO_!FGL?:5=JN Y@8&;?D0@FY]!T]Q?+V(4Q&!L<2+_^/56VR9VFH:%[ M6&GG:<"AZJ0Z^7R&:^/B_'!C_6_G''F1]UM%=I4VLZDL7:LMAO%IH]$R6BKF M?>(GH?GH'<>\F@H2#("[W&RUQ.23QYB]/&ZE/4"4UZ /*90$+(-KA#3Q;%GA\JT M4%I69^7)HL./(L5^;Y:)TT]S#)5#S^8_=Q0\;()DW&Y=7X8_9:+?%7%DS:"\ MTDC*9YT[8%"*M-D$%@76-,FDIO9 LQ0J.4;P'(404A-0(&$V#D9XJ18B [RH M?^$;\'98^E=PQ_Y%Y&?FU[_A;0--'L"+9 M)-EQINA;E!.TN013 RRA)A?M4 M+!TF%ERI34 \2"2)#]M>_WN60R@N?K#GF!OOQ^9]41D)6C\T-90GH]"/[AY= MT3].9 MV\8<:3F*MQ6@BF!]%T_6IJER*INJ MJV45CXQ^,]8VK=A\C@L6LF$X4#;AI/38#M^I8PZU;& RX$T%8VXLC1!A/QN? MQM(6FGN2K=E4WS+'E -"!U],_HM) _[&R:3X@8Z#'XC=(CY9F!;E3BA?EEP# M893)&@-L^?1@CY\TQYW7$G0I&HWPLBW7]/Z?<^R'Z:&Z;#023",_[F@UMM7- ML[%:=S%_E1YD9O?.^<0\=OJVQQ.E#/A_KU=88\AO_K4Z3#QF$R/ELU[>I2HM^C4:GX2 MY!]%[FP9E>Q6W0J-W%5^697GES!P MAZ^PT!4!_\/][DZ*!:9>$%NRH:BCKCN4BMU8=*0/&Z2[W4LL!O#=)NU>P,ZV M+UTQ6IX5Q7=$7$HS2=/)[,CUW93L2P-BOOS=V K>U$1C23-@ 6\3F3UA]EAX MTO4^G>XF$WPR22]:*> JAH\=4?[7^#QJ6I[2%CC]%-J#^>UDJM+6L"A91Y*% M_5"#7XIF3W1I^9.X(_Q7!QXF$.U<%"\(OO)G5G%TF,5?[4Z4VGKTSO-",M+U M7R]%;DX[D^K9<0!L9..;\OU3+'TX=PK_^]__M3-6:^V%PY-;3>MGX&K; J$/ M&I9XW504\J9V27UX_T])GTM+V]]LG DS\2 @^7/MKN/PHA+A"/,/M?D3 ^4 M;W@H[!;<=N;">G?M3H;UOWME=)B/=,><_&29,+^'^,Q'&_^K'[S:1GB"*TR89H6NOV4/:?5Z U"C/ MROZ*ED,6AK MY:9GM6C&#+XA<[-!1QW@Z>)$*X(=6Z9.32P3RUE\,5[7UDFZ!$.?"LDWO1UH/#UU9,VWRC1>.UP=HY,[N:,ZA;V@P4_91DC/#_ M:_TN@"-I*(64T"PD4\EJ*6U:$]-[;6#_,*;R9+7K CWEM51>;+<,>[QC#[-O M.,WQ@GYZ"UKCJ0V\;@],76ENT%0'G15^ F%:ZV<(D"6]UB=9_4G;1HY]W+F7 M+A6*?3>:;M(YF\]-'IR>6A0:GJ@_\'@2/6J8ZOKJL$9,I8FND?K' M.0#-5Z<#2L=FZXO4]P75AD_R*6[ PG 8+$S\T*\H&7NN?WLN33PW!($N\408 M.$* <8@60"&NA0*KIZ^[LN.)6\*T6(21 V'GF;9G_)(GHWX_+=A(X%_\0[^DDLQ5*KRP MXD:UTH)WET]F/A+YJC55E NI6I.XD^%06P#>+=\-2/,)W%$'P]#I/6Q:'SZ*Z$SEA40XW0N!>+VUA4AX\T2?V'F@ *)0.6 M<$=-=-9(-"3,!X['Q$;Q+V%W=(&572!P9E &H,H0A10)*(2Q$G* M,+\"9^E_M",:IP9'A2;_PG,6@^U2&XR!CJG]]GVI-T$/@KXH@2O^Y5_//A'VLV"P_%$M-@\9^;/HU)]L?"OM/$_-?!I&%W'$U MG>8=-F>5-1#SD3"=.$R1>9N<#^+"Y\CC6!M;C.@C#XRM0[_H)3!9K%26K!:I MBJ-I3$Z7[5K4RO,?.+"W0\8I'+MK32PD*37CWF<5O&[F.%K[H297#>DIC4ZW M6K0FSB:EF)K$IS=[#*O';:&7CVMBJ>^=(-$ORKYYQL/@"WG6S^^-0T M',D*V,=[(0P-V=>^]BL">Q=1 PEHLI*9-)Q M76!GJT*S-RBK-3S \H/C& X\2 'NL?O(%T^9E97(=]G^?)3K+6FKN*PN:\X% M$R;4D1B;R]5I74BG:"81R_9KI1ZV(B,OZ16@/Z[I6C%U7;(VKAXX1+"WCT10 M<38#B>P^):M)W/14%/VYN6B,_J(>)]),#Z.>CE*QI 9\97A#=WHNB MMXOZ;!)1R^)(FS&9$.=HD7CB Q2R^Y+:!AHOJ)O3?N\^55V%G(Z6OI^4<_%B MI:#0$YAG& M"K8B/CW2%T)Z+/"FRNOASQ M%3;)-BS]41P#N WS$-K'@^; &NM@^#H$?CS;]SV!\:^&B+,'QVOM4'62Y^S$ M*%V?,+UNAN[H-;##&"Y\6&W[$F>$UQ'H[:C7]?I") (#D8WP-!V-,&*\+RLB M?.B+4JP7%VF&[],11N(C"@Y%XO"A%!0"A,;2X^K^H5WJM-*H/W[JC?M.207# M(;)_97PN#.24.%Z-2FKF?E7M=J5%?0Y7QO:OI.,*!]>JO4[7J;='HS*7T$-) MD179_2O+3C:?#T5;',WWZN/RO;0:EA<-N/+@[9F!;5?&(7DIA-CHG O-Z\DE MK\*5!V^?YQ:U\NKI(=%!;;$][TZ2B;*<%#F1WK]RF*)#L1[7F=&E5J7"JNTG MJ3+'1RO1\8=J3;ENM.GXJ"6]CU+ MP&%(23HO7.?'E"D$;#^!I<$JT)FJPGH[S]RU%[:M-O87]9Q!UCNE\GTEGM+G MEQ%DRV@&Z/HHU,-HWQ%R]#K[@H@[3+1D=6 X2*!W$&>HEYDK(PL'[+&39(3 MGM;L$0Y]ZR01'_]._)S$17K@&36IL0GGHVEYD7C/V0KJC8UV'D<P0G^ M/5VS!]B-!C_Y]XR].F>PNK )X^N_,E*P/4^"JXJ)Q_YX3F#/!:QLZ$#;T '1 MDB5C&2C=7B*!%V ?>*RSYSK JPB_50_;O$G,*H\=>64/8O24GG&BX%JBTIB_ MRROTG"38G.:%:O8M>A4)CX,HZN$,U"VNZ "*0;5N6Q+6CM;G-[UU?G>X[J@P M1X^L@,J=[!P>5Z\UYYCK#'1$U_)BW\_ 'A.6BZF*6#[>2]?6SS>L@CD#>[[? MG1)X"RGL=J.:'C4_Q^O'8QP>)X(6C-/R;5GKYMSVWT5,6^QI?U;.> 4#01<$GP1WE^?U37AO,H#Y3$X!SMH@ M]\(!"Q:TX4M GPVA9YB$/6V9*1@7.IMLQES;(WB3![_N&/^)BERBS9 MYY'%C$+M98_/-$S)F*B?'-H!T2A50^(B(T@#6-&#U=:'YORU.+[G%CZ"*R<( MWV$[3U*&KHT/-L6<&Q22Y $U=24+GRJ]Y2Z5X?LL/+H7T].F1FPB+3UI-Y84 MK[(4E[(%0:,P=<+XI4>(GT=_F\C3*_37(HL_!P$6&5VA$W%F2$M:C-9;5D_2 M[C\[MIB:1(7HH/_T.%J6LK0Z+3)+N9A\+;88AI-#(]K&FMH49&NJ010I(EVQ M!H(\%466\>MW#LAUH-G>B33[B8:8S':%WEJ4;D+;/CEZX4W0LU1?\ +);4*7 M_IOZDH;%J.ZB_=*#(T2Y.?%M>"\)EB\IO#FMK\%G!]9)A/@$KC/)4>/_I: ) M\I[JK\W+FSM"TP?OV:G3QHFC>T>)KV'N'18X_4ZRO./N(#1O^V 7@_$0IA* M$N?H,3?JT3KP.W+^O *O-1/;04(LIH'//$I.&7K,Q^TGN5>Q:3@6QHUA\CZW ML 8?*3O]$ZYDIF-13-%*9-2J95.I\M-3HQ9OO!KQQS@\D[@\'*SV$2#34RO/ MZ^ M!G5NPKZ4CK3J=F--(53IC+I&5XT\9)+3)_NS>E''\ MJ8X=Y P3#1]&TM?, ':P\VQ:V]T9>>7-:#N?:M%P5\V(;G1,8=IN/.A65ZY5 M7:& _/>$! Y\#T:XYQV1JPEJ?P!>J9_:([C5@)^[XY3$C( H7&60;A6\]A ME=Y\P(75CJ?0Z40)[(.FL7.GIXYATMZJ)<5A*-N[>&LWI)@%R"],=0?(")Z[ MI2@>O1HOP2MBFJ$[O^)AZ_WF'#;LVD$"%F[W0%2UK3V00SPHE,3 \]5! M$[N_#%OR:X?(>3@ XL+&)NEEL;5"S7=Q>O[1;2O10 ZQ$#;*Y-VF4HHB8LZ0 M?(42"SK054'@6#9HM+8I:U[9V+_\-*="*Y-P PG#PS.&"!*N2D:=.7+3DH'K71U7 M(*UIQ2L^2CI9(.I[3-.DSO P8/-D:E%EQ?5+0NMI_ECM%<:99"9Y&+ Y?MU9 M S:OEP3V34Q#F'1(#2]ENV.X!AY@'V'H/3=R0&E!*2!A 7);VL3OQ/(0_B(- M>(D]G9)T4F+5&B" +/4O57S7L->J3<4A\ M8J.?P1_;B\+/]FML<1FI[!6J[M;T;C7R\RMZ-^=B4(WK6,%;_:UCF7 M8\/1%SO7;Q6^;CW?A&=BET4 DN!S"+T[Y>,?ZOK(AB,OMA^_(>*S$(&['MPP<0V8N+'$=2"""<=N MA\15("+R\LR<&R)NHNGO0L1--%T+(B)AGK]AXG28>/L,E.=0\JIQ=R6>G/.* MXC.W%GM#ZJO75.KPWW6VZYD-E@]#('[E #@W!7S:_F53QVQ!NBG]H1CFPY'S M\OQ'@;'.T/!@P-%W-V(X'S%P\:L&1I"6X],">;>GM\@?$4!PO5M(6T1\MCN9Y[\ M1TS4LN/X0GA:C7)5I-I9:\J* _4H4__IDK8RPEYJ#UTC*2W!8%:O^>M:)'PM M?>SB8QE?=K]^Q@CE4\Q7Y2W<7[I@ON M)OT]/^J\-GBL/Y0F5H:>+E6^Q?0+N4$1-[B(XW&@+/?J*-!W:U>7GOY[1H7K MTEN[0/C"=U=:?N0L?G$\=\-BYNI "BV%5JNQC,5M83G4 MDV($]YN*P'',OW >IME=[Y9=GZSS!@;E_E^E!=YOL>+$8F5Q'@_08LQA!0I'HDHB)-^[#5B M+"TS;%O@(VZG)$CE>"9E%"?SH\TR0[%EVLCVK:906DH#6^%3CZB2Q+5\!]T= M,\UQ6[4R]>QHFE1%4;7OXU:J<:Q;9E24LIUF,RG0M1X3899/2R5>31[KEBE, MLTMCV*[61M-\:-E==;5L[QX_\_#UI725%]UR9T!K3X*5HK5),_N &U8>O#X[ MRM1:PWLZ-'*CN['[%U.WYL7:9RK!M#H;SXFJ$5*.\3$3*W?N>>JP)9JPY MFS1E*4T+I78BFKE/%Q9+$?L=#A=:$6.#?D\SVYVN4BQTYWGY86*02[G]2Q.M MS()I.Y/)J-2:U6/I?M?(N?3D2P]%%KED5[HE8MQJ8BO/-R3R#^E MS2)MIFG)M0S^ ?7IS@#W %WOZ9G)BR]VR7SVKA=+-7\?:7A[@?+4K9:!.4DS MRJ9M%XQUDX9:/QN,;*Q[5>0XR>"P>+6JM<2N4C 1K>6G\X')K\:#Z/Q3^H>> MI$7 &VI8O;8]N'6=;*H&?*UXM=U^^Q-<:/]"?T1\ZJ69^US)A74N!N:>F?5JF1N"'B&A#!1L+Q6_'2-6"""4=O M+'$=B'@Y:?Z&B$]"1"+,,C=$7 $B;J+I:A!Q$TU7@8AX.';CB&M !!-F;^KK M=2#B)IJN Q%TF([<,'$-F+BI3=>"B%N#ENM !'N332?%Q#MSAE]U@'_/:NC7 MO,U_337T:\[>OP40KYW,7P\.ZX+5Z)\6K+)7WRRC/; 0HBKPP\"F!#*F[$3E MS*]9D7\E/?#AZ(MG]<7IH:H9+Y+#[7"\'8[7=#A^E-Z#EA]>+I_9IW!BS\DD MX%6>B*=OZ/#1\_$+-W0X<[.M*SU$KXF$O"/UVY/0[>#].@?O)5LU>B?N%V:' MYB9G-#B6-QFX]E M,I509+CLE2J)4>G1'.56B_G#JCL_>I:\2C2(B5] HXA3]V;P,]6OO_'#B)C'KDM78T9+54_2,B3VT9]FY5.-IE&WH MQ4QGW"YDU!/TC E*86O&YKLJPJUC )3PU",]9!X4<52BDT6F,YY.[W-YMQAE M#+^'#'/'T;%S])"YB8:O+AJ\#/&_7#2PVZ+A-*T=K2A?7%:%6KO3LF-:A-%" M'9X_13NI/Q -/6$J.J5&C^MH!9Y>">*@KSJX[4#\Q^]X-'(>POWIW$Q5_ MDK']M\J*XYTO3B$K-,9\FJ$ZV^^$5)[-CIJQ1U-,7D96#!$]JVK3^Y)04GM* MIY5(M*,"Z6;"_/C-WR7H,XF+"^D1UR@NKJ KWTG$!7L3%V=2+:Q4-,44HD(K MTBK8C]9\GAA>2%P4Q7X\74H9V=&2TX:H/NNEK 7I:!3Y\9N[BR5>,CMV.OOM M-\V[$COA:EL&I25[0.'J IOJ6^9XJ_&/3=G(<72D4)*%* M-3 LW^)%L2MZ[ MQYP@3*V&2F'#CS"VJO+Y';6F1T6Q9-VW7.M)MJOT8 MU:S']&-II#V:]8=^O6&.\NJG=)MZ,<_4=!#%T'X#3;^#$VQE*\)_)4@\H9CW MN83PQLZZNHB0O^WVAGY[+$=:4+HFD?4!H5/:>&+B-EB])35V=4>;Z(@:NI9F M*QJ15':8@H7ZB39<##?,)$TG':_P]R _#'P#L#-F=7R 83ZFTG!>@T0GTEOKP\EM.)1I MP0'GVOAU<&R/;0]&:"+AA^O+[>YB?KNPJ2N!^+#P1SCJ82_PY9(R9=FU[OQO MX,GP?]=&U$RR? O@_N/0(7(GN"Y@!C_3P+N]0(\F&%PXQU/D"'I!&ND9 J6 M!_>YANQOD8#!KY0"N&E]N&EYAT4>+$WS.(& UO.3A_\V9F@?1X2Y!@YH"P1; M!B;TL9>KCDBN^CJ5CN+H.PJ+TCN"$:S.4)K]5OUI I)47&AU9]!8S>LC?BFK MQHH=-ZI<\EWVUG-B?*/\O$?W$0*8K.4^UK72WL$'+%7S#D@@JK7N$V*]JJMUBY65.IU?"EYIFFL6AL7$D&:',[97;PSYL@WP8A+APQ[G_]P%S0WA MA?HR3&5](NUK%HB%;5(%0>Q1)I;1:_)6-%BNY>LZ^,9.N!6F^@A4)9!_&^%J M^;+\ZDBY4,U^&#DX]\^000R1I22=K+?]5K#[G8N/8RW4RFJ#1+;<&4FAZ6.^ M&=%UC9GC%LY'J7P")QV< W":*"XB!R^ '@Y;N !#&<,=;0EE_TPS<%M*Q86' MX',-?IR81M"-$J@*D(G&@?RV7Z<%]B@M@#R[%F)X-Y]>"3%4GJJ1=J7.E>GI M@V,_2,;3("LE3TP,^"(XZ)%D$US,)-WO;"OA'JFX!ZP-S[-(L]0!5F!@6XI_ MIV8I@4:Q)H93'O@OG[0[&L"V;P1K=\0[LNT0Z9/_83<$%:@$5ZI![*SKZ!9J M_I* ZW98:TO]LI#C6H:G=*K(P#\#81@F&8L#/+ZEK*,%;,/PD$Z4$[A]"9JQ M#2HX?$: 5C@T**S8>+R+"+)U;:PYWEUKZL)D@6\!-7A7O]]: RBN2WBR,T?( MH$YO9&ZQ+MRAI*%EO1\7M M#54T0QN[XRUN[;DQC5-SR1&]'':F6DLRB@]U.'"Y?7\+AOFG[!LW0+"1E[U5CLPA>]+6U.4;.P%3"5 ;! M,8_/>0QD;\;6SI6:_^PM0Y>@!(&^86$AX"L*Y(@)!(*G:/B-R'V/&CY[>G ^ M^0<6O,W[!&+GF=?BWW$!!AA6$K'[-T;]VA4 U-+#YZ%OK8&!#:^W73"R@_[? MWN(EW:OFL )?7YC*FW,T0V"4*\= L+METP!:]0]CP F>*.L,)(?2'&S2C3%- MZMH(.P3@:P.HVO^=V/YS3=?Q*M>K\#;F@L*&98:M*;X10&"Q=E6@&?P 8+W# M7*2[F-&HO@M,A)\$"[=!R\%WH(5F.UX;](7GXSB&F[O@WHEE#E$ 3G*]QZ1W M9',Z,E1G$#AJU@"A9) 02T#\''0XWRNS0>3:H6([&#TJ\:9L3&BR2@N-03MQ M+=(R'7]Q%.I[% #F#'8TX8UC+50&V*K8$65L^W=V,:6MA8[O3_%=2!A0F(SP MZSPRID)L'VN(3[ M:2;QN!2KH4XM'XWP$2V1&=)XJL;!8 6WT!,5M3GIT>P]BRKC)U0?5N;XJ-J_ MLL^IB4I5HLT.'VD)Z8$Z$>MVX]A,C_)L8,3Y1I.G4::3X+,)=MHR\)7\_I6U MRL-45]-F5PC%DGQ>&O#UQ R/WSA89R336:I#,?FUAAU6L_"@C(.WRS$Y MW^ XV^J4'N+W.4=6GV*IH[,_*G),FUG)J3D:Q\MJ(AN+*W1#/3;[@XF@J7:_ MT(21V^+NQY.QU(A9ZK'9&T-NU3?CT8DP&L=2O"(*C8@ES^'*@[9EJM69UE= MR,7D63<6'?#+94/D#]_>SA6'JU)KG!>6,7G2[TZ,:G&DPI4';S?8UD"/CA]T MNE52$_R$;; M,PE7'KQ]F1HR;JX>*@A([\V'+2LS=%-),7;D[=VFBEPAE126 M[?H\^92=%J-M%:X\>'OB(9N5Q7&ZW*FE3@?Q>SEYYEJ,R'P M\0>K-'!ZK65-%>.';\\)*ZL;&182H]HLQ&?GJ6I^&L-7'KQ]6&FP;N5QDA&D M6-)BXJ$.G>LWX,K@[6<*_A =-*.1\TFQ0<$4? \\J*.M 0CDEX)!5FFICFDG M/J-+,[D[C\43BN,X?QG(=H2/&#QVM04$.L 8%$"#(N X M<3B)!#Z#-FI?(4BXAD\&R3K 0R'CK@Y)0]:%EM8?9EE:BXSY;,D09W;G7''" M5Z-A$TE3O BPLL:O[T/!>]\X]27;GT5CGW+@R^EMDE/-?/$6XHU\D5S'#+[P M1KZ0;]XP%L8;N*=+2]/U;_(3;*/A:/1CSN3>;;!A=M!O-W=X-G-6TTB,Y*#/M(FY!W:^2=O]1R]R;9%H*<5?.%&(#@E MQ5+.0 8O'](W,K@N,L"HI^J2IOSE^/_#WD#;AS$?3O!?FA:2)-3M :@>]/#< M]3Q_Y)2\<&U=%O4L%T>SV0C)IV9/=NA=>F?/][])PS9ZE@:/R2-]AO#6\",E MPPX=/O<]BM.[[>=+PZ@B6?* XI@3HAX+NDMOZWR%LM>$O.3$TG2*B7YGY%T1 MW[YL]]^@]D=&^I778[^<=N]%7DDQMHWU 5N,(+NWKQN2Q4KWVH\ MDWK/BFQDG7N_^3#LF3;3+Z5BHU!4"-6;=H]?SC^0>Y\VQV/3:#FF/%J'BM>I M!'[(>)U<3Z]KJ4UCF%ZQL24M=!^Y4#)==NR%,8=UQG[\IL/T88$,]5%5Z)-/ MOB5U:HWGQO!O#@^< 2!%UT!!5>#I3L-OJ+=\,E;TY>EUE!NG?2 0<0/1ZR&" M;Z9J1,6-IK'^N]SG(W14HME.;LHG[JWJ?31F)S]=T:AUQ4%+DSJ=H7%I73[JJ:P,%W!PN?YW#Y:!_P3>UV[\M FNR8V+TW=PN5Z'E MW*!V<[N\4Q>*XQ(C7Q=:_]TLJE$G4^USHYK)2)8P["1BTP]TO_A#7:A2;RV9 MQCS=ZFBI&)U6Z5:&J^*JI._A=*F:,__PNWE>OI'G!0C:1^NI TG?4('Y7.^+ M9)#@+N,Q'/<-$'-%#'=SP-P<,&]4.AAF2^O8?"@:H:85JBS843II:$]J?FA8 MU<^/]3R6#51N3F9SFK7TC($6D0SOJF+T^[I@-FDO[ DEX\T+\S6,^)VTE],= MBI?>UM_A@?'37B+?&7E7Q+Q@\R$:7>0*382,43J&S':J M+56ZO<_WP*P2BQ(:Y1JY45KBF<=H+7&/9G.1_R8>&)SVORGK07;JUIK/]>UE>91B[Z8 NLF(^'%J&' M2C[S^6DOPU0QGFFC8H1V^8F9:<4+D1(W%V/?U^?BI[W<'"Y_G\-ED_;")KZS MW?YM$;A.>SEU(.G2&[M6[KVY76YNEQ.GO6R\+NN_8WSC<5F4S<%H.I5#S7RJ MKT3DQJ?K0K.5)-J=-MT:A8J1F&#VV%BRBENMOE47^JRQC0&RJ!A[R ?>99NN MC%?4S!ZW"Y](RZ [N-^L?--Y4[/]#K$JOH+T3L]WJSX%G_XP%:#>CP,A33!(1/0YDC7R?!'>!W&IDL>9#M6, 6# M/,@9P%FST[W=!IJ$5RED$,L,#X_K+4D'\I2)FZ;#IC*P%CBE+/NZ9Q?LDZC7 M9V>K?9"L ZBQ1!O\"L9Q$NKV7QWT4&!C82Z*%P1?^5V,.#K,XJ]V>PQM/7KG M>2$94/'K)=WCM%V*GNW!P$:V&,L#;)!"M-V)"/_[W_^UTVAI+-*KXN>Y(P>%%)<(1YA]J M\R<&R@'>[3>&_@].7?..WT_"_ F%$.N4"Q^));5AXK-E#VGU>@-0H MS\G,KZ!MR6&KJN/,LX^/8X#VQP$H7"*6D.FHV$_0M!B),)PH*?V(F(A&%;K? MXQ)P6/[XO=L>O#5O+Z/C7H7OY%KY:O7AWA+N&\EC3?YKHCV2'ON\2TLN%T>- MAVZS,%#AROC^EWLR(U6!JVXV*N7U*,-^2>/J&<.QUQ2F#XT5RC9 M643U=A*NC.Y?:;?%+%^O]E8==%_*)^5IO-N>XM;]!V^?UUE[888&]&B)@?Z\A?C6>'+IIW17JI=F+-X6J4MYOJL8[\R:>JT7:5N-$IL;/$DW O M<1FW 5<>;%[2:HI=E!^J0FX:3:741=EA9OB9!YM_D.*24(TOLB--7'7B-.JV MFOE@TOS>0Y/WE7%:KHSIM%F+#_(/0Z65F1]KM#]851-.[:%@C)9HGN]QN6[' M;IHUB*RTO(^9H.;>17N@-NHZB MXDL/$*7&,_;RWDE*(]=N1I;S6JPR*2?QI0>8:J=+=*.:;-*T1#MIH=YI+5"* M+. 051HSHEO"D!4Z_%SH<&44&J5'L*\CA-H3B_+]#*6B':VWH@5^5NMV&15? M>K"OQY:Q3,W1D!>FZ9'I&"/4ES/DJ0?[&F89*5<>\0D!L0WW<0DHHY=S?.G! MOM+WS8AC-G.+3FNU:/8ZC[0^BY"GKO>U-P;[Y:;_?C/_L_>?;\D#I+@ZJO7W M!Q6D)%N3DX:2T7#KP^?ZTH_TV>*!?=(K(V1.Y.22;_2+M?E%^M*WR50>?#KU MD&[.\0QDFVBW6-'$0R#=S32W'MX.OY_ABF?U_5".'KZH3O:W?Q,!<[0=_["'-K MM[NC[7UNEU15UVQ?VO>VSN5M$F@J>+%EX3=^)*7/L'1=Q\?]O,.@_)&8KLD%@OSW)@1=_)\6\LT[G.DZT/]KIUSZAUEL^(/<_E0_OFY>U+4ZY M,!/[TO+!*P\Y">>_%D?Y9F/3]LC@:VLB7A_ KZ%B7"\9L&$^_M7)X'32X&5? MR/M_%B_I>U/IQ^JCDF-;/DZ&1OH8]GZUZ M]^5TJ;]PWUYVTG658%X$$IY6^Q=2 $[&^0NW[>6^W C?U^/_0@H@J1Y_X;Z] MS(H;Y?NFRU]( 221X"_<-W,IA%\;Y=.7TOI.L^]K]^"OZ^89KR%%%3F49LCF M&'T#W_QGVF.7C*?OTX'#R@SQ+[C0<#G'O:'T# MG%<@C%D-#V=+_7I6'B\-Q*X:)W[\3L2OV,BD8,N M-U\A@G(E+'QY2C\+!TZ=PJB#IQ=ETL110+]75NL7*2IW.S\;"4GR0:;;LMM*1LFEU M4.K6=3J-6SHQ[(_?">8NRI[E&+YT$N+YG19?UD=S"T'?0M"W$/0M!'T+0=]" MT+<0]"T$?0M!WT+0MQ#T+01]"T%?1>9P!AGF6#-.GSO\-=!WMKZ*WV.3K_4L M_)XBZ>\)RW[W/;[6V.Y[TN]?%)3\[IM\K?O9]R3@OR@D]]TW^5J+K.])P+=X MU+FWVR56#%(H"18KJ<@;N6"3F0Y'9T$0M2??$@55#=^SUC3W^<.N / MH%STNB.G37=+0FB>F9M,,BUJO><&4'Y*%F[ M$F/9ZLN;DM4ZY-Q-';-=6R\ M P Q&4US)+L@G\Y'XZ%1+2O4I&1V5'^*<XX+G&^+-U+T_I? M&HX[*8M?793M$BQ^WC3=C[*X/9WG5&913([8)W&H/HVGJWP/LSA/6)R),^=+ MX[TTK?^M@<=3\OCUQ1,_E<<_)8_WHSPN#;O11+'>D4>N&AGF1C MW\P<:-R^A92_;*WSR1TLW[!0XVJ]+05#MM 8&8ZDI\WQV#0\X9UT'$OKN60. M;-L,1@$CI2XM\<5)RY(,E=QWK,"C4V?[0X?1J\*X.5J4S:8[*:*D&,;H^-C#SX_+LQ*TV M^QO59I_<6W-C_L]SW9R%^7E]Q331JI?JU%8S&ZS^;KO8F@/S$W].]%;5_=VS M:!3LZH$K#_-H;FDTIT^CN;3 _.PTFTOO]UH.B$NFX60\#C]P\1\Y#1KCA[90:/6TU&;87U:P**_92>6*1LT0 ;ZD\5\8UGYWJ<^G]7HN4 MN&0JT#NDA%Y*-7-BR;GOY/B6FGJ*16-/$I82":)*,+$SJ1*W9*"KXIK/3A:Z M]'ZO3$I<))GH/5)"0Q$DN<*PPZM1CHD^*!.WFH05^^E$L=@MG>CKI1-=J#;O MK\DE^NZ;O+6G^+ZXO;6G^*[T^Q=E='SW3=[:4WQ?W-[:4WQ; KX%UL^]7>'6 M;>+;=9NXM42_M,WS%U+ -?1@N+5$O[2Q]!=2P%5T)KBU1+^TE?474L!5U.O? M6J)?VCS[LA1P[5&G_2)VTL+@%EBZVL#2"0=N?Z&H?D:;:0HB8P#]N'X$V;V5 MTYVG1IK0XW5;JECYUJD3B=EWA/4#)T<=64$YR58O$'H=O-?&Z4:#5I=Q.C2J M2,JTEN4[(U5D6)PN3(<39RD>N47)KIH9+QOWN@PSOCMA]QS,.%U-*PEY7LJ- MM*8Q;2MZNL$D&Y@9>@QL?(I.91C]. MXW1KE7N24TW#M/-)S(V)'[^9,'^KJOY"\EI?Y1FQ_EIL:H3116GF8*R=9;N1K=H[.?WK$/*+1S[Q<.Q)W0+7)?/\2_P M%/@\>$0$.X6WVL=[7[4G>?;D94= H6(\WP%\5N'_^\673ZA1^'&QY_L M9'B>C^NMZH/M,&5WI"FI?O[1O"\H3@/SL>=F.(O/[Q8L_P:,?'WA[[_ /_$\ M(\^GL[*3EL2N4(N,0KU(Y==?Z MII".^@[9TEOWX"&TZHYA*;+W&9.J9KB2A^$+[2GQYWLZ-WGL OZ-B]J!\RF. M]5TN;^&A"@-35Y!E"U,75E,U'>!U6]9-V[50&]Z6TN$:G]M[8H=K56=IUDX) MVB,2ZU)WO!B7?4$%V$=*TGGA.A%?QOR@$$B1":S#L5QT,L[TV=U#?#02C@5" M6S, OL[/D/_=+HIZ.^^>DXX"('UT!7[$P* 8%N.%87]M XM\%?M%>4#[S__U M3DE#NF:@T,!;R6EDS@E/0!^8A U?(W;\]T_- 8DN_SH"7J^+*$4F>US[:J\( MT%U$:;8-K/;Y77Y\N2'6=8ZR.CHQ0JZDAJ%4+"O"8X_#BYK9D4JMEWZ":$$0L$!+!>8'E04C33[_ZN42(7%1W+7D@V0@OQM[77:J298E.K-T?1&I"76 3*6'52\8Z@YKZXS?+ MW+&1PWEA%(#T\]NF_!G8*^WA+/.0GX7H;J)1XM/*DU%=J= /1#HE.E:E [ ##D 3;C" M!RN4+TE6=I$PFJM M!@+"L8/E!H^AYIHS@"M(GV1J+"F(I:^UN3%;Y&7Q=CM)Z?=Z=++1%Q!PZ4D%FT5 M.P@/W0H4R&@=0Q@3R+G!_DF,?2&P\W2F_YAQ+(Y."\N\WGWDM65_CL%^F&^R M!OO'>3A,U8![UUQ%FDR#-2G!D^&TE530U\B=:(%D,E8,/NJZ.;=WN9/P'J(D M:F):07=J6)EFPC##," /)WVRR%"U_=?/ M)9L"O,JN+N&FW-ZX-7CV&]D"'H3$A59W!HW5O#[BE[)JK-AQH\HEKT(M6)WO@$!DWPE=1K>\W'ZL0W*;!;L(I*"@7LI:26]2VZ7'-:B-UB-=6*I8=5 M)GE/LS-K\I1?VB&N#:QV9,;I/SXAKYNQ*Q)HI93L+76'*/&5!\2L$*% 99#L MT1\FI@]3+^M1+^;5%XB6>8%H]T@56.[<1/I)POO[$&F_ZI934TX9T6S*T4>: MZCC+;/+#1'J$()GP92S'*S(+O;.;P- 96.@]A^G\,RS*X_D@ 1/E@&P=K&=( MCFL33@I^>6FB2-4TD*^A^.SU/%-ZKIJ"@7D"= !\ 4LSG'^?6M04L]E*)3K= M=)5NZE)$:K'S,QE+FRUML^Y10\GED&'THT\C.M<<+]L9E5"[4\NG*M/L@U4;=*\#A4%'9KKF*K 1MMNR7A?E@ MOE3 V$W<\?'#]J+/V+K[9JOD::^!V)RZ\ %96&1N+2?X%9X?"H!,C0FT[."W ME G4@#]D- L>;UIVF-J2)>_4RS]%E+RL-%Z:#//W-%\QQO5J!PWJ.LIT]734 M:5R>#,TY36H[X%IUV1FQ5*H(6ZV!_9?R.O4YA\FD*$/5E M-#/,66^1JX 8RC$=2<<0O9AJEL33UMO+"=IAPR:R'=#&<9]M3%%X$7:SU?'9 MYR&Q3*V$DA$52N9X%GM4G>F<_0C['.60+:?9C30/CL@5Z$JKI;>J"E6--2XXJMIB(-K'?Q?.12LO*$"!+NN:53 MCD:8SGCV^+!\D.U6M_D17>FS$13-Q?/67)0KPIA>W8L&NRJM5%",&9X%M>HP MG1M+/!\>OE\#X\=>^_8!-';@U[^C#$2$(6R_CS3'#6;7.=*"..UQ%!AGQ^S+ M4>+3 SB9!9XCV/N2%WB-($+R%47T]+_A%K,62>[H+MR09">GNQ67'I2RO1' M0DF?32W2JJ05:<9YI/GXBG'5^W:1E^= +:#[,-<6YOL3#'52U32=KV5*G9K2 M*\?:<4ZHDE+=6>A">D&I%2$6,(U-,8?82?,<.^@U&?YJ%+T_722(15&$_JG $TF"/A== M_15!M6!0%6GI4R?VY!/IY"L MIL8Z@F8_+#I*7I\QH#O^/M)P9^W6U\VY%[W9CX-B].+O>@BH&,?& M]Q:*0S:2?\)1-#,MQ*8RN7%& M9%/%4<@>M4O.4RZ6%0&Q'$TITM+>3_N%Y>,P>G!X]D$$>NC#+.R]@O+>@4/( M6=@KQ="ADG= DQLP=5%+)%G^&;L.Z7 ,?@Z2Y 'Y^8[JN0Z."1IP=A,$8^$! MZ,+4T$-+$_Y3D6";_HTD\V9--MX3\*E^HX" AJ!B^> ".+E!FM9PT=-Z*8: MZ"DY+G32A>2?$<'Z+4?HH+%/![[7R2>%H@L*&+QSFPS"^.:W1[CNKLUG&V98]<=O'HRF MYWV->XEP^/@V-F%=_QR''PX/\5>RK\Y2D'X.C+VKT&;[#;6Y 7K:0)M@G BM M6GUOPMW>@>TA=1V2/XY#7*[,5(KP([LXEP_$@ <3U78,-K M;_-47IGWZQCBZKE9R.A+";X3RMIBJ2!S$JM?21YR5@BEBVPV/QGE"F.IGFG6 MEBT=6(UA[Z+4:13,K>O@.N8A49A5E?+P]+"$%#C2L#:;\?I7+);[ G\\KY? M;3>*9C6=Q D/BBN:@,.F_ MRB)GZ3ER#B:Y)E!S5DI8-.E9C);J,J/?.TRN%@50,[%PY##F^-)YW#^M M+U:TV>__P#_!JV0=S$%<)#[X!1)AHDO+GZ28.BC^]>=OL[$P%\5KAJ_\@DJ. M#K/X*[^= $W_@[>Q]>B=YX5DI.N_7FI%%SSAY$T&L/\-60&XVY;S M8$5@L_7O?__7]G8V)?(AV=1-ZV]O-LZ$&=Q]@0PY_[F>9L[A127"$>8?:O,G!LH!WL;2(K0%MYV27>^NX"O2 M8R'XSK0U3.(_+:1+.-JRAS(?Z8XY^8Q/_JQ^\VICY\IJ6Q?#0<>\T>TN[S J1&>4YF?FUFW&\Q MTPO,LX^/8X#>J^U_N1+UN?)6\,4QU2FNH$E38'5Y!T6UDR[F"K$S 2B>?5",(K #.%<+-]%]SO M!5QP! 4>:E%]B:#KCI+DJ0O(>RD*9WJE/2:\)W@!V*R:@1\Z\_SI!E)-1R/5 M.(X%MH&W33M, =UD4<]R)6L[-'F$;BPTT9&AV0,_1JEK8XV4VIV'AEB1C7NJ M9;F7ZPUR*M,1NNVQ[E@-P^TGYQ'O[HWT!\;R!K]* MTE":R $R/F(['U7U(YT'T:JOZ@.A9(NAV0BUN68(>XIBL3N6/H+GY_)X2: ] MJ+N35-5"*C @A::NA"']R?7,K\/Y(VST#)A)H?)15DI,+=KBAYF8,-;+LYA6 MON^T&#"H^)>$\:X/=5MP7LC#<-K&7FW0[6W76A+8)CVY']BL:=-V@H9?1\F6 M5OE.T9%DB\YU(XH]S8X3(0&3+6C=AP,^PE224.RQ< %(AX%T>OKTY/K&X]S) ML=GF*AI?C#3]<3J,15M+\W0$Z5CK;L MT*BF2 ]E$^>\)5XB4"MX'0F@KH6W^XJRL%6RN_6;3N+H$XT(%V,[ .]AZKKK M*@_[CDD$NF*$01$I'I7%7A0Q8D1F8F)/864Q'HLF8BP3Y]@>^\,SIJ1UE_[, MPM >HP^YSO0!E5&BW:\*\3EFR?TK4WHWXQ0GEB.TEJO4X#&549BI"E?&]Z]L MKI0:;3/-6:<['_3M8MV.5:/S,@RU%[A/C?+;*+(6NN4J-\X.B59WB9QYL MJ:7,0X,!N^B/QLB,+IK]NC6.)N%*AMFY5.3X6#\1DWHBPR<28B0!@C21D/JB MS"<4Q$DTDZ /'BY'6U*FYZSZG5 ,);B!8#"H>90"&'NUM N:,11:1@P9_8$P MLH;XRH.M.1U&LYR\<]]A"VI^M.J8H?ACXQ@%]/),I"044$@H+1;S,C<;I%8- M520#E':O-,6L/DFU^7K'+3=7H92JK-K+HRBP5#5J.*U*AJZ)[7+J2<_QDI,\ MAH*GIX(A)":%D"#-[*2PLMF>SJEBY) FHK0:="&DA2Z6=$8]74^/FS/Q>CA MV\OIB&Q*C5IL%'*L>&B(HMV^W( K@[>?N;U=&=DV0K4)PL\RU#+"J4.'/>T> M6#TJCR)H3K?$Y*/2:7-I==@X4Y>Z]W:?X_SN<][B3]QI[A7'Q)6Z(;I@&")B MKRBX98'M6,17Y1FV'K)-0]*Q>8L7K"$[T)/QV:%3 M<@A6*(43NK4^4./F;I)#!EJ([261 9GBG'9/7P%%6YN0_DW>^8N+XSQ#QW/@ M!;3GK1AL85B\XC=;0)36)[KF)HT+9Z]*P>YPQIN,2#(]N6\ 2FGP&RCZY ;; M:R+E?XOCQB9N?8D_X=H]T\#7'-^^) >1-*Q'V&@B6<2.#U.UO563&V$MNJMX MK3GVMD5)P&<.\2/(%J[]U36IMP:]ORK9M2R\P_U[MZ[%&@CV#*1-C'IL-\)? MMJEK"G$JI"0=0Y9J#1"\+4Q=M6KR&>NJ'47#-A\17]EU<;D%A#AR[8_\U?C,SP.3,5T:][S'! M$S^0LFDTXO5<6__LU8Y[1 ;+)ZXC[/KQLSQQ@@2Y$Z]N\^#Y !F41O@&&S; M]SU-^:/E^!B3(&LR?P>?D$KYB>9\0RL4&' MF50;3W1-AC=A)B%K=?W.3[!FBT".M(BR+"\9TCJ HF9X=@8Q,F>2YDF(H]"' M;6^$Q%$,^- /X!VFR/F 57G,.%[+J6=00T"UQCY>#(5%*!;U(=QZ%*]:.X[! M&\=M2(1(XXTMMH&2[1&89U5A_,XD2S-=FZ 6_VB9KCH ZPK;6+8Y)OCT!/18 M6JY9X/3*T;:9VS--6+%!5)LW:$W" HY93*.UOE?=U38%PI=;UNQ,+A2EAX?> MH--]L'NSN+O2JX+ZX_* MM,"D[ZSP=Q<9<%DB9 M028S$;1\?\K/C(FTPD'\*,E@/DB?]JSRM6@"2M!]1@9(V01N6"5PO&(>P!G) M@+&0)[P\!Q@.37O5IY3M]H+[95ARH,0L*5(@YJ71$R]O,=&,<"2 MS]9 /H :).&2FS75;^L=OHC$>,&B%C\5Y]5;&HA!D%::@M/_/7FENI+7SH&H M4MM7D8I&K+O)(&X,W$DJ_!E]KPG^L+>+A%D/+0(G5)LP5B(G"'#=V)HG#:5K MJF>R"+ZF),1DN]$PMPG7.X&PDB'9?G6 3?V+G,8@!4$YL?_]DRR39%BL\Q1( M3@'.4="EB8U^!G]LKPHOPH_JX\"U[(7&=[,(MCN!>SD$]$'\W[&"MP9=MCU0 MOW'X(!VF7QREN15JWWH^/D_[ (L <\%G4K'YTTNYP-+GU6P'/[>%O#BX5.J! M;' ==.9$AY/TM-])6/G@.)<7QWW?\/!)>&#"L1M#7 4BZ'#\Q9FO-TQ\FFCB M7AQ^?D/$I\FFEZ<@WQ!QDTU_&29NLNEJ$,'>\' %>+B)IFO!Q$TT70DB;FK3 MM2 "9!-WP\3I,$%&;Y+__RE*7G4 GAL0NS4_.R])PQ9ZE@8/S2-]AO"V\ LD MPPX=OB4"CSY(]"!N7P7)?A,P$A+\29(;\%\'/WO%*R1(_V:4G-/I]RE$^$?0 M?@_1^A "1.,O_]^/Z(\_A1:N@ PJ]H*R2&:RH C&J* 8\(SPC$]>*&M\0QI4 MF[1$J'CE!L)NN8%7[,;1=T'56^\T%/:R$G+F4L]O072QKTUT59P'\0;G_\@R0OW^YY+&?N9ZD#7V+^;?IU(Q+[W%/ZIG/$$:SJ7W M_;\G8M3H1;:RQ9PD>W"[RP^'6PMM-6!Z:Q^#=Q?7'^]46Y7H@A5SAZO1E'UZ M<#CY09XE=\=^<^^H9=Y-9L;)L.L:9>Y'4,%'QU/"L'D_83N:P;35!VG2BH=P M"2='YL9QL<,ZY9.=\->%_0MQ=.0R;'#CZ+-P]%YGA\5*X4*3I%RE0Z)>7?7; MXZ1>;YR7HVMVDQ&%N9@6V$9E/%@Z Q0O8X[F<=^!.X8^[./PE3GZNA52D@!R M::C6(MR3O9&RX=^W*B.:Z-:.Y/+CA.I 9(;P-Z)'[]CB3LNRGXK M]KX=V.?D:.[:RQEMH[[H'_(Y569R$U\8W_>V_!U\<6%_AVMK[!S6$)=9&VOKJT-%WG9U]; M(&4[BR7H;.O1\ZY;Y4/KVN,^0N.PI!?X+W[ 7\0YLLO4>PSX;,SXOZU!:\6F6;L@>FY9!.&D$A[Z;CA#8.*C[#ZZ&$A[2YW_+Y6FLKSU292J8\ M':LR+ON-&Y;/E*JV9YVX7J[DW9%$UPUQ,(PGV_;\(J6JN$SX];X3> [4IBG" MFUI]?--"4IX-QV\%C->09,F%Z5N.Y34@@KEQQ)4@ C3M6R;^-6#B)INN!!$W MV70MB+C)IDN51+Q-;_U6.?CGD=K?"D0G2'"+AJ/GA==',V_.7'/P.?3RI5-A MKYY$@N;I/H4PIZ@0N Y9>^$PZ=F9XWH3?SVB_]H9BZ=*_/WN,O(C9LDM\?<- M%L/79J./)?[Z!\FE0],[I(&;KH:T18GP5O*PG?F:)D][MET56CY3;'V'3 E?N/Q=F1)_,&GISU,CUD'0M#=$ MX$B:Q&!><8HYM[@2NL7LDR9G&V6D)+U,Y7CBCHV^E"7Q];CW^A*?;NS\]=F9 M847.SWO*#[5ZY=Z5\G3IH5-B4RH:ZI53Y2:_@9^529-]X-RNTEFV,P7!E.+J MI)ST\I1C[%V4C[Z6]73=1G;U31-1[B@#D=D4P;4X>P+V^F6LJ>L02]=D' 6^ M@F]@U%R)U/IL)63#ND?DEM!ZG,79<>V1'@\0_U#)K>1*<2Y&L!["LB"XV,CY M%)&_5.NXL?=W9N]/5TI>Y.^G1PZ-8ZUD=U2;RTT EA&-K)+ W[A^BJ/O8O'8 MR1632ZO5G\_8-Z_(WKYWQ0 '8D Q\0R?RPBY\]I9%]_KY67>9ZLT1P1=DTD5 M!TZWR'9JHWS&KJ4>2Y.**D:]TF_F+A9[2=!]/'B(HFR M S#J:S Z&S"287;X5_S_GJOI6*S8E&[*I#9),ZBT9-FF<4?AQ#I@-T.3R.!* M/,M952VDXAFN^!TV-0$B1QLOGF[:V,\GFS8>EPS?_.^Y"EAY$01&4,&Z^>#S MOEBWL-?16=9AHT[24(1@CG5JV5Y.O$&:P;5E6$,J -<6QCCN;C>&,A@PF9F M_DC/W*?:"-7*B8F@#Q8HOJNE1-\AF6!U(/\5.VN98TSRM?ZSZUU+*WYK".=8 M=^F''MMFZ-)J]52?IJ1^)M+X\3N2""<.!!4%)*B3<9H=,L(;EZ5M4<.=-YX4 M8'"W10R8-+0M. "%60B;YLJ&KH!X,&7YE*$!/O'42U(D"9A_2R7A=2#Q]3&I MI'H1(VHMEK:D$OFNX.U^;UAJ1XX@)=<>S81I2[%JG-IJA>3DC]\.Z?G\PL#4 M#9L%8)4,PR4S1;&3W!MU3"#O34_VX$1&J4[@TT(;DU'G-_8[RG[/83))8-PD MHZ[K_CCIH_Q7:0FQ=H7KK#K3O)/F"VEVY3K ?TSX4$\(V,]CJ:"@>!N=9, V M*2K>L,UK")NX%A(76MT9-%;S^HA?RJJQ8L>-*I?\(A@K5+,G0!F\VH5#JX#3 MC9#M-('LUQ@+L5LH2YK)A$@O2JB3;M/S=+(A1^,S%4R]\&&+KW\VP\$#]ML> M\][>9KFIB\](#80AYL:C!R^2',*NA !L."0EV_9ND3 A[,?'R LL!(_SYK#C M8>:60LYU%4\B]BN+]P[T&Z<_1S;PHF.4DP-8EDW;KB)\QH(!!(\^RNQ&5TRB MT8#."=UF;?34M]-]-HX/6SI\V$MJ<]AB*B'X I3[;$]TJYR/P]=T-(.,Q'ZF M?AS0Z?@',^"^X VY#HX# S=W'YNDN3O:;>Y.<;2G,GICJ,]CK)RXG.=:')^D MGFBK3$H&Q%G8]A_\4C1[HDO+G\0&W.O10294X 7 5WZU%D>'6?S5;BW5UJ-W MGA>2D:[O-]C8<:.?MAKKV31.-K)Q!_@N 1SLVZ^XPO_^]W_M%)2M'1^A8+2+ MY]W8 J$/&I8X.E04\NK5I#Z\_Z>DSZ6E[6\VSH29^*:32; X#B\J$8XP_U"; M/S%0#O"&.R)LP6VG*8)WUVY;!/^[5XKFMMJPL$R8WT,X?X#M4U,U00JWP=-\9?20TE'#BQ?TB;I'[%)#I5>FM>SB1&^C7GV\7$,T&?J M2A(<$VES/-;((8V/);Q=0#\R9 W9&]2<9Z9V1:.8/K2,J3F&H^ M5FJ"FCQ3;Y*WYU)73; ;F B680S[:VMOY+C9V=TZY?IS)/^+WI\K5*&X(B"J.ABT@#&=OM#9'L4(Z)%45M;/LZPO[C)4LC MKA;3)9X7K"OT7/@&V7:8ZA(%=:8IGE) W#$4X2=0!O"3MVF F@\06"<44+E- M]2US#&N0!\';->SC,7M$%."58 5#&H,L=_!/V&XQ#?AQ"43O@ 8&EX5!'P%] M#>O*H#W#$N'Y<)=%:>06X&_ ,SP-UA$L$H#MW>X0>8-78$-!,Z2;1-<%D!?Z>%7! MMLF67*,OS4S+DZ*N0W0T>)5A.FN0DEVNX=L#7.)?CT&5;%HQR>\2R=OW'"^; MU6YO'8,I_-?[22N2 :H$L;T [JXA^60GV3)H4Y+F&5*N'E">CR/BR'R>]7Y1 M W,.N+?N***>;),B,)8-S_.0,-<<8"-@%1MY=.-((\P/FN&QH VD[QU>&S+3 MX'Z+M(:2L0T*R_?)V.-=4.9=L ]@'_;_P5/[HTC78*TV M[%1R, <.P.;$IRBPA&:Z-CRQC^T+&\-EF^^);WCG9@RK+P)#GY-<0E# Z):US>;6SH;$EK,A74OU6O?Y M\J0S'DRTU6C)IE!=_?&;/^*F FAN/(OG WIP:A+/ MF@ER!],D4".0'-;%;(\,,7E^62IL!GNO;[9>6^^\9J3(CNO^AH^BP77F^?8J M/FL+.7K),E^7-$\ *(/.-JK3^H/8J1E]+9DSLO6D^XTZ:]=#O<*#VX;\ZU MA)/)Y/WHB69@T>2\<)V(+V.NQ-:/^D>SMV^BYOJ0.+6%_S5UGO; ,EUU0-1. MA%6,_D8ML9&OABH[1K2GI;]1L,6)H<[Z0WXZH,=CQUH5['ZYOVB\H07W MEC +I5%;L%8I0V@UN]U*^VG@S!_5ER)G)&@-$FTO:!WP!# ;2(]:?T,< 6VL MI1>]);W$1>FAF8E*)8'O%YJ5Q5/DZ1Y.'2]F?2B_K W)^5"P?Q(X=YR@+Z[_ MO9=H(!C(4I?_UT0&FN.[MGX.W MU;8+P+.[@%^)0P#_T-!O2)]G?AP\)I-V;6#AZ=KF4H0OUO[-H"@9YJ,_3 ;KPV0 M'KX>TZH+O\.[K1'";H9:\!3/L6$1%P4V/VURPR:4B%>\,8:V%9X>2=WP5@&Z M#N!A#:?K/DL^1U*@=2WB<4(BD;SC%+ZF8(_(-Y3M-0O7P/*6X%YW$M #Q@E@ M]Y G\(/6;- *".2&IF!=@@3P](%X%$TV,3%-0NG 8AHL0MH2[EB.^VX-K$D! MB\"+L918,R-<,74)(SJ#+4F4L;09,4R]DR1$N)/P.+QI_7KLR%6T?A\!'>&' M^1X/!#+('&.]9R!A 0H;MQU-)N(!X1WM2$I#PA(&_^:MP%^8+R+ EE[NW/0K M2 4B'B)@;^*RLOVTDL/'.\L)(JX1G([@E>#:CHG)T;6#'?HW$.TB]LM>+\)[ MPAB!M02V.]D[K&;KCFWG[O;J-T)^RS&+C)EFF6LIO+W4]9N#Q=UHWQ-1?@Z) M+ 7Y'W *(%!:"7Q5"[OR ?Y]S4L2"[!B!7HQ-7$MS!T 6(G8'@Y9HH6FK@8T M-W05[P;_K)K B8M?LCD"O9-H3?!C:1F<,1M*E62R#M@((,_"MN>5A/^3[G8W?48&35])):JOG(/0$.#DA M-U\3&0$\Z7N@L,/2P@>XG\=*W)JX1[\D$Q((OD=!KHL?8=FY=W,4^\,_2=P" M@(O/@!L5MXENA&<>$)>K#C4,6\ /*J!>%1'7/;$ MY,'A0:*KP($7Y UYA+HY]PB_28<*Z3:S>+EPM@-,LZT18VW9\-QH?:))DGC< M A]K1[8QTBE0&; TT=S.&\(!$F2U-4M'>M@L:FKGE_V[!D"@S;$?QI M:CH E%3Q>&89CG2!O$<+69KY7_1UTR3OAM?I=Z!JJQ:(6QLO8"*!^7B'PPMP MAL$?DT"_WG[[/EUO78:_4RU,MKO:S#87[)QG.!Q'F--7_ZQ OX=?",((3_BX M TT(EG6W=5'?1;K_B@F&GH[<\>:3/$!CG ^V=3[>X3-JCG0=_]?&6 90XJ-[ MG2A(V(O(4KS74S+/E^"5I*Y[]OU&'SJN- 46VQP N1GO=$>"ISV$#)!D8%$8 M0;F,LW.6D8.**"L.#F6"!O[_V7O3YL2196'X^XVX_T$Q9^9Y9R(P!TFLW7$G M MMX7]M;VU\<0A0@(R2LQ1C_^C>SJK2P>!=(0)VX]QPWB%)5[EME O";$7N& M)0#@?5L>JP*FP8$NJK]H9J@1"IK5V_V)*4:D%JV<3E M-0,T"8TE :U6));=T7RYIR7R3MXKTF%VKW!;U&=*6DUTJEVA]L?UIPB?5BM^B=G)5N M#GJ'Y^[QK;']K"CJ.0:9)Y_U$KV MT8UW^]B[.=QN'SQH)_ZUV8$G*Y-/[MAW+_*=MF_V1L7[DT'QI2 K19R[7)I\ MLMNO/]XJ#T^'C?+5T7G/>RZ=GCSBDW)A\M'!IGE\W-VQ'Z\NRMJH<6,^WO0, M;$8RM>C57<>\<)XNU,+%H_UTJ][4=LI]?')Z4:MQ2)KM1K-[=?CR[#5(J^ ^ M$[SL._7DG7YL#JW'*[?QN-?\;=L[]=N[>WQR"D[#2K6CZ(:^VS!:NZ7?AQNF M>3/$9@)3&WTY[?8-ZT]LK6("@ M[LO6Z>9!;7#7&=Y7IM^N[-_[N\6]HXT"<6Z>CVI>JU]OG=]7IY\LM4S=O2L\ M[EV=_G[N%:W>WEWW!)^'G];=Y>[^.3X/N];K:)< M4X&E-*+7[HNMBGRO%5K*?4&NJJU"K2VWBNKDVD_DKE[JW.QJ5Z30^WU_5MN^ MN=SOS&*IK<;F=75$MOJ]T6#;L&^W'ZWVS4R6DL_O=DX&ZLUM8>.QOM.XVAZ> M7];/9[&4=W[3VW:\T57A]/+VT-NXLHN#R_-9+'5Q<7[N/5Z6.]J3K#62S5.??.^N:AZUR5*XXEVVK%;'>' M,UGJZ>KZX:7Q\GQ6N-$.&QUGZ_;^V1S.8BFU[,@/ENI>][8:QJ!3/1WM/+?/ M9[&49@R:C>O2\*BG]'/SB_> 0*]=;"UV=\ZJL]B MJ=Y![WF@7#1*O8O1Z>!LLV'O79'.3)9Z*NZ<;I4FFV;[L%O^?L5H[UV\>G3F<62]7NSMW=P7'WI'&X2RX&O7O'[:HS6>JW M==[2"H.+HRNE=E5BX/&S(PUDL936J MP\'%YM9S873O;;:.]*O^\^_Z+)8J7AT^Z$^MO?O"17'W=_WR6K^LOLQ@J5JE MIK654OF^VI;)?;'6+-S7JFWUGI0KU;*JU%2EW)I<^V!8VM[VE?.+JT-RU]BR M7D;#P_/A+):22^7-PQ>CV6_<%+5.PSC:/SP]J<]BJ4-RNN\[9K?8VS+O[BH% M_W)[:V\XBZ5.FL;P_F#;51H;>[]5[:7R4OQ=[\QBJ4JOZ!9/?*)<7\MOGG=G:JDBZ.T39W?[U]5NZY0XS_MG MO<+=^4R6LHWF2]N[+U:N;JZJA8/&UKY1W#V?Q5*-39!,Q8.K7F/CY4'?5SJW MUOG#3):ZVFYLZL-V_>'JYNCB>;.V>>^U#^JS6&I;-6^\8\=P&TJILJFU[BXV MG.9,EC)[G7[WME\X*92O-L_5D:X]N^9LEKH!XV3K_/C.[AWVKW_?;YK.*;F< MJ:7*SG;A9$,]VNMM=:L7)\[>8ZU_.E-+^>IVPW).?MTV-AKG!WL7C7.OU[8*/F?:O9(J5BI=HJE\I3NZB<;SS>/93/>_WG8?^\ M?7V@%<"@F<%2E:N+AZ.M@\%NX?'P;N/:'UBCL^.96NKP_%>C*RNU1L$XN-9O M]RJN_OMHIN'7[#QW-:][LE\X+:K.8_W7[\'YV4R6^G7O/W@/QDFG1PK6V5/[ MH3!T=NHS6>K Z! MZ36Z7[GL'!#-BMV73$VMC'9\?/^KKETU?+^@5(:W MK9%>GVGX;33="ZM;]2ZO3@^>R\^R.]B\/Y_)4J6./[BXV]K:ZXW,+;7Q=& ? M*_YP%DMIZNZOW7K[EW+E-XV>5SER_:8_FZ4V-^NU_7.K>=C3VO;5R67]Z$"Y M'\YBJ=MV>_M\_W+GN?&XT6U=[%2/'TM7Y[-8ZLF]Z*@OH]'OJ\?GF\N+D>/L M^?V9+"6/_(W#;J7;+BA'6ZW>P_7)T]%I9Q9+G1@7+[4CK735.VP/2B>7^YZQ M_[LSBZ6>?C_)^H5YL=%0E$>M8'4OAZ.+X2R6ZA'S^G%XJ1TW;AY=]]>I7JPP M8S+8I_'\@]=RL9#UFW5?O)XKFS78=+46W@.G)]G >.0/'[MYX%]37[/%:*W\ M1V]5S;LN3^^2EH^-3B8K]/8M5LD$;]@<\2^G:_4NMDK5PJ"J_R[X7FO?.2$O MUXVM3BI3P+^+N_' T#E:32$D-?^=Q.QK]TWS/#CY@L3_ZR8?GPU?DO"(G,"%>*>2+8N;LUULC)#F% MN5P1B,@ (I2\(C@B"XB0R_FR+#"1 4P(V9011,AJOE05F,@ )@1+9 010EUG M!!%"76<%$T(V9001J*[?')HD,/$Y3'QRNLV[T8UU&$W]GC18+AB$$^]K7YUX M7RGEJY6E'M6]P]N,LB;6L_N,LL(XM9 +*N2:,3@*-A)LQ-FH^%4V4LMY65EJ M-L+LV3A?".)(CC@*RRUCL1.$$)J"+[X/@_<"%.L @W=C W.^3Y)1L CV^$!( M.W55\!VV,!:$4!1"40C%Q0C%^4Y;GY-0%$:R('BA#X0^$.RQ9D8R[;4@ M#&0A$(5 % )1&,@S!>+7C..4@^@?/S&_#+,L2N!SAV/NSO1_3YTV3)XH7TV> MR-5\M9PZWK]#^^%UJ+6FA&^9>@+[2XY](0<$)21@X:P:]K]H X5MW7[\1]<) M:;<7:_^&;5X3(^.T3_2E43()>+1IG_O/Y/S2%(X28T=Z(SC>E4_%5H"QAHD? M'9WRZ7GTE9EM"((1\^%@]$W>ZC^8=4('T>.$I_NKNM7:YA_SJ?/&7>]@X\K< M>FZ<_CI\V'K4JT9I8WS2EOJ)J?-<].PX=A\["B($;@RON\7[FS>>>5?E.G;G M=TGK4GL.1[&H?X3]+2Z5JU']SMV$<;Q^2K5N[N(>]/=0__BT7B[FR6IL: MQ[(R B)09HD9M-GFE@\RR\!WR/VS<>9USU^&9[WR2.]8+TK__$2M9XI;/L(L M?-H:Y90SXJ!^USHDY(,-)62$BZ>=@;%W^:O=TY31J7K?:QW8762$TA__%I6\ M/,4%?ZT,&P@]*?3D]_2D$N=\Y9N73Y>V=]"0W=_G*>O) MUN.ELK%=Z\A7ISMW>_*YLFGOJ-A_L0IZ4E9SA4)5Z,D/.WS9YI9YZ\D%O*7>WE3W1PUS$+9V3VZK_?W&YD,&W.Q#*&<#"GR M] (X60!"8 .D#(4L&01?=P48_T53"KF8&][NW5X[5^YFX]38KG]8+MJ8$Y[E:+>:JQ6EI*"3+LN2(,FDW77W6CW+IX]]_1>EPOE$?(+^-BE2GXZTI2_,HYO-WJ#ZU/G] +E M"CKG%3DG*P6AAY*)1;LKK_/$LDJ^4KO^-3>VBKM]S9NZ[WB M5J.RN:7CV"!PMN5"(3]M$HN,MM"(0B/.R?5^?FFI&X.Z?E+8N#=/7MJ7_;IY MEG96^V)8M;?\T?W)U<7^]IUZ=_^[9Y@X!ZF*&E&I%L%U%GGM[^2UEXHE%NPX MO\\2R6K$ _WNX.!@X\[J]1VSWQB4O#O[&NT_='O?58G4[_TO'923&9V5D6UD M)/H;3UR*3:OEMY@+D05$@*TK."(+B$!+7!&8R FA&S*""+$ M]*"L8$*P1$80(=1U1A AU'56,"%D4T80@>I:C#9+$!-?J,Z8;X^I)6BT]9XT M6"X8)#,]:+G;\P33@RS#6M3P(,%%J\E%8GB0(([Y# ]:;A&;R/ @(317BB_F M$Y]8!QB\&QI8VS; :\\>V>^+/H?A06N/=2$4A5 4[/'UN&%6A:(PD@7!"WT@ M](%@CS4SDA,>'K3V&!<"40A$P1Y+;" G,SPH_?$!'S]QXL.#YJ_Q/GXX,33D M$\!*?&C(4E+"MTP]@?TEQ[Z0 X(2$K!P5@W[7[2!5FMX4#JS--)O(9$!3";5 M(4+)?)OWN36 D.TMY52N=\?)":5^;5;"D#;" TI="4W].4B0Y$N7[9>[BTR4FK MW]_+S_IU62GLRL-RRW-OO?OG(1L?).>*Q4JN6IK7 MK( ,B(A$-64ZW62SI"D7S"_):LK;K0WS]X9Q8_;#B\X2)CE *-4TUB)5N1A< MOR8RR'GQQ3XPE4+_\MH+S;/6V:VMUS M-D1(S15JZE88L&.\_LLD:Q&E(O:QMF>?[?=.[7/KS?[+:O9 M/C@70X0HB1@6O,7[H98G]R7-N"")?_\PP(DV].E+DG0Y0)+-D(_CA&SG1T#O MD]^:AD5^ ,<0!_^:^IJ]BL::HFMXTJYCNZYTYMAMPTL>'KB1C:!E\=+@B<%D M0&$B-4>2RV$UU%P)_J]MFZ8]=*6_#4ORNK;O C.[__Q8V/9693A5N4;GW_WQ M[>%4Q7=&T(OVV0OK*%\1B,@"(I2\Z.R?!3S(I7RQ)#"1 4R :!(LD05$R'*^ M*H9=9 $3@B4R@@BAK;.!!Z&MLX()(9HR@@BAK5,>3?5>;&,=VKB]%U98+A@D M,)I*SI=*2]WT)1A-Y74=LI#95(*-5I:-OCY^2%WV"6^)SJ9ZV^(2Q+&$Q/'- MV51":"Y :&:JG=P[D8AU0/B[08!U;2<]9_V0*3YXU^U-7;HG/VYJG? KY)R0 MC$;^G$1 ?M7&PUCVL; M#R_JU>GETZ7M'31D]_?7)U"\K1.;A[L[FX7!^>B*/%Z9G9N#(KDN=MC J4HU M5RB6A4X4.O%#.G'!3+ (G?C[\?*Q?EW^*G5TLU0-9E#)2GYZ%-LW M>E>G4("3X RJ=!,$"U3::S[X@NO[)>K0GUV'^)4._*3US=M^PW@<>FJIGMGIUN#FY+^AYIU]DX*; #U#DZQRO.(T*I M"J6:J#/QBASI7JE[O<% O6R,G&[Y>JMWT]J_G)=2O;Y].FSVK_UF8=>Z>+'/ MAO:NWJNS*5&55,M<%?8)0]];-FR6B8<#Y.M,*^4_$?7GJ/RMUO M3]5_ZT_UK\^%>EOE]TO'1Q>7P_I98ZMS>+=_]%S9;_2&;-Z37%%SU=JT/!.1 M=!%)3X2.%Z&N]SRM?WY4['0;NX7][?Y&:_14N0I&/,GYZ=H)D1\6JDVHMOGX MP\\O+75C4-=/"AOWYLE+^[)?-\_FE2,>7E>5O:-?E7:/')P2[_*WZ3V?#]G@ M)KE4S-4*TWFPE>%]H=KFZ+4&U;^Z91O:^?[C2,VUN]\'CWA/' M]T?9"*&Y4D)S+N&)=0"!Z':[!EIC3AYRZII@#F-OUA[K0B8*F2BX8^5DHC"1 MA8DLU(%0!T(=K)9$QYEDX&KV=EIR[!"71>R M=!E];DT5Y#E,\7A^=BYVSXXKY89B%W=4>W>KC[MU&RSIH^.52 M0]NM]GIVH\-&V\ MUL5%8W$3A0Z\5LZ,=$I'MP^7-CEI%4X? MCH8O5OUROWPQKPY\#S?&5>6H<_%R579?;B\?'_V'0;/.1MG(Q4*N4II7![X, M\+W0B8GJQ 5SP2)TXI%2.CF\;+MRKUS;.>]5Y(.6MMGALVQJB8^R672A3)*C M;%:_B[;HNB^Z[B?J"KS2:?S WZH]O=@;7F%7/VS>]#=/'F0R+Z?XI78ZZM9& MG5KCU% [NX>5JG-P4V>C;)1R.5K/OII_"CMS-D *S+ (.^"IN:-L M7%]O^E>[6YNVU3Q\J.Q=G/-1-G)>F:-SO.(\(I2J4*J)^A*OR1%R7GRQ#TRE MT+^\-@?ND]QT;^OG9SQ439R6_OGBI'F^?UQLV.>?6PN_&L]ZM#/LNFEJ\E[URO["B;#$23 MLQ-$3[T'_@*C[*F?-4M&PX3SL6^-;..ZWG6OMOS1]MZ=X^M$('W5]/VGZ7@1VKK1^UW M5 I^\;YU/;@Z--J'=YVSTZWR=IV-LE$+:JY4$*I-J+8ON;+O MT_$B5-N-_7RQ6_A]!+;;U&I7 A9'0&I5 N WVT3G7\CT"T4R7&G@ M$!=O"[0DPY).;(](90D/*\L_Z?\J($F-UXGDCW\#E-&W[ ,#6QT#57[==8GG MTB5D@)OQ;UY*$&R)$O(G2#5#M)$A]MTE=@?49M?0I5^D@TJ(DI#R4^(BG!(' MBYXQNA ,'C%X7WNP'=@,LKCM.\#=#&; G0!^XPEXL^W8?4GW73!7B.,BJV*? M853PV%P8@\JN-#2\KJ0-!H[]#)K6(^;HHQ9N4EZOZWA1A#NB"KW=./NIG1Y?S>H__%O>5:27>H0B\#) Z)V@>)U MH%[;]URC19 'IDF[Y3M@8K_76WM&A+L[26EI?JKVK-*969$QQ&Q3B3XN]1!MF\>3AVCXAZ=5/=W-F[TK?\XC9P MF3K+0%\$^^7UR"ZM4GTY(=7?OM-2?.T!_7YUIOPK[+:QVB3U(VM1%:S1=TE#XA#)M'7*C&_QWVN,$WHN"''# M\C461\B*2T7'4\2F;N@FT1QT^KL_6X8[,+71#^H$\E<%82NEDE=+N 'XB-L3 M:B&OX$?CHSEB2X^MMZ$3T_SY5FXSV>$>KU[\58JQ%"8#I%*>'N"!__V__S,V MGR2,>$Q8B3$03N@Z*K/]K11UM5E4[PL5N7A?5(J%^V934^]+!;VI M-8E6)J7:'PQ,B^E>]=9=_+-?^\>GO_8OI(O&K^O]K<:%M'7ZZ^ST5_UR__0D MO*&?_CZ/ZR?UW<9QX^22.GN5GQ?2]O[%UM7%!>Q3JI]LP__7CVXO]B\2WG3R MGAXCDWVP I1C4&T=:@VXVX8++I<+I U61]W2S)$+-D%%3912/@KO>)!ZX! Z M<@I^@7N6E+PD1?OFV'"E:/_4M.(GH,AX"Z\N2I = PZM&V L@"QI4?ZFB_PB MKF]Z])'3 6&VE9MY_&8@YD2G PW!=I6.;+N'WDQH=HI@2+"O-P.-EUW#E\ ?## M7\&^8F_A4,/!\?+22!E]*ZD@5_@^LT'>"5X#%+L5Z[6)E)7<\"8XS^2=+#[ M/!:*]KJV"[]D.W7STL[K0 )WPO3!W3 LYB.A? '@ZL1A /,=">P*ET:2 9_@ ML?A]#!GX'GA^Z-<$4L@.I5!.:O*B2G@11A@Z!KHN;2;)8%&PT/$IW>X/B&>@ MI2(%MDL.-M+RX6[:#'H74UO#-^"[? M]:E/I@,_-P&:R%A&V^#H($X?8.$C1MT @QH\@)X-] M \=^F+4/MSOK-)C F/H,'PP^ QIT#9!YFB/! 8'^7$KBF-=8B(99&BF]_#P? MDMKBN/_)-F%C/LD5\B_WM&&X/WN@CC%#O4#&/#X ;!AH*Y8#MN%QJ RN! M'/!! B,DX2L0#0'4Z8'8CN)[PWU&7\$P:])ED^U M.?S-X9'CE ;+YS![BK1%X85ZN8/4P!,I$H@P^A 7%AAGUAAI#$&IP4^8[N5H MY'@U=*1:9A.[H/^H&J4Y&81[WWC&K82YFG!Q2H66YX2R.Z##==I47Z^#]H].#K@:&?#)W H@/0%20G 6EIM"/:B)V%B6?& M/11F#*_T:<96!G$CJ]S">@&JGY(*,T#+_H6#>7@<4$,PK>. M[7>Z^&]$280Y)A; MU9GN9F\%^O2"=W%":VH6$TPC%WWK"7&#OP>QB ^!N#%,X!V.!8RGX\X /X F MUZ=*@[\9#6M"Z!MI,Z2*14VX)$ >V' MCW8B08)BS["0L@Q"V0GTL4LB'6Y; :ZX C<8)3 U"%A@9R<_ PQ1OFG2H[2U M)]NAO!4 !#X,B1.)G\E#;"'9X1+""72\#

)@P1!QQX#31]L"P4/].Z0TH$=\AAH@^,H) M$\1U;=V@;A^M.L \L3>6PZ5B"O=HFV.'MT$VHKD>8'!7>]&D"T#A@,D/X@T) ML:1?&+?2Z$=7/0=>"YK,A;? =KEFCLEX4+$^G%B7ND0S83+?H\9D*VF>!E1DT_H5=A0 &T ;&+U%3&U$GVV1MA803%_K,?D_ MBDDP*HIG23 FMNA7**A '#-2!RZR \W%'@$#ACSX VY8( <' M($#Z=,"H!HF!3YDF878>? @'\$8,?%O WF -A-%+?OZD:& M02B 25T1GQ7"!SZ(F"@ M%EA2!A*M= ;8D_9S$@UDR_7 ^?X%3TH[3,"%/CC#?-VRD'K&XW^27-@X#$-_ M(X)^.HUY31<]4L[Q ^9OPPE15E.*F0BHX9-AG Q@VC=8-#V(%UXTMH+065ZZ MM7V)!1< X!KJ2<.57HTHYA9RE,868PA":U7PZ? [:DFX6$_!:!?(*^8V3OC< MW"I]W4,<1=)AT6^50>Y-)&379#=%F>4,;F=DT81;6$H<&!J.L6@3^6- MP9SPX+=O>MBF:^?>"EX[A!<$,V=V.JE$@X1MQALT0A-(?(OYYEP"M5 XT+_? MX@(J*EB2HU2 9;:HQX@JR"2X(4A W"4P2L88H3YE5GE(1Y2FB/&59 MRE/60R]=TJBMR6,JK?&B HV7103JJ4F8]<.B7 ^@QZ@)MUT'Y!I]0**V=!$+'@L&,_&2T>N:3A5/#^1F'LCEH000B;._+P$49B MS# 6.5X%CT0Q:X)^+R'.V&8QS =B P(EZ>:-9>,A< 3O>GU"2&;(;JX#"+VF Y$ MX=/FUP>&6"#1<4B'5UT[4083L(+%%@Y!&8H"BNI+?K7/_<$H(IAN$WS.\I&L M:=1_HZY1T=>!2#TS!@1Y+/@F+^TS(FL;X <&F1>^495NE'F^+7XI:6I'7,A; M9$+&@P) :X\&K+C/3J-#+,.%\>^7B,0B%T-BM I^9UY"G1/<:0SR#F!]F+0B MA>HC(+9@\:TN>"1!.1I0*HAM@RJH8ZT')PJ\]:W3[>.PD(=Y2S&F":A[&#$6 MS[806F=!/06G1]"+.L67PFH\+HPE1BR>[L9#[SR"'^FY>,H4>:85^6SH-P1@ MS0OFP6BJ[]#PPFRZ8X4$,QDB)'C&$Q$CL/2 @=$,^*T_",B')B2=&2R$"X5< M*[*<"VH "F4E;9H:Q\.+/%UEFG'N"44Y_HXF MUFB2ERJ! M?Y4DL2X-;8Y3UB8-J95!1BZCF1\7-FC6O=H7P7 71=, M*O!W67[%,5H=,O%LB_1I;@3_QKP/30#!G[9!;7,$_ O/G?=>V)?] V M;;L597K\0<8T%F)-*('29I/@04 MS3%;'F-%;CTY 2M+A"&,F30,=Y[MP+9RL8?:/C'Y*P8(/9/X_>A?>A?S2#31 M$N0<:6WED.#5=YF:+$L7?PS\(%Q^AJ[$EFCD0V>L<8$SF? FL.AH4+2E&9A5PQ($&B=C7H KF5AL:O3>!455\!BNIVK2FAE("3559;(].^'8,3WM=:C8/.>5@M+N) M"6%@+$+)#$2,S>*QZ'.%E5P\1LN/);E]+*6-G3Z\.H]5J"Q1"$+(\#![KV%" M'5,AM.@OEDJS:2V'1R/'_$H^>TV'ANKQ9<)8 \(+KG2'8&)E*C&%%O=ZO=%@ MW+*)E2GEZ(7?X&\/ML5%/HO1!YH.JWV(T6_ZCDNY:F""-] FL2JG'"-SK)NA M9E^7UO%$62O,1"+AM0T3W(WZ)-9?;<$0%$VSM0B8 M_$'9/B;F"% ^H?X4()"E)H[!"AM-8L#8PH.D36C'*O8/8J6(;PR8P(&)> MT(]X8L6,A$H.Y%+#C4G=)N%UH6U>J$!OZ]H^EZ'MF(2PS:#B/V2MOP%A*"!A MQ[[+O!I W@",G#Z^(%H?>26&Y[RT%11) M\FJG6,&I0Z)J9 JEN'ZBD5R'I6\ME\58J5Y@56'!QH6PHYZI"48PA5P@,9Q8 MDYL.]C1CDH45:@1> G-D:630=[#PAVE;('V/;I&7E4@/?HN[%1P'&.N&ET2! M$A: "+UA3,Y/%<5J.MU'K$".%?G1IQYL \,M<=MYK+=,WS<]8V#&Z^O V[6Q M:H,6TLZ*3XT=/!=R*I";K0>U^I'(CWU,_9VNYI#0%@0H!#R3"V4++XT:!9\C MM 8L/L1$2/RW402&4S1O=H">?[:)6&2%9V6%JR(K+++"*Y(5?C/76H\J,A$D M9T=[Z952?:[%PI[9DPLU18'_2_:"_-L[/K6DNM\!)26%#9J&L:I$ *"T"S)A MD)/V+3T?Y@+@\S 50'TZU$@;X+1VF4G,NP]1 Y#V3ASO^O1G4:GE"Q(8'OH/ 1!A0V:UR"MUW)X/"G.4BWTZAS: M=T%%?(^,0$VZW@9>.F#7,SJ!A@5+8HQ?QH(5+)0=/SC3HUC1A1*:EQ32^T5A M 3)/P5@TODB"F _LGO_T3Y$R"JT?P/RQ'HFL#5EP:"Z $D97@-Y&Y,+!! M?6,M-F8=1[GQ4#2/.6#HQ@^B\?Q$U)P' ,#%VSR M"T((+1#[#(0N=V5QRZRZH,[O4O-F"![U8K98^78]N-.2HXY/B]?#31$H2T3P M2RPLO8:&E63:&O5^D!P[/$<8M5Z*-0+]LU8L1?0W=J_[$A/%:RNZY/IJ_T4!/4'^ 3?ZK*:T?[%;Z%PWN'[S":OE]'*^7RPU&J]581&O MN+Z($OD?4GNX %=[]"8$*CJZ]6/0M;"[,#,W/%/VOBE(AN3XEN>IF$P,=T@7HL:%T9I@8V3[R M6N(&Q*MBZE@#[,78J\;CXWB_3 +WT<)T/K_IAZ\(S)2\$AHI84 VU@6!RD(> M!(O"41YFO,"TG<;8&+P!W!3:9Q?'E_\?@(W%][NLSI 6J++(+&V!B^O&@=M(^S&'>LFTL>D)6FW MX;6!5<8^BE]JI9>FX/L69M&B(AOFKT>WF7/LI_2N&D;[7BU',ZRVHX5UH*&% MUXH93-BFPL9ZC1EU3=A$@H<#PENL:-H]X=HF=B$(D#L#-:,\6,A#A%>.BU>6 M]8Q2R2P;&\NIT!7"9@;T3K).*0@3PE@@3:]=TEY![)YW'_,R,UJYY*5&\.%T M>Y_9U^IIWH>MS<[)H@.TL SX<[SF8\C*U#6\P!;=:(LU7F$'%M;?#2<81%S? MM@R/WPJ).E[0VXTC2T-3$(ND[% M"\>I<*/E,N-]0(+X$A:VT;>Q]BY1OBRZY,@*#8$=GZ@A0%F%Q6>PUB+:,S.5 M!ECZ3S\'RP#M"V9<62@N\%X-1HA8_PP2.[T[?GQ[LD\)LP4]C_0'= G,M3]- MMLX)&RW0>JPF B?,!.:BDP8%(U'K'&8B$FRJK@6-.IYHF7APN1YO.$D^JVRB M74VD)MIW&$>E!9SM6 $"*QZ+]W.R:".^GTR36,BOXR6UN\"66,]!VU A\-^,%.&7U#08TQYP[,W\'_CS(YN7]0P MA$J$L8XA,4%')0>[%!6U<@D\;]::8K+F J5;5!(2ZQ.)QO@@JGH)FA(B73Q[ M+&K*"PJ0C3 J&+3[>(U%.(U$%,OA%$<+E6MTZQAO #IT01&B6T#<7/Q*.Z?D M .*<7[!7"[=\@P/2A[6!.UG 8V$\EDD&ME<>NHTH.&)$6K,6M4Q RL4:P(Y- M>W0@9]O]4*!/$A,EP!:6O7#Y$# R@P,V=F+7\VFE#[O5;YI!60\9_[T1"]Y' M27X6N^0WFH74WS'1X @#PD'[LA[Q)ANC!98+U] H;X())A3QH;)_I2\;D$@7 M_-JPP-%%0M$"61R4L89L^$34UVWL-V,[913,VK6-E\ZBP$/SS]9Y M25*P!MJ,V'>$VHM@N$])Z[S&3QNWK@;1O:.@BCMH+A:,DZ"M MCB8?&^_R"/ .]FBA_TOS)<$KPQYV01TI@S%GZL@;P!%JM'D0;>:"NC,>8J/E M[EW-)%)X?Y\5U[#H/V8!36K7296WU0B*\W)1HS/\;:S0 M/6[T,N/;:&W )T3K3^2VXGX*'P5'6Y/1^P-< C#%0681GZ@Q>;7&I"9J3$2- MR8K4F&14S5Y&Q<+S369"_F24VH5>I]S5:MN: DMSD*;*:@K3"[T$1[ MN8U'E]#NPIP2,R@C!;)#6U9J6%B;&X]XT*YBO)=;T/B7Z_[0:H:#F7A[@B6@ M0CD?O98);6;'QUK,\:WP-=G=+V85Q[I"QNI->34RO5L4F?2O;!==B7 K\;TS M)1]8F;,@'/XL?O6*)=TFKVC-"+._@E=6O&L\1R5P_S[2/:,-Y"EAZH,YC?_'EVDWH0*Z3-05O8,Y;5<+^:AJ5/AZ4\8$]J3K1/#%:PWLN4A-$V M9\4Z[/PN#V*,G8ON"^3:9&%.+F@ZC/=# J#1*R_LRH9!:33L[PHG[+!8/GT7 M[T\9[F42E'67C;Z8G+B1D_Y4"X58F0_WA,D27*^\%H<,3X7Q#5PSA8?'4^/T;=@$E M%D_'P/E$P)R*)FL4]CP) I6!D1* M=./.MVB":G'1BKSG&_7MUH(RY8-/@6[LCWY5:!_^2.LK*SIF[V 9>*72;%M=BLVSH&^ M,LB>X+H=+.VE46> WI]JI-]9GT\TKV=R?DCYO.88L_1X19%1>L#Y..O%H[S: MYN%:?EY*// L_=_H\F5R0SZ8L1;V:>+=<.-Y7; 3:#PQQXP&ZK< 3N)LG>,I M'-Y8/(0A']P +]FC&L[B M/DHCF-L@#"T>LAI@O7$T+F9FXTJ6($719@3ID=@L#'Z' YM*19>PX7MT0L+< MRWB[('X=.'#FZ(V+<*3&5/=E)H.C8A!V/Q?K9FA5"-6S?.HW2PE%EV^"< 0V M]C292\=+1W@-Y&N_F]'KF;S5U7-\A[&-C5D0P7W=\ 2T0PH6X/ 2%6X/O@Z+ M/DW=L\N^8>N#P+4=FUY VP(X5@";!S7XU(I=B100UR, 2^A91P-5:"&$2@! MK 9GVC+H1\=;J7A:U \ZQUI,!,U-HMPNFT-!11IO:T"O3+$P=I,P8:BU##K\ M+]Q!J/UFD%F?>%V[A=,:Z 6ITS;HV1R/:\2@Z9!Q)Z/WP#/!2T5 M*+3),W'@C&2LJ4!PD7UJKM=8^^W8+X(.W#2\$(X7#/53M$<][GH;E/!&T05O M7N8>]?H8:U/N3.EU/9"(<8:-2\1QX+2("[]H,I*A#6@K;TXF"">3?K#%+-*W M$R\CL.RPG"4,6P6#H#Z^=3 :P&:?U=%VY6WJ=VKEX_I1W-+_>@95+8@,JLB@ M+DL&]>,6\R)&GF=24K[I1@ ,0-&P:\X<0JL)D_?]@YG-\7DD*QY2#0UFUN.9 MADUI5M7&SGFOCB?/!<&P3_TL4$51\AF>I2[$PBORJ(;$($N6PH-FS/^5< M2:GE2V'@+S!)&6V]2XFTU5F0'FM+?RK%4KX8W0&&Q>1:7OXK-Q7(=;5^K)U8 M9.E&RPUILTNP5AWT:7BT.G -^0!/.GJ4%[,VHNLF4Y'RJ'8W/N..=U3!57A+ MAG6Q@#]!(,6<7*OEJU,$\C%)-4D?:PE$8IB):\FQVCQU]'K#%'0;K:@2SRU]+Q?*4. VP MV>TV3M7$-<9!-+%(1EO$3#:F E<\0QQ25 LS..2+RDBI3!@K125?F#>'?)P- MHEI%I.(",.\G#QP_!^CPMYD@(GVCCY6KM#O[,A!L)AR,"U8RG O3QC0+T>H; MED%[Q1A/83?=["?28C9#L5"IR, H"VQ=]!%0AA-W=_^?UA_\C+KJC/=W_;-: MC#@\7ASS195:S5?&-:J<+_TUQF:3^H1) EX:8] &?0:?@ #[#"[1TNN,$\.X M0RZ,3_6.CPQB-W;'1$R7:"T:^,]+ 60BB'Q4X98FSX3V>:SJVD'CUV;%DY,R MA!TW$ER!S,N*K,B24*(%?[_V$:)]WTEB M\X/9354Z,XCUO_,F->.2D?\$=,IYY8/D/P7"[#)")I3F9:S5&KM!8T9# !86 MJPL2:H9%-6G3M/7>&' +88*&@AE5(8/9LD3\WH0SESIR)"7H,V =1\KN\ZYH M:U:@A-K,H5N%DH'S"=K"Q&438G!N!UC'FM%B%]*W&.I5]QI]8$%;=6 =0?.,TAD6V?5:V71;9=I%M7\YL^S1$Z(,R M?)M1RV67MG&TI(O@:N81"C_:=R$YB5V>..%$;.T;BK4Y:"("F%>VSPE0J+ ;^A4>O)9ELLC:='S0+7$3SXKV2 M@Y%$K.6\%N\X2G_%BPJQC1%%!UX*SSD&Q9]2<[7_HH# MB+\N %;,DHHMCSV>VH#% &C!OS>&CC;XP2SJ(8#I76.6NR[TQ<&C6A,DH^^1 M.=NQ;UAF'S?,QOP1K_4!J'>!G39@ 1U-8@17<,Q\K2@0D0E$%%6!B P@HIJO ME 0B,H ((9HR@P@AFC*!""&:,H(((9HR@PBY(A"1 414\S7AT&4!$4(T9081 M0C1E A'5?*DJ$)$<(O[K.1C^^P9&WHO^S1L.X_G'0JCD_#NBU,Y=!Z MN0T,M_^@S2_PKZFO6=J9)ED^#.&Y"OS%$57U$T3%CPR8P __[X_2'U\\OJ+D MU3>]TV^?OSIXHV;D(_5X-'5QS#(6#9JQ"#- RX#Z]\Z>)6*0\]4W97WJQ'"" MV:LW:$$(5R%<,\1/3+CRU".W9.3!LT11( 5E;AGFMS WS&JVU$(N*-X2$GB. M$GCE*>;C="I0$#*?X!6-=)Z3=7JPMM6,[ M<"R<0LG;X7;H= Z+>(F1=]I'_$I]:A)E)6F?^\\$3L+J,E(X28PU:9WN&RB- M;W[@$)K&@&>DO^5_DC;QTT:I(.4U)>5R517$G,"YJ>FY$L1<2\=X>(.8)14O MS\:N&'^(M.6<6I %:0O2'B]JR!9I?UA.*VIM6DYG/Z(:O\^7K/&_\FSW=@'Y M(B@S\-$3LI"63H,4RY4E"N4+JA542^T>I2JH-M&RTSD<,D$B?;N(/*M$FBL5 M"X),UXA,WRXHSBB9*I5B,D9WVO[3_L3\=Q&(GU/T,L7$T^)MHZ4[_P=];3E7 M*)=$6%1PR7IRR=^RFBM4D $$Y2<=-4T;\_/T0C)XW"340:F<*Q9%EDPP15+Y MAK2/FXB-5,B52^6E2TF$O8IEA;[@TO8T4[)IEB)L-2C"$9\P[L9H605:;MD^ MMN!+A7<3+.=(^UP),6FI-B-O* A;$/92$S8X*&6U( C[2_97V@0PKYJEM,^5 MB*\!A%U0!&$+PHYY$&F?*RE_09E1-TW]A?_2KLUCX_[D@E*LJ6H9UE_4N+^L MMOV>F;OY[""D: #8G_&A;A\8,/KJ$$$-J!GGE[5(TY.:FHG#T%RI[=A]NA20 MK6,/Z8P$>+GO."2:"\3?1H>XQ<8H80?RB<6-X/ ._-!-=++2*E+#QSJ]QXA! M+<5&JB\;-:S>F*V/7Q,[-HSO"[A80G+R2Y9,0VL&$[.-_L"FLU!&4M\W/6, *O7!=PRW9=")("!M;I"><2X*LA6. M!6E2SG,]X &/L&$I.&+!\C53(NTV&T5&WX04*FGPL*9W&=T:_8"7?#KN!1E8 MIY-GV.]17^(OB>98;):+ZVF>[]G.*%S19=,FGS3#I(,.\/,!\!K^0+(' ]OQ M?(L>+R]M@;&!HT]<4-Q&&\P.R\.IF[[EN_@Z-BR"PH@ U\/BP-,X?P6>?F$# M5/!PC[[F>+2&5P+E#F>!#T>2K0,/Y_@GL#+\O^\2Z0DD P/P*/C]#*A0H1"L M"XCA?U)PAQN(>!U/#*).,RG68D+#!Q'#CDC!P#O% =R,-OQHE,,9%A%C! (S MI0DLKUE&DO3J$,?/MB19R*2_5U :TS\;5/\$M/ZZ%@+N46KYPE]2RX %G9BR MN,I?Y*4V:=&ARQ$3.)SG%!E_-7-,+/"TIM.A2O@S,BX7Z2@4G.O3\F'[R#ZH M\&PK&.<#.X:]D'XXJC4O[?!SM0T'*#&N77$?=(@4BH49$('OY5J^')P.9R9] M[W@S#L3G1T5L1K>E(8\$DVB?---GTVTU'.;"M')LE*\+_,9G6GE=PVD%S!@> M M?$SQC/<9;ISR'"!I"Q6D%EAB,RB=689L*B=]]$^Y\,H+0?#AS]A[\V*&)J6R M63,T%3%#,UB5(EW,T(QEIF,AE S.T'R[45B'3@<$NPXL[L5-UI[:2H;4RVLD M9'@@+/3IQF-__'OE!2X,AV>J6\X0*'^QV?94$X%@=%TZ^=F(PB,1Y%Q.B4D/ MRUN/Z7B+'GU7S%?%J(0)QS"5QO!*7A&C$K* "+"%!"*R@(A:7I8%(C* ""&: M,H*(2KXD1JYE 1&"(S*""*&L,X*(:KXLQG)F 1%"-&4$$:"L!4'^%SNNW5X6]9\I] HQ]WY,4XBYU>>#]Z)X615S MPI#-(&4O 0R$W!?FK>".I35ZP[+EY3!YEP#E0B *0UAPQ]*:QS,%HC".UYW: M$QF*/=WT;:FR'W]?=FW?U:R6^X^P%Q(V$9>8+/A5+T$2\Q(;RE1'M:6B#R$V MYF=(+3%9S!0;7S.T,M6_G3V(?W_UWG 2S)$ID"S0[UZ_<[/@8[9GZ2[0X5@_ M N &I"" =26 =95\+,HH"']M"9_;P"M# $L09@RM]J5WXE8U&91$M_.%)[23 MF1%;+A9S9;6V.C'LU_&&O()]T/XW2L0UQ*V51?^G\?J:E#JB MR:(C6A80(>=+ A%90$0MKPC1E 5$@&@2#7VS@(A*OE@6B,@ (@1'9 010EEG M!!%"66<$$4(T9001H*R%:$H0$5_(>F;GNLZ"JDO>#B%D^L@)=%%6E[W3YPF. MGEM,$^7LT$DZ-]FRQ2O?A4$B;7*+HH?R!VVH=22.XK(3Q_=[**\.26149F:J MI^)[H85UP/A[7OVZME2:LWK(%!^\%W1.7;8GWT)YG= KQ)P0W;L$L!@,6)_V42>4 2K'PY942LXZ9[* N5"1 H1*?AEA2SHI+HLKSNB M5\M^3J1;:G6YVV+.HUNJ$(B594^I)MUD>95(0H@-(3;F:4O M&>NQ+&?@AG0:O0)*:WENYFEGZPIY*H!@2F']"(#;CX( UI4 A.03A+^6A,]- MX)4A@.P'&9-LL9QN='"%.\622WD)&Q/D9-TNS_0'/C2L^G/7*U/I %LTF[!^_ A M)0?6NP$;@I-)+=@&/!GM1-,]XPF A \/["&LW2*F 4PSDC2K19?4]$??8 V? M)+LMG1WM!2OG!6IGH[9$6 MB1./K.:+8[0C5ZA@^!HU:.'J^!#;L@O/:: 5-1.>L]MMEWCX9@#ET.OB8PZC MZKPT=BK-A=7@A5B^I74(TA5_,'8">"4=90+O=T!'?E64T4$"N)6/GQ1VV?)# M$G9='[ +$LNUX<"_KV-)CZVWHQ#1_OI6_3;8;]JOW9Y1B%!OD\4%5 MG>YXC?_]O_\SUM [=)]QKICM_ AN L5 R$&CT*AGAVRP?N%:&][_0S.'VL@- MYA#*>;D:7#+Z$=XF4G%3M7P1[./H3P3*%-YP9%D,;F-3R]BOQN>6\<_>:5K. MD>[9@Q^*G"]/(+P\A>VD@Q@4*6HL1J])X RW_^^/_US:^NO7@2S;Z6OFV'4@ M_M$?_U[2N7#@BFS9=,";&[*#-KY>@-126=7E6(S\8\PSB8]9@,ZJ4!#[FB:I MUV^8-2SB=$:SKI>M,QR#R"XZMYU980X.-I>!;2+FA[_Z6!0 GZ3!V"$!YUQS M82'3M(?NCTQC8%F'4Y;R2D7,T(A$ WUPD,I4&445B,@ (L J$B/@LH"(:EZ, M63E'CPXC\%R M0B(RB;C$9)'T/,I5(HE$Q(9:6FKZ$&)#B(V/BHVO&5II-TY-\KIP$D97IN"Q M0*=[_?X,RYA;1/SA)OI'.-+5O,\ET8)-(A5RTN-?&2NO$!^^YLJD+]^3[)\]9_6<*O>_$ M4(646V,IMT9LL*Q23MBQ&=3?2P"#Q5BWRR;SA"80_+*D^B'ICLJK% ++L&6\ M;+) 2$C!+JLD(87]O.[V0"*]4BO5I\:6FE?"MW;N9H9^L.>2J 6%?" MYVI $ "S"=:/ .24FAX)P2?H7@B^-#OV+3S$F&2+Y73C/BN4/!\[9!)-3A>> MNTFFV9224ZNE7*VFK$X$>S42,AG6FBN.VL47;:ZQ_)%SY:*:*Q>*@DC71_XL M9[@R\3;+ZQEZ$3''['A>7[09RV60VHG.Y<@"*R38H31[/O:L#J5*,GV6US.0 M(@*(V:7MCUF>9257*997+:2X7E*LEJ^M9YOEC&SC;?#PR*=D6+I#-)>TI.9( M^E.1U7Q%@O>9AFWE)-N15#E?_2LGM>%/KTO@_QU"I+Y-F[60\68MDEK(2=B. M(B?I=G^@.?"E9].?N5J?2 /8IMV"-^)#2@[,=0.V!&>36K 1>#+:BT,L,J2] MI0DM*\C!=RW?]1Q#,W.29K6D@3$@)C:.T73/> *(YK/2*#O.EFWX3Z&0-2Q7 MBDJ^.(;E8@DLC@C+%@(VBTBFG^*[SH[VX,-'WV!-OC*#_'0P3:6NK(2B-^X. M?Y9UQTE%G:(4)2__]57<=T%GP,L<3I6(3'8(-R^-[5ES)0V7PQ(LK4,DNQW^ M*-H?+$@GDL#J#FBZK\HG.@\ -_WQ8HF=I:#N]'.#>L6%W ML"A@ A"MPW$L/%Y W'#F!Z)[P1;Z1FNC[IF:!18!WX/*V"$$'^M])^F:XXSP MY+KM>BY%- &6&& !%N,?XKBV91$S. O\Q.>H->TA0<( :J:O,@::1V(L]V2; M/I#C@CCK0Q3\,;$T3L!R0\4 $=AF>:=W882FT MCMCD=^IKOU)N3?N$QMJ?ZB;1'/0>NS];ACLPM=$/ZG'Q=P=%U4HEKY9P1_ 1 M[\*J%O(*?C3>(S6V]-AZ&SHQS9]OY062[;+Z:E&V4HQ<3HY@M3C=217_^W__ M9ZQ1;&BDX[P:V_D1E)?'0,A!HU!GND,V6!]:K0WO_Z&90VWD!O.MY+P84*6HL]*-)8)VU_^^/_US:^NLEYA:J)'.LQ)Q_],>_EU1'@"[= MLNG@(#=D!VU\O0"II;*JR['0R\>89Q(?LP ]#Z'PUN6"76)W'&W0!:4)BE^3 MVH8%BAM<)5!F5(OC#L.K!\GL#C5?0##+$]JX1"-#>[ ==!B!5FP_,M@,5P(> M!12VF.FA@[]I]\$N"*R3*\M O7_A@?IWI:$!9KXV OF&4PHCX )5]CW?(2%CP6^(U@I3P:)-$'UTLW;[A_2W_,^8Q1YLB#(F'L^W M:\[3"? @Y G@W78^Z"Y3F:#B[#$/P).(IN#ZBDT%K@/S"N9SMIY8( M%.@QVT%OA8('W3G; MTTD@BLB9("W"P/9'.PMO2DF;"IOY$VE,+/'>,9=L.I MEWXF__R'+?ZW\@_==K!0="(X\/%%G485(I<82 +^ 1(.=NIX*,B"=^"S$V_( M4Z#:DF6C-Z:;/L@J':PX#5 002$@"XXH!N@0"3$834)C_+ Y!"&^:1J,@-U% M45;9%;>4-;YW/_^9$FM>$O:X,/SX)8TB&JTKCP'#LLD!$!A AB\%LF4!$(5^H"$QD 1-"-F4%$04Q\CP+B*C2IFD" M$:DC0HBFS"!"2*9,X*$@IG=F!!-"-&4%$07AT64!$35:8B$0D3HB0#05!2($ M(@0B8N:K*A"1!404\A7!$IG A)!- A$"$>.M-822R 0BU+PJPDT)8N*3'8/> M+1M8AU;W[\5WLCIC-('A#^]9RZEW\=\D\* %.V(PH 5*B9E Q3#*4<.]R\6 M/.0H0Z(Q!@Q:M[Q06+PC.?DETC;]S\]D!48BEG1MOK9%ML;H"<81C),,XQ3S ME6Q/[+W$NX.,7I*8*2="+HNPM99M"F?V S'!Y57D \U;EAC,DM%!+5^=OP_R M'3(X(1YM]X$WBP4-S$L6E-^\+I,Z$21N2@K\+Y4W'EZ 3U $I.I-+(?%E&$? M(W,\M 3NN&YW+%BIQ4PJ[) BN$EP4R:Y*?,^.K:J.,$V%<O4I4\=W6 <;O KBF*.+O\2T0:T2)D8F6_,+2IE##$"0 MBB"5#T8(EIA4L-OWBK@Z;YAF,XIFQ\%0**Q&\7#",$C,XU]B#AF3H](9&[CH M"IX1/#,WGF$N_A+SS+16^:*C'YOWK>N$ !(6:GQ<>6A-&,1-S'9*^T1?F8B2 M1./^M,_]9S(W;;'S?0I'B?$B51*Q%THJCI^,#>G\R*PR2:ZJ>37I^I*T<9P& M;6,;AK3/G01MLV8*JT#::J68+PK23J2S0MK'3DAJ8W^$52#M8AD$CB#M!*3V MBE@DK'/S*I!VK9RO))Y2GH9+9A/QB\RTOPJ6S"7?%Z7IU-40![Q)[RK( SFG MEI1\58@$(1+^E? _:8"FN"IR@?5E70VY4(733,N%);@5U+"(TQFM0!9VD6'# M]&+@F0 "CSBF#(7D8S0YM28G;/"O TO0:.-ZLP0/5*X>1RB5I.W==> (P1!! M?'/5.$+)R2K\4'#$5V*;Z\T2/"RZ:AQ1S)740KXVIYLWZQT R4ZT([4 Z'K+ MC"!VNFI"0RDI":?#A<@0(H/'1M=<9/"PZLJ)C)Q:+<\H-%C"&L[@Z%*9KD^; M/XO*B>1K.<=Y0 4>:-E^TR3IB(+Y%GNF?M8Y!)]*E9*H+)IC/6CJ-+.X@M'4 MCSH']B@709<)]IA736GJ)+/ HM/4SSH'<[%4*R8?J%U']GBE+C5UFEE=0!E M/:A9K>@?NMT?F 0? W(CCN3!IND3??BM8V@F_8=NNQ[LQ>@W?<=%U$@#TW>E M-B'P%9OHY4K#+G&(Y.KV@.3HKSS\H&T[T4/2DV;Z\"WLS[(]26N11Q_>8XZD M%FD;%FGE)-N1-/A%M'UZ;EA*(31,VO]%E;2F2$9J+H+*Z%W7. ME-1"3L)6&H "'^@ DQ?2.*D- ;A_@O.M2K!_$Z'O$&!I%Q8'>0,HEPQ+=XCF M4C3]B1YF\"3%JU++%_^B% <8;B%>_E3SI6JXFN9)P20"297I;I0DD?0V,+** MI!D""__^80""#'U6GQCD]K 56]*;74Y*OP3YT;9-TQXBI5+M@D(!#^-*7].!@&Y-IQOJ@'YTV$$( M.#?U#+Y MT03YU=L8 IA^#FR7CL'XX1!3\XPG,K$F-\;HBX-'M2;8YKY'0B^1'71Q=HS\ M<3OFOW"6\+^_9;?G-+M$"$0DC@IY)S1?>O%4FH+X@\I=+^8H01%G A!!$ M0A"M =2%(%H0)CY9A/BN1;K8EM4+"<^^)W(S?>2P?6KIJ^U3U5I^N3L.GS.7 MUARQUL/@ +,_9@YJ7VY^F#K]:C#(5$MAAL#I_TZZT8CNM)7* G1M-IGVI^&>>8\Y+V(1/)'C/K M?Q4:+ZG%6I(=HP4A"T).J&6LW1"*N9^#]E[$?-C47EK*M>%6[YQ"KY>;&7N82S;4M^-+H M#_#Z3@[VU,:J'KR(T7KP7:\/QW#939[@32Z]?P/?V7WB2"W2QR_#-\("MM-G M2]!;.WB1)'@ZX]=M6-%/K)9)-XGF(&MV?[8,=V!JHQ^4AH.R=Y[H5"IYM80; M@(_XAM1"7L&/Q@N>8DN/K;>A$]/\^69KLT1+IEY-E"K%6 8 M-E9Q4[5\4?Y+BOY$H$SA#:\LQ. V=B6!_6K\4@+_[)W*-HYTSQ[\4.1\>0+A MY2ELSZ6UG!HS*#2IZY#V__WQGTM;?_V.D(7\:(X5OO"/_OCWDEV":4M;[(*' M&[*#-KY>@-126=7EF+/X,>:9Q,!RKEB[4$;@2! ?WVH!U1_SJ/^N]BOE024%\@ MU%_WA@0B,H$(I9 7]U 21,0GHX_OZH%UJ#M^3RHO%PR^7Z>J%&D_X0S7H8:U M]^'E_6_4I H>$#RP=#SP6F@\[H@Q%@%O;%9%^]>8).7:]8]+B%^AW\D.?\&< MSQ\)76*8.[MD]A(#9XQUOL00\$+*N?LK#P6B0=S/YC89\::]_3128%DX=Q)U MW\QK6H4:"AP<79UQ@V$);+A/#X[.A*&U2$Y;[SE$G$E7;@Q14?Y^U5,65&B8 MPI,5EO?XY!2BK.C2R7.,83&>?"A\(JXT'T6;>G/6Q6GBU(\ZAX$2A=*LRX8I M]:']1)0TB\TGEWCK7%2*SID?S9NS%K%-GBO_>Z(M,?8'CN72_\F]DC?7:$T1 MECKQYIH;Q&I)+5ILQ%H:-PF\?%9^/8NI[%HA7ZHDD,H&"5P4N;R%I[+E?*4B MH)Z!#"H@0F10,X$(-5^H"4QD !-*7A;-_;* ")!- @]9P(.2+PLED05,"-&4 M$43(^:+ 0Q;P((M.U-G A!!-&4&$G%<4@8@L($+.JT)+9 $30C9E!!%ROBJ" MK9E A)HOR (3R6'BDQ4,[Z8=EJMB.H&(_W(=.(%VWL5\=0%]0]XK=S*N"1 2)O!V:+0D2$20B2$20B+!%WFB,)4QS89H+=LBVQ$P9 M*L)@%X23%N$(&TT0CB <03C"QDG1Y!?M*1;D#V2V/07GBB5N3S'51S/!P:OS MCY=DE2C4Y2:*;:)SFI %321I=RTQ31QKCMX-"$(5!+'V!''@6R1LOBSH05@2 MKS2"^W8#K,#:7M8&6,P\3GO[*8Q'H5=%TSYW(H./V5W+%>F 5:WFJTF'3M+& M+[RFQ%U,_]B)$+>7 M+CRE?>Z$J%M-AU'G0=V56L(#?->4NJL9<):2LKKEE:%NN?3]/I9IE)I]K>]L MVB5BBW1PL]MR-0QA)>@#9_>T7V---5>JJOG2LM42I$_ZF::%1"F?.\C9/>U7 M*;]<*LSHL"HH_WW7.+NTD"CE<^\YNZ?],N47E.3C1"M/^=1OSBXQ)$SZ:K89 M_6ND7P32G]566Y#^!YSJ[!)#TI:^G.G3?I7T*Q5Y1HAI"=/1B0R3R$!>.GO# M)%Y-6J<^86&!6>W4SYHX[Y=RQ8J2O-I+.\R:G;1WZB2SP+QXZF>=!WO,(PBV MCNPQ.Q^7.LDL,+.>^EGGP!ZEF;.(!'LDE7I/G686F)M/_:R)\T9W1")/ ^([DE>5_.DEN_0H69= M(EGP.ZEM^TXPALS-24,B#0W3E!RBVQT+7H'#RASR1"P?_AP,'/O9Z&L>,4=2 MN?97,,9L?"Q:?')]>(LE)^EV?V"[I(4_"AZ%/\<6_2%AJ]%@V?!:0#0YS6I) MI7+X "N@"+[-IS-G+T.X#B;1N5W;-UN297M2DP#@+=< M@?0:Q0+#ND2^.B) M2+ 2R!7/=A"B;=_S'1)@.X>8UZ0!#K)S-'A=3FKZ'MV8[KL@U8",PY<'#_F:"01K-T'NT 4\ M6QKXCM[57'B'Q5^#NP2@/QDZX6_T70F$)Q QTAJ\U,U+=6L4P"'<@=371@AG MX*"^8=$7-$<3.[(M*6B_"SL!_ !48(?PKKRT;]$7(%@YJ#@H 5263DP&*\J; M_$T.,?I-WT%F:@/N=% /FF'!CMP 'MYH@ H#W@6_ZFI/"(\X."0J?1$0$?\& MB'5(VX2WP^*P)D=.7CH+T(M[<$@?7QA]3_XK MJ_!Z6X!','((B&F7<0&0F,8V2"67QH2+:; /43\.0: C)Z-T )HGH.9!@+>! MZ$$:N *%Y8!KJ22!!B.L@ AWI@@0[' 920^11\BST3W/4*?"U<:F!J([E,? MN1,('[B6XQ"9VXS0[+#?Z9K;!*+G!MG9!C.& "_F0D&G/6F&&<"+L3T#E\4VJ(,B-*CH MTWQF541;QK5<=C0JHS=0IM,MF;;58?^B&QL34U3!@@AAT#!,JB*&MM/#W>J, MT',@+)Y 4+!?P,M=?X"=0T(!!I;ZT.MRX6185(Y1X0(O&H3&3UO3. M^0,XTVT'5@+YP[;/L(MO8,J,KM(B32^.7-!DLZTTP V@;0@2^T]9*>0+P0!: MIO4\UX/%\5C@23AT/FY<1_XB3[;YA%]O,2#OL.V.J/4'$E]'D0L"V:,Z,<1% M?.$AOO]/M9*O!J]F!^)H!>$@3OH MK6.JM9#V+:FNZ\R\^D5T8CQ1V 8(D_Y&?.+.E<+/X$/Z3_GG/^ B *6>G6Q) MFYK5RTDGE*8 LW77M0'%^"_I[__WZ-O>3WB*_?$/DJ0!QJ<-/#K)W"!_T-P+ M-N2$&V(68KBK+K4D;!#M(Z(YU.+BY-Y%XPC<"+\?F79(&#,SX4SMM5?W3,UZ*F&; M!+2-"UJ=@AX]"^XLMBB ___VKK2Y;>1H?W^K\A]0CI.R4Q06 D>\L956DE. M5/':7LG93>T7UA 8BK!!@(M#Q_[ZM[MGU32@@!;\16IR%Y1 >2#8_4(%Y(*?SA!+"3X(/H5YD)UR4Q*G0^ * MKV+NA%:X87[*I(F?,EI3:#P@%(]0'< Y.G:[\)GX3[%& (M8AYZ%.YKB=5 M0C82"" B=QH(4F!^!(GPT0(-X4NRO^ ;F -K%O>@((,&0)4,^0#B.'B( M^CG#9N0YX0_((\!$$M@ L4$/@#$V]$ZA!1:'A%@D%-]KJ]6M?F.F51*Q&P-] MYW@3Y%C22&%Y/F6,!8.,X+,&8%@ 9Q7,LH1W2E?*E.[(<7PP-QAW';USO1CP M[_TQA1;EUF0!5:NC-VW<,/A($K9IZ!9^5+U(IS1T9;PC=/??+']Q\R_9?>Q7&S7U,UNEBYWG$>GFSBIGMXR_Z85/^*FS- -(,%1:=]D2%OD M/8EO91]1/"3[;,6-29+H23@YMDR]/47P]@RU-Y+:U2P%RIDVBOCPGZ_^^C5T MYG9RQ)^/@S :,[_2S5%^].K]5S*KH.Y.X:\H/KE:8=7Q,J+:[:9CEE(C2^'W M)<(S38]Y&[V!N$39:\K\2QGM7.!FHEV@0#CB50\048#QPT*0)4"?# M]\DM]P&1@3U-1G&.A.$1'G-.LQ/K5*@(D2\ZZDF4.HD E&X*OR$NR6.2<49LH5?$!T0^IF,69=.RN=Q0 6R*@H8J@+ M@#'@>PP%5$YB7G!]0X:TYXOJ(O2J^V7MX\O$V9GE:6 /W<<)) MW(L@E1@^3L<8"42/F*&D^#3D&P^#M&$:P[/QV^-:NQ($1W-0)](&P/;[;!+S MX^R'\C1P+^4,T,H[ D=D )D0%TN3,/M X"WZI(+*2ID'\ADCQU-= :>2*)M7 MZ3K,5P]-S6_W]*ZZ"GA*#'=T%;"Z][06A!"%&8H0NR>$H7?4I75B,K2FSTFO*5N'6[5P-NZ>Z@Y5JXUDO.&Y?;3VU<;G5U M<[,D?VYC\D\SGO&SVI$K'M^S):^-QU]@<_Z7) DSRWX9HE'?*RLLW=YMGY#G M2L5:;RXY6#9HZNV]9P-K'8JP5O6*I3-U/!;SG%G]^.K]Z8@%UU@K0$?,Q^O6 MBK7:D .Z\V0'ZQ9!P7KU:M[)3APPY^^ZF]1NUBU"3B^'\_? "?C$$Y$3E<:R MP&U.W^1RUH0MMWV#P)K: MOBP_@:@/6YJ&U3":]BQC[J?W,V,41)[]AHS"KE=[0*[-MMK>[H,+LU"8+;O1 MMLRU&YF#9//=^#';:VQ>?W]E(9NWNG;#,(UUV:S=&*@WTD*]S0HWJ!?+T M8 MX"@?IKX^S'8-T3Z(8]MH&%93N39U=&VV:T_VKB>?;=J-ICW;LW(_G9_SX1 K MP+!-S9TC#G6HV8KX6;D]&[\0H%;W8]3L"*C&._7$^Z-:;>5H;C6\.C4PL]Y M2L9)*9RY[EGO9WNRA_ @MH(I-_Y9ENI2M-MY5!,(ZF*ZK/5#L2LOMM."W=-[ MJJZ\)-:JFOG0"6'JEJKOKP4A#+W54Y2H 264;JH)(91NJ@LAE&ZJ"264;JH) M(91NJ@DA>KJEFL"LD1"//(U9Z5+7NEO$?@:NG[7D-33(L*D50(UKO%+UN$UZ:\][B!Q\.Z&QTF?R@5KU1\K57\C#R_#)U? MWWY-IM[9[V9VJFV78H-W\]IV*39X:AQ_C]E ]#![5O\V:1%KE8/_Y"0KU<5M M3>CW -!$.P=,P+G'#,M7WP7>K MI3N(1ZZIV&MYEE1-"YR[W4:KN_8:9\6CBD?7QZ,]LV%;AN+10^#1[9S-K*-P ML-DPFL\O:*])0.J,P]HU>H]GJ*@Y7'%[[,-#3&-RT&J8QZ[ON05SH7PSK^V&!S.<$ MMWS.8HXTT9*(!3$6_*\1=QV$@.ZG-.ZK3XY$-*U]2M-2G+KOG/I@U[QE-(SN M'-]<,>=+9ID4%H[Z0&))(SXJQ=1&+8RZ;(OH>(\Y55[+LOP^BLC4> M9X=,N]7H;< 0'2 ?*/[?0_ZWC':CVU)W%2G^5\$JVVQT[<[>!ZO"(5YE-($I MWA.\PQ[8DS$/$N5EU=;+VIG9V@L;U6NT#76QD>+BO>9BLP..AKIY6'%Q#4-C M#V=BL]$VVR\EI>IS,N*1>['J]:W>%.@W;6'LZKQ*0VC", M$I!G"HC5,(R>$A E(.N)E>UZN>N/I35:/7,?0VGYQ>#+[GA1WMNCQ'O7EU!M MJDQKYPM;R^U:#;.EPA**L5\<8YL&@+2FNA%1L789>^UZ7>LOO6TUNMW9&I(- M7(ZXG_?[50'=X'X-E_;=LEA[W=%-#>;K8SFF$XXG+(*'DU![#7I'-_(_K>NM MEJ[A+83REN-[SJ(CO!3A"'^B"4TB#]8-&ZBY*<>)>.-)!(_@R:]&EPER_ C> MK@VC<$R_.ZOR 46A:8 =,B*L?\ G@Z)CQALV3&"*S/V6QK0V7)"X)Q%?<<0_F\Z:=F8N"=$=).*'%T!R.?'8?ILGQT+OC;OE6$3&I;-55QU>Z MN"WQMRG;]JQ)3QE&XCZ8[Q*3WYVQ=G__:Z_=Z;V;GM>429R1KZ=.6?R* \', MHC'S*PT6Y4>OWI\X#K!%@CK%X=X-T3]33:1E7YM=6^]FDM*8HQ3SIR-^PX-4 MU':AL"3>&/42B!RR#G>$/D,U%J:@U$#!@<:+XH(#9ZRLXL=#X\=3^#!"BRH5 M\10O6EV]]1A>K!-O&8JW:L);9L S S':!">9PUPB& SOO\B&/HA*/:8N9 MK'1O5HGT;4DUNH-*Z;A#XT-*D@#[!TP4Y(K.Y65%UVR6T"FR7\&,P(A,>VT9 MI0>D[Y"P.^#)(:"\=VB#E>I3+#<#\R;LGHA/7JCC1"EW%ZK#MM[,66Q&&69@ M#]R*VV0T!_,AQH.WC^.2OLF!5KP@_A6]A%%(;//5MRF66)TR]3;4P1OSU![(P+0+ 5(F38"&_+/ M5W_]&CISY6&EKOE*"@8T .(ME/Y<'%AUO(RH=KOIF*6D@(<)SS0]YFUT38)- M%@#+[D:"359CZ]$FXICV_(CZ W6B@KR'AC]6N/6M[E+'JRQ>4[@#I C%H$Y^ MOF*VNH#=Q3%-R])[^QI'4OQ51_^]RF"]KFXO]IW ?^]:I?V6BY2.UY:MMTLZ4:8] MP%CS M;R<+96\W4K!^9M[=!2TF:%<1+MCS*'3Z4W@;\"@>>1,-GO##X/H(T,>8.K1*U5Y,R(NU:PZ/,Q\L M \"5(?R(]H4,1$!B6CR,G?4SC'(TN#^2/VH#&#AN8+0B&<& ,7B'";^^UT;< MGY#YX$&<1F)RE5>S&^;Y]#[<& HR2P2DW8XXYE)QV&U=NX 7@_U-".#3.]@$ MGF3.2(/MUN"#)(S0\L,B(AZGOLRG\L-;(!$F@L&?2J]VPC@Y/(Y^2+[D;QF? MR=V,.6R<0,6P\_<3^3'0-)VX0&4BVM#G/"$V%$Z:X'\'B!<7R719\Q4)L>$G MT#@E&^%.R=MJ@:NF%?9TZPFB6#1 A NXCLU"EL MJ/AFQWQS!@H3U(@[$R4!).I\'X'U 0A.+-0K,(X*ZRDNJG 1%M_ GD9D"6/T MKRB9&C"M!PB3.5E4#_FHG"2V) :WU:2:)Z;1[ S=8,6/YY81CFW:4T&/1T1. M=@!QU@\UE=8Y-*WS9<8W!Q&*[L$]QN.L0 ./F7@>G=9T$E,FBH@@A2P0[G#; MFO:'X6-"35X,:VH0.V@J> M-ZW',?U52J;*E.65+756V-).KI\J6:EJV]' [ M\WDX/!HPGV(P\8B#NUU*2(@/Q/)4YF6N-$6_40B,1R($YH"^HAN#9G:2E:!2 MEDT"P@P6(KH'.Y5&,3'=((WA_3&F0[%$)B3AXY$7?X^U($S ZD5@X2A;:8C- M5+B;14(J+Z2,M%\OSF/1$BL/0V.G*9B+<'E* M+-'0P@&H3$:_8,J8X%[X9>1-Y!I@;;ZK#3"J%\3@/F'639[4OGR?UFD)5?1; M^?_/3J5/%F5OCABF<26)]/^EIP5$B1,6N#)U\G6S6THT US Q9$11J#BA4X: MB2(HA]GAL>(S;X*7H@:*TT@$T$&*/'RX2*",N#<>H);)DTG96-0%D)3"/.YI M0 !A^!A-6:H5/F+^$'S%U!EAHN: !WSH :R-*.N'ED%!$.X/C[#K!"509E.9 M1.%UQ,93B9CB^, ;BQ,O^&\C5YUY/RB8,H!K6B,^!182EBRWH;0+Q1)GHC+I M '0.U1N&$:FG:T#;#+0UI?4-D:PXQ6()V>.PZ1]GMAO^31V1M9A'H;,T5-(6 MI8%.Y#G(=)""#D;P@5,6,-<#]IT)7\-.4;GP7)+?]I@Z8)(XW9_>PX#F@5((0S E5$] -, M$U!$/CL#K?":KIWD%= B[7.5 T2+<$.R=D5R,C"I1YF_OO>=8QXI?L*"^\*8 M.#[S0)!N0BWH5TZE!PM"L#<+ )8 +NC3@ M(I698"4LX<9SN+0WMSS+J #]L-2LXBM0'X)-E8U 6M2PR2B$G<+WB;1N46! K\!75]]@ MZ9WL#1J;MR9=N(C/T8=@O4#33_![V3X*=4]0'ZB#!GA&)9:,M*!;&64OZUNV M(9?JX4<6I9&*+RJ=IW3>JD83N2.>04'P/25D9805(\H50)]=-B4%^1D R:1. M* "X4%]I0*5L"&/'J !X2:H,+"VA$0=M M%MZ#5$X O9+& +D=<>;+@MI;0-,T47".X;48\1XCVJ'?&Z+'=#8L>=\$WCGZ M$B!MJ!:#E.IM<+!C^/R,?H)DY'GD';$HBNB M$2J[S O2SN6XH!@36 \AZ@O1].Z*.VF$(/S$H9-\L]=I:6_.+R^N3MY2?5F6 MFB1!\\]$A?.,"E\D%0BX"RKF W4-='X&0O=G=).F$".$N+)J(;7(C+J1:08L MWY!('AO$F35#JRS6"6,@GR&VI[@(?HO4MO2H%G -LH/8FVP%7R*8E+"[<@66 M8;31]X)1 I S')!B.JDOFPQ-CXTL)O$U,HO/XM@;>J*ID#PI@5U" P(\)<\] M&ME?4&S#- ;.F_,,O$P^Y@"Q4/7(/U&X2MHXV5&!>#>W=J7-$?53B/P7[PDP MS&_%-\K4H2@5B8,@LR@LSDK?YPL(6=B 7U-D%N8EN[VC9A$A.N&^BT;T)(S4 MR@G> J[&_<9]C6C&LQK3%O(EHA=31C&+V13Z7B0V2V@O+BT 30>" M*2 U%3-2N"+)4&D>]_$B)QU+HRI,((V%+@F*(S[#LJ9IU$L<1#0DB)O&G/2' M]%XDA!?QBC'[7HH,S0FZ35OO%5E?2F*5Q-9/8C_,QE/)FP?>#ZE+41[YC(M M;OY95E%<.QYY3%0D2X"(9^H3M/4?TAN;Y$&$M9\Y'L MBHR\\AP?N'%,\]Q_ONK_V_]N6FVK9;2:O5?B)'T;:4*?@8'+H R G<@/$FY MAOIBT6_+(V?N=L1%6R^6':UX.06PT03]D8/Q"<>>@V%[/%L@Z\.2!.Q@D@7) M;S#NG.-7M_HVX;[%(@N9@39L%"TF&@!"N4_DSN(XB,:C,+T>B6EJ/ 8M)N9$ MIC:F]0G$CD>V\LA$W!XD8E((^,E_(YLL;>Z8?0M+IQZYT_@.UYV=UV;: 5OO MC&DIG#81YTZJI%@9==X8>*XX\8IHMO@CNAVW8?3]'7XXN!?H O] ,394 / M'U$+A&(R(FJ83B8^'67A?E1/='3MW^$M>%F1<(?%Y.6B":[D-5NXF@QFY.-[ M<:DKA?3O1%)\"%E4PA$#ZAS!SRYY;QR$10FI!5\ M(RL5J*Q%(!O:IS)9B#EIZK)K28Q>K8/;VJ!ODQ?M"ZXI=IS"?OS.H6XG150@ M>Q@,?:-8"I">S[HQ7)Q(%8)2I X,<%6EIB[\.@1/%;PQFIPT$=-,1(SG1B*) MH=QQ4:P?:^6$DX4<(;8#3VQP "^0C?'R[WN2#ZI1Z.M07HEURR)WHUD"=;% M*@]O7AY>3^7AJ3R\S>?A213#N65RUQCT6YMWVT+8= M2Z(;\0W, V[^DB(*2&@P4';PJR]_._-BQP_C-%HK)'HHRES0Q8EREYNZII7G M35JZ-',MGSI,[60 +I[V,XN^\T2[] 0H789N#R6'_9&9A(N/:2M'M @4^!WP MJ' RSGV*0QD\1+0B,[%$E.\PYD&%8 MYQ[AA8BZ$%)I(&@#, $P1"(7<3@[#C'6*7%T'HZ).?\N9A6P:RZ#+6(F&:3% M1:=BH<,\81YQYXW@-3QIB=)*+E3I(WI+OI2%4R]C7+>Z BV^!9A4[US#K53" M+"U^N*AL&5(0.V9ZY&-=\IO0OT%()O.=/HAL)G'X]!4++#^&A*)95.P].BO: M#1X,H:*G847$3W!W+)T8;\Z+%X4[[HF1,J@_GX?H!B_N7HM,+GH7-1@,B[E4 M&3Q+8)J7H_"Z:93[7$E$7%V4J"TM92A@VX?,@R3G@Z8#J/^G[$3L 8.PA7-B MFJD;?RN:28=1?JF4N"BV(KTB>T!*B72A\D=@=WB "1#WT[D.G2*3\1!JM1Z? M%"[/LO@==^C<'%Z>D/M0DE(2-$6;3A+8?O* M&T6T'O,]>90??6<'?,4\\.5>DATHP_^U,:>SP%#SO3$(=OD&AEQT:' \CPL# M<;!^7V^6D'#.MEFWU[9YWVF;K-]BUJ#?,X9&O]GA[>&@.V@9GM@)1SOH:5J.T@ZS\>$!5=5:=< M0.4%.Z\*E^6\%IO9VRREG5+]*!1WPWR!61NE0[TXG6"689Y/0YJ)^K9FJ23E M>FB!247(52#(K&[T=.3QH79.NANU[>INX,*;=';-AYAHTQ3>22DD',)CLR[3=IXA/KR:<2._/&4,3=1D:0K+$L N-L04X]C_+%\]1AEG.&X7(B@?!G%1FE8,@#HM4,WIBB$K$2C/>G ME!]"D0N_&V 8@1]PB#P.*Z]/)X01-&=7 P\L\J HY2(J LZ?V71 M!$;$6 R(X+?4O1;=[8/IG<63DR.9-U.IL:3+5L(86,1?N.FZAC[Z [2/R""5 M&XK9C7(''[1Y'G;!(5DL[=K+DY"'W7_X(&!(9_GB.)B"*P$ !XD0M<]X>ES@ M"5$' #N];9'_2B>@9)9 ^APY8ZEMO6S6N;S@K MO,LIF#9R$CJ@CLB\SHR$] MT-"A:)U;;FW_ARR"6-0C7'PS.QW'1%%YK$\9IBPJ\>Q]7B\6SGZA\;AUU-NM MW4H."#UHJW/+9YU;M@QU;JG.+3=\;EG:2-/4[6QY%/IR[';/<)U6?^!T[7YK MT.3]KCOD?6/@6$W&C&9G:%="7U] 'U]^UNZU>MQYA+^SL&"7: MQ07@'4K2*B:Z,K85U#ZV540@S8_@E/BR$2^67??-CMWN;(T*T[CG:8%(4]F1S//!,O42$\,GGI,RF:PYH@I?;Y&4^:N$#IP$# MEQ5!=! F!=#"LUP\AR'/) Y]SR6@72"4N&@O5A[2DSN]^SYDCV[^B-]L/1QF M2+WF=ER[TW/LOFD9O7Z+]7B?.:;9YZPU&';:ECTTAC,A?7M&K76:G59S1J"D MOK9XQQ[8U>SY4Z#\(/*TC\BMJ\R-:3]U*B92W9S7ANA7=?[[R[G '0["RP9#Y,7^E!6P,>\0=]Q@6@],SC8%MGD31B1N" M5^)^\!E\'UGI$XNB_OWI[]]^_?C[R=GWSW%_=#()FQ]__G""9^N[F/+J^?[R MR]FO1S_=?OGU^WW2Z_[WYG?KVW4"\V7B:5!6Y7F_G_X=:5D+:GR-QD$RO3CG M^N[4N_O0.OUO>GGG6!>#L.NT?ZD#,>9.UQW^?G-S\FWL&/_IMW]W_SPY.S*[ M,%U1DLL>0@XF)0A>'1O>-\Q8E^I)?RSI> M[>KH/V_G^.YX)Z3(DJ94^*SPEL+'^V9=MN=9;WU2VS+,K5Z;N\:PWQVBP]'I MF?T>-^P^M\VNP=M-SJS6C&%NG]^-X!U)W&^#]+6,VJ5)M@'$9G/<6BE.C=BC MVB.0RYV0.26^J!?'D]<<:_Z2ZP8!,?&([0/H3E!$1[_4*EK\B!)*\5;<'.DP MH6ON".>_TK"$I4F8?2"")/1))912KCD0SQ@S09!JN>2R$%=/M[.83Q98,R=W M&KD06@8V2WLU5<7X;%IT'^6_2U%:Z0;^.(BT']ZO?.P3-:7(Y7*J8'-I9%!O MMQ;O&R56X>VQ0;+IO5L85'S ;HIPTNR_3]F0;E?O[IZ3GK,;9T4[_.H&4!GK M4HFB"N%"G#:XR-F*HXYNS5UXI0))/%39BZ:IFT_C^DTO[_D=R9>NJ""6Y-GM MKH=E8Q[%W#D"(N'!U[&TC!6W_N]_I&'R;N7KQ&/O7LFP-&;O'Z$K8O2:QAV_ M:YJNJ8^2\1I*SE<&MH7'@!E"K3?L[0^4'80_:=AKB9)"17,VT5\'/ 0/;W,/ MDKSGS<*LJG^\+/EZBAP///L9#L&).CCS8BE7Y2#,B[4]5^5*-L TF[:Q!O=$V11E4^HD MNLJFK+8IRF4Y#)NR-9?E&39EGINB;(JR*74276535O"P:9C:Q:N!GES)H;O97-^3BVD0VF8CN,Z2J MJ>"*B2K;,Y8P4-$^MCNDKI]4C4=O2]BU2&? \B-JH%\J9RU/*W\?Q9]>MB H M95YW@5$'&#.:^^KTWXH1=ZJYO[([;'EUKYUC%UUJT7'EC/B8%:I<*4^E/'?. MLTIYSBC/TY./BA'KICQ/B[NTM(]>\!VOTU*J5*G2&G&P4J4SJO3CR4^*$>NF M2C^R ?>5$E5*M(Z\JY3HC!+]'6F?"4&G5^P8N%YA_HOQ&-61+1 MBJ"L=$4':;I56C0XD<7G&MC$:?6:77);:L3W]#7HQ2J6W)Y<;MZGFST^GM/@ M;V$?S(6-([,1D3@SP]&K]3;/^-.R]>*BYB ,>+[W&K8MT P->!?TUJ;S@7IN8,=>S%+1%W#QX1'I M'V^U6I$IC0(O'CV 5!LP<)(8U1M,Q6>+34766-V4(_$Z%V*@8 MA UYBLE1/8/G] PV5<_@;-1;]G<[O<,P^KW MAI;)C69OP(;NJ_>EAEU7%__Z=/+UOY?G5_U>JVL8;?G7#4N*),&RUB_YS%9V M#+HZQ"9>7](HQJM>Z2I%NA&&+JL]68*G_0 M1M@\,/7O-XH5V-"! MSU%(U\RH=F'K:!=6.'"V\8*\T:TOYLOEQ<^?+R^NM*OSRU\O3L^OM-//EU\^ M7YY\O?C\Z6G1#T60V@>HMK&J1?&I)=&H,Y;P8^U3>"-N3>F(2U,>3:\=MGN; MI>P^EDWG/I M4KQ%]:AX*\'&\-32N;[Y$GD!WLSIST[K;3ZM3<5&ZH30E[@W\]LP8QRW=AVL M'S$I%>>9%^>Q-A#G*;L5(LA2\2LJ'V%_C-* MQO[[_P=02P,$% @ DHUG5UJ'K$B$"0 940 !@ !P&5X,S%D,2YH=&WM7/MOVS@2_E=X*6Z; )8E/])LY31 ZKC8 &W235S< M[8^T1%E$*%%+4G9\?_W-D)(M)VZ;].ET7:!)1 Z'P\?W<6;T./Z7YXWRE.81 MB\D?XW=O22RC,F.Y(9%BU$#IG)N4C&51T)R\8TIQ(,I(Z03M/OM3G#8 M#CSOY!AT#:M&,@])I^,?^MV@VR/!R[#7#[LOR.D[LO]A/#RPTF>7P_%?[T>N MV_.SG&$OC):'QRG#%#2912I9EYM?=A_,;[ M'20,-X*='/OU;R<[D?'BY#CF,Z+-0K!7>QE54YY[1A9A+RC, %KZ4'U'YM:; M\]BD82<(_CTH:!SS?.H)EIBPW^X?K8H4GZ;+,NF&%BHFJ.$SAKH;6B/!J HG MTJ2#NQUL:EG4[1*9&R^A&1>+\/F89TR3"S8G5S*C^?.6*X'?FBF>/!]8:_/>N\" 8]T';L3V#VBN]FZ[II*%WW,^,:3!'<+,*4QS'+0>"W9[]W@][@ MV$?![VI78PXC@!A3CYC$JP]O1Z33HUZGOT\/_,YA[/YRLSH<78W/WYP/3\?G MEQ< IJOK#Z<78S*^_-Y3_35#NAX-T=QJ7P1=O3J]>G%Z-K[_*_ M;T=_D=/A&&J<5#<(NO_4W;-FUWF+C%/0H\FH3=Y%0ZDR'MVT2,24X@1/K'K5[A]5!8N)F M_5<-9(8;(**B J7%)Y@\F*?<, _GDX6YG"M:#)9V'*$=U=17)G?:=ZU:KU]; M\:\RV%VB(K!+950,FE11%<&&)RF=,:+8C+,Y>!@FY9K\65(%G",6Y(H54AGP M.\@;:.'(HA-X?Y)$*I!EI(#.94Q8'D/C:U88EDV8(KV@1=!':1&9D/>*9U*! MWFNF9CR"80"N0"_%0W:U>7%>?%Q2W^Z!'<1V$/L2B'6W#6*OJ;:N.\D6Y 8& M(!@X^:V/("V68$(N(4X 593GA.8+4N9&E0QLAB# !A$ *DHRN%*<"I+0"(H4 MD1DWQ$@G=T\@9X \3=4"13)ZPRQ^ESHUE,5@%G0IT'[L P4BKB!R ;$<@5L" MSA6!%8E2HDO\L6H_9XI52G &=?@8>/$NUA',5VPR!K8((Y(PK+#]$P6FR=D M1P\[>OBF]-![,O3 2,)S@!TB> 6S%C "B$.U:M3S/$%]>*#"WY$H\3@&*&_$ M5 L(@>-E 9A$.D&:$6+%%Q54]1TC@))B&QBW4*(4( D(0')MF-M+8NH3DDB MY%S7#*+8E&NC*'1$L="- .QM-8A U\9\PNX=%^RXX)MR07_;N&"\!A?<3YVC M@:[07L6@>*#*) $_6ED@G1.JF(4L0)#C=D/?G&E<.JY3%$>Q#)P)="CP.N8Z M$E*7T [=#"6%PVZA9,1B*-9D'Z :,\"^P^/H-DII/F7D%$[PJU(P7<4"F#DY MW&=5O@25V!0*%AU8G1RS%[EC#^R)X('?(!5EH8U6/:[+Y'Z7"719QR5-T@$) M#'+"'7T\-?HX[+>/MH$]#MO=>^2Q3P^VC#W.F(;Q 'JL9_YYD+ M!+WW"0.85CVY>$"6"A04&-UKZQZ %,NM'DR8K1R+IIOBDNN ^RH@6"&V5;DP M6,G!R0!;M!0\MK= =#G1/.94<1P =V&+=9QRU%1J#"4L86H;=UAG0FH&!AEP M7K!107']2T'1M8!A62-6(0FT< '.Y@@-RB8,FX## II@2_]P7EF[ U)M3KN+ M.2Q';D*O*EOQ#ZG_KQ#5W)T5;*T^BY =/3UY>IIL-ST]V"^XQU(/]R@>3%9 M<#,>(P=1+7.[JZD&_L*D!Q(357%-$D!;G#IL8("SJ5ND3,LGEB [K094E*H JM(V((LBV'_6 )L^F;(-K4B9&\=%0)F\ "=I MQT8[-MI"-HJVC8U&,RI*ZU$@5%F2L AO]>=,;TA<+".Q!WA([O)SN0Q+0Z " M_!SMJ^:4S MO8>_1J;7/JL1URS36AW:Z$TT\;TZO]$/>$2L=2\9LS2-EC$W4NEE>&,+0&66 M<6,8^X37-)$00&%]S,$^JV0?2 5<$XVN#_S&M%!-7>SODH/YEJ;*/+*WE@YV MR=LGQPA;[3ML7?+V5 B">0H.>,>[%G@G).(, %K%%,LDZIS1&PP-7)[ !@!)H SF&#M%Q\HB$XT64& M^PMFQ0[&=;WY!O8NXMBQQI:RQM;E5$\AG$@4G,0MP#"SS@.P@'W\JJ*+EG/N M>3Z38L;0P\_IM'J*3%7^!LL*(1<,:N>I=$X&72,C((]O$J^TG]XICF^,V$WS M:@^AO%W>FRWM&'H*0Q&WW'ASF(3/OF^S MK*<3+45IV*"FC/51_O"-T&CY<)IV+RE5/]_8*6Z)?:R# M/ OLOY\\#;[V-[W[M5O,;1SF;J&>RC#Y^B%O(QINP- (:M\KICF&URTR3#E+ MR.B6126Z+N2RD?@\J]*&QS[?D>MV#O.3R[S_WCV> J'@O04^^,\E-)- ]9V?'Q)$?/3%^&Z_D9%SP^[ 66V?")FR@LHRG[ -H M+:1D;[6(Q\!8LU$_K#<;1_5&$)P<(Z]>,4BE'=9LAD=AJ]%JL\;K3ONPTWK) M3C^P_4^#WH&C/KOL#?[XV/?3?OST]OUYC^T%8?CO=B\,SP9GON.PWFBR@>:I M$5:HE,LP[%_LL;W$VJP3AK/9K#YKUY4>AX.K,+$3>1A*I0S48QOOG1Q3"_X$ M'I\<3\!R%B5<&[!O]CX-W@6_((455L+)<5C^]K1#%<]/CF,Q9<;.);S9FW ] M%FE@5=9I-S+;Q9$A=J_1W 8S$=NDTVPT_MG->!R+=!Q(&-G.8?WPU;))BW&R M:%->M8X&R:V8 O&N<(TD<-T9*IMTUR?8-#(KQXU4:H,1GP@Y[_P\$!,P[ )F M[$I->/ISS;?@;P-:C'[N.FHC_@O(&M63(H4@ 2=FL]Y\W;5P:P,NQ1AGH]:N M7Y!.L1;#E5EG?N!0R1@[^[>)& K[TXOFRT:WW:RWCL,AKE[V/62-T)1!KPE+ MX\N9I\*@<%+8>2<1<0PI$OSTXI=6H]T]#HGP226];UFO/KWOLV:;!\W#?7X0 M-H]B_Y=?YU[_:G#^[KQW.CB_O$#WNKK^='HQ8(/+IU[\^U2Z[O=(W,)2&BUV M^8X-?NVSZ].KMZ<7_>O@\C_O^W^PT]X >SQ5J]'XYO:TK=:S(M=YC?T&:0J( MUA_J[$PA0*B2)W9XFP$-!Z0B=5,\VS M[JH(.'+.KB!3VF((1- MFJF)L,PJ3W>'( 7T8Y(E#"3TX_E^!EH*)B0 A-A,':GA?=9E :30>0$K$!0I'#;<7F&\\T+ ML@.:'=!L*="TGPW0 !N)%!V8L&#IL#7$%B3';EWI%^F(^-$ACW]',J<0 4%A MHW?6$%H$76;HW01,!%A2+I&G<'JS)@2"6^R2]QI1Y!()$&X48H*;V#C)(FX2 M-I)J9DHLTC 6QFJ.$W%J]!J@O+4*I)A2F'ODWJ'*#E6V%%4.MPU5!BN.1_;4 M?-4U!6X4&38=\FHTPBQ!.Y<\9UR#L_NW4<+3,;!3C"JN<@FFR'2H M*G2T#T4MB)BX\A U'3B>@BHSJ<( M7U2((6#B.BY! F%+<.\;E"IMFI8@T^&) PB/=BNDE4*.B]5N"X6R7&<(5<:E M=E&$]N<$<"6=,:28L4G$(>RA*G+L2/+4>BQ"R!09!DD[--JAT1:B4;1M:-2? M-DPY\TYZG]O3+::B MKN%H-J+,(R(<2J]4%.6:G+N2RVS@.E'&8CL]*X.\#*X_^].+Y]DDW"PR-0HS M' Q![.(O5&41&\V9%#<@BWM;:_2UK];I:0!G5ZKYH2N]1S]&I=<]B1*7*%-; M'MH4353]>WE^4QSPB%SK3C%F(1K/8V&5-HOTQC4@R\E$6 MP3]0T5)A 47\L M4#['9!]!!4,30Z$/_J:R4 E=\&'LJ M):,ZA4!_I[L6=".5? O": M_2W&M*TX^@SWZB^K^6-K]]A-+([((F1L9K?,/AM"$=U]GVVWE M-JJYVZ;GH:98/>!=$B,L"AJY=[0ARBE*8?\2$;"/&HR@!+O&>HF $7NWR!HN M?>GS.!0[:-U.->_=Z/V/_ID4W,D[>WKP?[>I99KK ]>ME7?]0Q,KGX2H5G[* MVRS?)87X[)O^K<-*&N/E(EKR;0U7!_.? M"''?'#GY'U!+ P04 " "2C6=7.GD/)0$& "8'0 & '!R:6TM,C R M,S Y,S!X97@S,F0Q+FAT;>T9>T_;./RK^#IM ZEY->V@2:FT%:9#&AO;BD[W MIQL[C8439XY+Z7WZ^]E.2IJ][PX&.A!MX]?O_8PGOSG.29'A(J$$_3X_>X.( M2%8Y+11*),4*9M=,96@NRA(7Z(Q*R3A'KR0C2XI0X+M#-_!'KN\XTPG FM6' M1!&A(/!&WL ?A,@?1^$P&AR@EV=H[V(^VS>[C]_-YG^>GUBTYQ>OWIS.4,_Q MO#_"F><=SX_MPM#U S27N*B88J+ W/-.WO90+U.JC#QOO5Z[Z] 5*0CDI MSAG?1,_G+*<5>DO7Z(/( $%D^N,[9@ZMF3X(4?AP,WF'@+D%]Y M:[3NDJ9W-WBN6 6D<*8V4<8(H05L>/;D<."'\<33&V^5KI8,$W R*G]"B#,J M%4M9@K7"T?E*5BL,?"F!/M)$SUGQCOT7MRW=?\.%2)'**/J(Y0(7M'+>77.Z M02\3A6!EX/L#M!</J:Y&OCQ3.00 M\S=F%,3[$-/1:R'S6AF^\QZE0AH\)? @"*) '@&XI:+Y@DH4^GVDXW\?X0JE MC#?)Q.B?)BL)H0OPXX*@DVN(RP6D%$":LZK2M,"_WDD@H:",2@K$M\FS+#74 M]2U9IWTTST#"%3IQT5D"K.4LN>RC6<9H"E@ JXZ2Z%T*C@0DUM98L]I'B?$Q M>"A;[O4->S2L82)*G?3*;[@D^J[=]V$=J[X^G&_092'6(+ EC>ZUM2N\X!0M MA"14'O7\'@B0\SK';<=5B9-Z#" :@778NC?D MS<$VZR"1KCA$C 1<@FOWW+JLI)]63%)='%;::#O.L(?W[2,$A6"T1YI1VO7W MK:_7QA^,PV&LH\"-@#QM)9XQKD?;?_BV/[C_ML\*2&:Y38*02A4&. 1FC?$V MCH&9SJ6EI)7V@;Y>QM -P3&@!7/PD*H$IZCZYE3*"NBK]#P )*9,-[D.=JVX M=2$!F=/@K#J9R'U@OO"KJAX(3I!,(4C9 L$*?@4'9 6N AK,(#]3D_9AH*5/ M*(<"0,)(95 %)=NBFNI47FO!U!S0)>H*!Z(?-+^ZSX(R!$YHP%BM)+@^Y6+M MWNO\K)M($S6.>KH+[351JX9B@Y>3",YQ6=&H>6@3IL5>TZ2;3^TKO;V>: MK0:&8W<'.9="N0R Y&N7"GF,(HA%";T'IIAT\L-W@ MCB!^SOSJ<%7G\J"\1F ,C* GOOG[Q3+Q*N]+S64N&'Q4 MUX-2UX3MAEW]'#$%M":P>@Z%-=.EXM=?]^@"\!AZV$0).?'8]%'9#U79>^>2 M07-50G?UF9KWOZ#:IH&R2??>*JA[H]2Z^2&L*CG>1(:13EL[.'##D6Z/8*HF MR+1+N\51"^X.,$>_J(@[UF AWTUY]=7[A,&P5,B_^>CW:)]74.8[V[87"YQ< M+J6 +E W-D)&37G0$N;N0DW+H$-;4U#L7.#54SOW=]V[P1(OJ6.K6YP".Q&^ M$HS4LCP8N^&VE+%3OGGI8Z\&5X,S)D,BYH=&WM67MOVS80_RJGKQ$1Z;*@I4*II%C!Z(JI',U$5>$2G5(I&>?H MA61D01$*?'?D!O[8]1WG: *TILTF4<8H"+RQ%_IAA/R#.!K%X3YZ?HIVSF?3 M7;/Z^.UT]N?9B3WV[/S%ZU=3-' \[X]HZGG'LV,[,7+] ,TD+FNFF"@Q][R3 M-P,TR)6J8L];K5;N*G*%7'BS]UZN"C[RN! U=8DB@Z.)'H%OBLG1I* *HS3' MLJ;J<' ^>^D\@Q6**4Z/)E[[:]?.!5D?30B[0+5:7"X313,.)&XZLQR1;YU:"PPL62A;Z43+Q],(;Y:NCPQ2"C,KO4.*42L4REF)M<'2VE/42@UQ*H \TU6-6O0?^ MWDUK]]]((3*D04N#0 M@M6UY@7^]4H""07E5%)@OLN>%:GE;FC9>C5$OU%0!)QRZJ)C 5FJ' )U.$VC M(_H=) 85T)II30[1-&9A!@P'KCI8T*AB@UL0<752?LON*G M1F1,1*638?654$7?C(=DCXD/88F^+&(V"@V=4RXRG277BA#9-BWL"1"1/(TH*Q] /VB*=?\%Y0GLT(2Q6DH(?Z.QVTJ-50L>#EI()S7-4T;B^ZC&FU-SSIIE0'!YACN^GUK]"FZ7CU2*=_ M->#7GMI*:*7Z,LZ)%L]&>V[TN*N,'G1T6N@.;0'T,K!0JZ#VWM%(&<\EQ1^= M%2C@FVWY9A[/:\'!DY(6.[8EO'4GZ.R$R7_H$O9I1O/]]42S,< X[5UO,WN9^1Z9[4<2R'^&$+#YGO?-,KS''Z<2$%M'2Z2Q$R;BN#CC*W)QI>PAYO;2VQ]9:N&=IZ2==_ M 5CA!75LK8HS$"?&%X*11I?[!QH\FBK&#OGF"8Y]KVA>5![]#5!+ 0(4 Q0 M ( )*-9U>80!I;R!0 .+= 1 " 0 !PL1]RJ>!( )XC 0 5 M " ?<4 !P&UL4$L! A0#% @ DHUG5]""W8KS=P &5X,S%D,BYH=&U02P$"% ,4 M" "2C6=7.GD/)0$& "8'0 & @ &DN0, <')I;2TR,#(S M,#DS,'AE>#,R9#$N:'1M4$L! A0#% @ DHUG5_^;YS?_!0 ?1T !@ M ( !V[\# '!R:6TM,C R,S Y,S!X97@S,F0R+FAT;5!+!08 1 "@ * *8" 0Q@, ! end