0001558370-21-010031.txt : 20210804 0001558370-21-010031.hdr.sgml : 20210804 20210803174757 ACCESSION NUMBER: 0001558370-21-010031 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 78 CONFORMED PERIOD OF REPORT: 20210630 FILED AS OF DATE: 20210804 DATE AS OF CHANGE: 20210803 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: 211141311 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-20210630x10q.htm 10-Q
us-gaap:AccruedLiabilitiesCurrentus-gaap:OperatingLeaseLiabilityNoncurrent0001361538--12-312021Q2false5373120648110442P12M0P3YP5Yus-gaap:AccruedLiabilitiesCurrentus-gaap:OperatingLeaseLiabilityNoncurrent0001361538prim:FutureInfrastructureHoldingsLlcMember2021-06-300001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2021-03-3100013615382020-02-290001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2021-04-012021-06-300001361538us-gaap:CommonStockMember2021-04-012021-06-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2021-01-012021-06-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2020-04-012020-06-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2020-01-012020-06-300001361538us-gaap:RestrictedStockUnitsRSUMember2021-04-012021-06-300001361538us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-06-300001361538us-gaap:CommonStockMember2021-01-012021-06-300001361538us-gaap:CommonStockMember2020-04-012020-06-300001361538us-gaap:CommonStockMember2020-01-012020-06-300001361538us-gaap:RetainedEarningsMember2021-06-300001361538us-gaap:NoncontrollingInterestMember2021-06-300001361538us-gaap:AdditionalPaidInCapitalMember2021-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-06-300001361538us-gaap:RetainedEarningsMember2021-03-310001361538us-gaap:NoncontrollingInterestMember2021-03-310001361538us-gaap:AdditionalPaidInCapitalMember2021-03-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-03-3100013615382021-03-310001361538us-gaap:RetainedEarningsMember2020-12-310001361538us-gaap:NoncontrollingInterestMember2020-12-310001361538us-gaap:AdditionalPaidInCapitalMember2020-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310001361538us-gaap:RetainedEarningsMember2020-06-300001361538us-gaap:NoncontrollingInterestMember2020-06-300001361538us-gaap:AdditionalPaidInCapitalMember2020-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-06-300001361538us-gaap:RetainedEarningsMember2020-03-310001361538us-gaap:NoncontrollingInterestMember2020-03-310001361538us-gaap:AdditionalPaidInCapitalMember2020-03-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-3100013615382020-03-310001361538us-gaap:RetainedEarningsMember2019-12-310001361538us-gaap:NoncontrollingInterestMember2019-12-310001361538us-gaap:AdditionalPaidInCapitalMember2019-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310001361538us-gaap:CommonStockMember2021-06-300001361538us-gaap:CommonStockMember2021-03-310001361538us-gaap:CommonStockMember2020-12-310001361538us-gaap:CommonStockMember2020-06-300001361538us-gaap:CommonStockMember2020-03-310001361538us-gaap:CommonStockMember2019-12-3100013615382021-07-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2021-04-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:PipelineServicesMember2021-04-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2021-04-012021-06-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2021-04-012021-06-300001361538prim:UnitPriceContractsMemberprim:PipelineServicesMember2021-04-012021-06-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2021-04-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-04-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:PipelineServicesMember2021-04-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2021-04-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-04-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:PipelineServicesMember2021-04-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2021-04-012021-06-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2021-04-012021-06-300001361538prim:CostReimbursableContractsMemberprim:PipelineServicesMember2021-04-012021-06-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2021-04-012021-06-300001361538us-gaap:FixedPriceContractMember2021-04-012021-06-300001361538prim:UnitPriceContractsMember2021-04-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMember2021-04-012021-06-300001361538prim:MasterServiceAgreementCustomersMember2021-04-012021-06-300001361538prim:CostReimbursableContractsMember2021-04-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2021-01-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:PipelineServicesMember2021-01-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2021-01-012021-06-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2021-01-012021-06-300001361538prim:UnitPriceContractsMemberprim:PipelineServicesMember2021-01-012021-06-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2021-01-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-01-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:PipelineServicesMember2021-01-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2021-01-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-01-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:PipelineServicesMember2021-01-012021-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2021-01-012021-06-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2021-01-012021-06-300001361538prim:CostReimbursableContractsMemberprim:PipelineServicesMember2021-01-012021-06-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2021-01-012021-06-300001361538us-gaap:FixedPriceContractMember2021-01-012021-06-300001361538prim:UnitPriceContractsMember2021-01-012021-06-300001361538prim:NonMasterServiceAgreementCustomersMember2021-01-012021-06-300001361538prim:MasterServiceAgreementCustomersMember2021-01-012021-06-300001361538prim:CostReimbursableContractsMember2021-01-012021-06-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2020-04-012020-06-300001361538us-gaap:FixedPriceContractMemberprim:PipelineServicesMember2020-04-012020-06-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2020-04-012020-06-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2020-04-012020-06-300001361538prim:UnitPriceContractsMemberprim:PipelineServicesMember2020-04-012020-06-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2020-04-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2020-04-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:PipelineServicesMember2020-04-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2020-04-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2020-04-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:PipelineServicesMember2020-04-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2020-04-012020-06-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2020-04-012020-06-300001361538prim:CostReimbursableContractsMemberprim:PipelineServicesMember2020-04-012020-06-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2020-04-012020-06-300001361538us-gaap:FixedPriceContractMember2020-04-012020-06-300001361538prim:UnitPriceContractsMember2020-04-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMember2020-04-012020-06-300001361538prim:MasterServiceAgreementCustomersMember2020-04-012020-06-300001361538prim:CostReimbursableContractsMember2020-04-012020-06-300001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2020-01-012020-06-300001361538us-gaap:FixedPriceContractMemberprim:PipelineServicesMember2020-01-012020-06-300001361538us-gaap:FixedPriceContractMemberprim:EnergyRenewablesMember2020-01-012020-06-300001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2020-01-012020-06-300001361538prim:UnitPriceContractsMemberprim:PipelineServicesMember2020-01-012020-06-300001361538prim:UnitPriceContractsMemberprim:EnergyRenewablesMember2020-01-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2020-01-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:PipelineServicesMember2020-01-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2020-01-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2020-01-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:PipelineServicesMember2020-01-012020-06-300001361538prim:MasterServiceAgreementCustomersMemberprim:EnergyRenewablesMember2020-01-012020-06-300001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2020-01-012020-06-300001361538prim:CostReimbursableContractsMemberprim:PipelineServicesMember2020-01-012020-06-300001361538prim:CostReimbursableContractsMemberprim:EnergyRenewablesMember2020-01-012020-06-300001361538us-gaap:FixedPriceContractMember2020-01-012020-06-300001361538prim:UnitPriceContractsMember2020-01-012020-06-300001361538prim:NonMasterServiceAgreementCustomersMember2020-01-012020-06-300001361538prim:MasterServiceAgreementCustomersMember2020-01-012020-06-300001361538prim:CostReimbursableContractsMember2020-01-012020-06-300001361538us-gaap:LoansPayableMember2021-01-012021-06-300001361538us-gaap:NoncontrollingInterestMember2021-04-012021-06-300001361538us-gaap:NoncontrollingInterestMember2021-01-012021-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-012021-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-04-012020-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-06-3000013615382020-01-012020-12-310001361538us-gaap:NoncontrollingInterestMember2020-04-012020-06-300001361538us-gaap:NoncontrollingInterestMember2020-01-012020-06-300001361538us-gaap:LoansPayableMember2021-01-150001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMemberus-gaap:RevolvingCreditFacilityMember2021-06-300001361538prim:CreditFacilityWithCanadianBankMember2021-06-300001361538us-gaap:RevolvingCreditFacilityMember2021-01-150001361538us-gaap:LetterOfCreditMember2021-01-150001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMemberus-gaap:RevolvingCreditFacilityMember2017-09-290001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMemberus-gaap:LetterOfCreditMember2017-09-290001361538us-gaap:RevolvingCreditFacilityMember2021-06-300001361538prim:CanadianCreditFacilityCibcMember2021-06-300001361538prim:CreditFacilityWithCanadianBankMemberus-gaap:LetterOfCreditMember2021-06-300001361538us-gaap:LetterOfCreditMember2021-06-300001361538srt:MaximumMember2021-06-300001361538prim:UAndDSegmentMember2021-06-300001361538prim:PipelineServicesMember2021-06-300001361538prim:EnergyRenewablesMember2021-06-300001361538prim:UAndDSegmentMember2020-12-310001361538prim:PipelineServicesMember2020-12-310001361538prim:EnergyRenewablesMember2020-12-310001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:TradeNamesMember2021-01-152021-01-150001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:CustomerRelationshipsMember2021-01-152021-01-150001361538prim:AssetsAcquiredMemberus-gaap:CustomerRelationshipsMember2021-01-142021-01-140001361538us-gaap:TradeNamesMember2021-06-300001361538us-gaap:NoncompeteAgreementsMember2021-06-300001361538us-gaap:CustomerRelationshipsMember2021-06-300001361538us-gaap:TradeNamesMember2020-12-310001361538us-gaap:NoncompeteAgreementsMember2020-12-310001361538us-gaap:CustomerRelationshipsMember2020-12-310001361538us-gaap:InterestRateSwapMember2021-06-300001361538us-gaap:InterestRateSwapMember2020-12-310001361538us-gaap:InterestRateSwapMember2018-09-130001361538us-gaap:OtherNoncurrentLiabilitiesMemberus-gaap:InterestRateSwapMember2021-06-300001361538us-gaap:OtherNoncurrentLiabilitiesMemberus-gaap:InterestRateSwapMember2020-12-310001361538us-gaap:InterestRateSwapMemberus-gaap:InterestExpenseMember2021-04-012021-06-300001361538us-gaap:InterestRateSwapMemberus-gaap:InterestExpenseMember2021-01-012021-06-300001361538us-gaap:InterestRateSwapMemberus-gaap:InterestExpenseMember2020-04-012020-06-300001361538us-gaap:InterestRateSwapMemberus-gaap:InterestExpenseMember2020-01-012020-06-300001361538us-gaap:LoansPayableMember2018-09-180001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-06-300001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001361538us-gaap:LoansPayableMemberus-gaap:LondonInterbankOfferedRateLIBORMember2021-06-300001361538us-gaap:LoansPayableMember2018-08-030001361538us-gaap:MortgagesMember2021-06-300001361538us-gaap:LoansPayableMember2021-06-300001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2021-06-300001361538us-gaap:MortgagesMember2020-12-310001361538us-gaap:LoansPayableMember2020-12-310001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2020-12-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMemberprim:DebtInstrumentVariableRateFederalFundsRateMember2021-01-152021-01-150001361538prim:SecondaryOfferingMember2021-03-310001361538us-gaap:SubsequentEventMember2021-08-032021-08-0300013615382021-05-042021-05-0400013615382021-02-192021-02-1900013615382020-11-052020-11-0500013615382020-07-312020-07-3100013615382020-05-012020-05-0100013615382020-02-212020-02-2100013615382020-06-3000013615382019-12-310001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-06-300001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:TradeNamesMember2021-01-150001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:CustomerRelationshipsMember2021-01-150001361538prim:AssetsAcquiredMemberus-gaap:CustomerRelationshipsMember2021-01-140001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-152021-06-300001361538prim:FutureInfrastructureHoldingsLlcMember2021-04-012021-06-300001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-012021-06-300001361538prim:EmployeesOfFutureInfrastructureHoldingsLlcMember2021-01-012021-06-300001361538prim:NonUnitedStatesMember2020-01-012020-12-3100013615382021-07-012021-01-012021-06-300001361538prim:NonUnitedStatesMember2021-01-012021-06-300001361538prim:NonUnitedStatesMember2020-01-012020-06-300001361538prim:SecondaryOfferingMember2021-03-012021-03-310001361538us-gaap:RevolvingCreditFacilityMember2021-01-152021-01-150001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2018-08-032018-08-030001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-152021-01-150001361538us-gaap:LoansPayableMember2018-09-182018-09-180001361538prim:UAndDSegmentMember2021-04-012021-06-300001361538prim:PipelineServicesMember2021-04-012021-06-300001361538prim:EnergyRenewablesMember2021-04-012021-06-300001361538prim:UAndDSegmentMember2021-01-012021-06-300001361538prim:PipelineServicesMember2021-01-012021-06-300001361538prim:EnergyRenewablesMember2021-01-012021-06-300001361538prim:UAndDSegmentMember2020-04-012020-06-300001361538prim:PipelineServicesMember2020-04-012020-06-300001361538prim:EnergyRenewablesMember2020-04-012020-06-300001361538prim:UAndDSegmentMember2020-01-012020-06-300001361538prim:PipelineServicesMember2020-01-012020-06-300001361538prim:EnergyRenewablesMember2020-01-012020-06-300001361538us-gaap:RetainedEarningsMember2021-04-012021-06-300001361538us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-300001361538us-gaap:RetainedEarningsMember2021-01-012021-06-300001361538us-gaap:AdditionalPaidInCapitalMember2021-01-012021-06-300001361538us-gaap:RetainedEarningsMember2020-04-012020-06-300001361538us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-300001361538us-gaap:RetainedEarningsMember2020-01-012020-06-300001361538us-gaap:AdditionalPaidInCapitalMember2020-01-012020-06-300001361538prim:LongTermRetentionPlanMember2021-01-012021-06-300001361538prim:LongTermRetentionPlanMember2020-01-012020-06-300001361538us-gaap:LoansPayableMember2021-01-152021-01-150001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2021-01-152021-01-150001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-04-012020-06-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001361538prim:PipelineCustomerMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-04-012020-06-300001361538prim:PipelineCustomerMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-1500013615382021-04-012021-06-3000013615382020-04-012020-06-3000013615382020-01-012020-06-3000013615382021-06-3000013615382020-12-3100013615382021-08-0200013615382021-01-012021-06-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 June 30, 2021

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

The Nasdaq Stock Market LLC

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 August 2, 2021, 53,731,206 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 June 30, 2021 and December 31, 2020 (Unaudited)

3

—Condensed Consolidated Statements of Income for the three and six months ended June 30, 2021 and 2020 (Unaudited)

4

—Condensed Consolidated Statements of Comprehensive Income for the three and six months ended June 30, 2021 and 2020 (Unaudited)

5

—Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020 (Unaudited)

6

—Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 (Unaudited)

8

—Notes to Condensed Consolidated Financial Statements (Unaudited)

10

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

28

Item 3. Quantitative and Qualitative Disclosures About Market Risk

42

Item 4. Controls and Procedures

42

Part II. Other Information

Item 1. Legal Proceedings

42

Item 6. Exhibits

43

Signatures

44

2

PART I.  FINANCIAL INFORMATION

ITEM 1.  FINANCIAL STATEMENTS

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

(Unaudited)

June 30,

December 31,

 

    

2021

    

2020

 

ASSETS

Current assets:

Cash and cash equivalents

$

177,979

$

326,744

Accounts receivable, net

 

479,013

 

432,455

Contract assets

 

386,702

 

325,849

Prepaid expenses and other current assets

 

50,719

 

30,218

Total current assets

 

1,094,413

 

1,115,266

Property and equipment, net

 

432,200

 

356,194

Operating lease assets

189,411

207,320

Deferred tax assets

1,971

1,909

Intangible assets, net

 

176,810

 

61,012

Goodwill

 

582,106

 

215,103

Other long-term assets

 

16,896

 

12,776

Total assets

$

2,493,807

$

1,969,580

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current liabilities:

Accounts payable

$

265,633

$

245,906

Contract liabilities

 

213,479

 

267,227

Accrued liabilities

 

213,942

 

200,673

Dividends payable

 

3,224

 

2,887

Current portion of long-term debt

 

62,397

 

47,722

Total current liabilities

 

758,675

 

764,415

Long-term debt, net of current portion

 

592,402

 

268,835

Noncurrent operating lease liabilities, net of current portion

123,638

137,913

Deferred tax liabilities

 

13,547

 

13,548

Other long-term liabilities

 

69,055

 

70,077

Total liabilities

 

1,557,317

 

1,254,788

Commitments and contingencies (See Note 15)

Stockholders’ equity

Common stock—$.0001 par value; 90,000,000 shares authorized; 53,731,206 and 48,110,442 issued and outstanding at June 30, 2021 and December 31, 2020, respectively

 

6

 

5

Additional paid-in capital

 

274,008

 

89,098

Retained earnings

 

660,385

 

624,694

Accumulated other comprehensive income

2,051

958

Noncontrolling interest

 

40

 

37

Total stockholders’ equity

 

936,490

 

714,792

Total liabilities and stockholders’ equity

$

2,493,807

$

1,969,580

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

Six Months Ended

June 30, 

June 30, 

    

2021

    

2020

    

2021

    

2020

 

Revenue

$

881,610

$

908,216

$

1,699,939

$

1,651,459

Cost of revenue

 

768,584

 

807,249

 

1,506,732

 

1,502,682

Gross profit

 

113,026

 

100,967

 

193,207

 

148,777

Selling, general and administrative expenses

 

57,747

 

51,422

 

111,179

 

95,810

Transaction and related costs

480

14,376

Operating income

 

54,799

 

49,545

 

67,652

 

52,967

Other income (expense):

Foreign exchange loss, net

 

(466)

 

(200)

 

(443)

 

(64)

Other income, net

 

379

 

706

 

374

 

718

Interest income

 

5

 

64

 

90

 

345

Interest expense

 

(4,825)

 

(3,690)

 

(9,546)

 

(12,802)

Income before provision for income taxes

 

49,892

 

46,425

 

58,127

 

41,164

Provision for income taxes

 

(13,597)

 

(13,463)

 

(15,984)

 

(11,936)

Net income

36,295

32,962

42,143

29,228

Net income attributable to noncontrolling interests

(5)

 

(3)

(3)

(6)

Net income attributable to Primoris

$

36,290

$

32,959

$

42,140

$

29,222

Dividends per common share

$

0.06

$

0.06

$

0.12

$

0.12

Earnings per share:

Basic

$

0.68

$

0.68

$

0.82

$

0.60

Diluted

$

0.67

$

0.68

$

0.81

$

0.60

Weighted average common shares outstanding:

Basic

 

53,729

 

48,270

 

51,634

 

48,429

Diluted

 

54,285

 

48,668

 

52,137

 

48,782

See Accompanying Notes to Condensed Consolidated Financial Statements

4

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(In Thousands)

(Unaudited)

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2021

    

2020

    

2021

    

2020

 

Net income

$

36,295

$

32,962

$

42,143

$

29,228

Other comprehensive income, net of tax:

Foreign currency translation adjustments

632

 

552

1,093

(1,185)

Comprehensive income

36,927

33,514

43,236

28,043

Net income attributable to noncontrolling interests

(5)

(3)

(3)

(6)

Comprehensive income attributable to Primoris

$

36,922

$

33,511

$

43,233

$

28,037

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

Non

Total

 

Common Stock

Paid-in

Retained

Comprehensive

Controlling

Stockholders’

 

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Interest

    

Equity

 

Balance, March 31, 2021

 

53,723,988

$

6

$

272,584

$

627,320

$

1,419

$

35

$

901,364

Net income

 

 

 

 

36,290

 

5

 

36,295

Foreign currency translation adjustments, net of tax

632

632

Share issuance costs

 

 

(151)

 

 

 

(151)

Issuance of shares to directors

7,218

 

 

241

 

 

 

241

Stock-based compensation

 

 

 

1,333

 

 

 

1,333

Dividend equivalent Units accrued - Restricted Stock Units

1

(1)

Dividends declared ($0.06 per share)

 

 

 

 

(3,224)

 

 

(3,224)

Balance, June 30, 2021

 

53,731,206

$

6

$

274,008

$

660,385

$

2,051

$

40

$

936,490

Accumulated

Additional

Other

Non

Total

 

Common Stock

Paid-in

Retained

Comprehensive

Controlling

Stockholders’

 

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Interest

    

Equity

 

Balance, December 31, 2020

 

48,110,442

$

5

$

89,098

$

624,694

$

958

$

37

$

714,792

Net income

 

 

 

 

42,140

 

3

 

42,143

Foreign currency translation adjustments, net of tax

1,093

1,093

Issuance of shares, net of issuance costs

 

4,500,000

1

149,289

 

149,290

Issuance of shares to employees and directors

1,081,000

28,733

28,733

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

39,764

(599)

(599)

Stock-based compensation

7,485

7,485

Dividend equivalent Units accrued - Restricted Stock Units

2

(2)

Dividends declared ($0.12 per share)

 

(6,447)

 

(6,447)

Balance, June 30, 2021

 

53,731,206

$

6

$

274,008

$

660,385

$

2,051

$

40

$

936,490

6

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Continued)

(In Thousands, Except Share and Per Share Amounts)

(Unaudited)

Accumulated

Additional

Other

Non

Total

 

Common Stock

Paid-in

Retained

Comprehensive

Controlling

Stockholders’

 

    

Shares

    

Amount

    

Capital

    

Earnings

0

Loss

    

Interest

0

Equity

 

Balance, March 31, 2020

 

48,254,575

$

5

$

91,414

$

524,655

$

(1,661)

$

1,031

$

615,444

Net income

 

 

 

 

32,959

 

 

3

 

32,962

Foreign currency translation adjustments, net of tax

552

552

Issuance of shares to directors

 

10,451

 

 

163

 

 

 

 

163

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

13,516

(77)

(77)

Stock-based compensation

703

703

Dividend equivalent Units accrued - Restricted Stock Units

4

(4)

Repurchase of stock

 

(57,731)

 

 

(950)

 

 

 

 

(950)

Distribution of noncontrolling entities

(1,000)

(1,000)

Dividends declared ($0.06 per share)

 

 

 

 

(2,893)

 

 

 

(2,893)

Balance, June 30, 2020

 

48,220,811

$

5

$

91,257

$

554,717

$

(1,109)

$

34

$

644,904

Accumulated

Additional

Other

Non

Total

 

Common Stock

Paid-in

Retained

Comprehensive

Controlling

Stockholders’

 

    

Shares

    

Amount

    

Capital

    

Earnings

0

Loss

    

Interest

0

Equity

 

Balance, December 31, 2019

 

48,665,138

$

5

$

97,130

$

531,291

$

76

$

1,028

$

629,530

Net income

 

 

 

 

29,222

 

 

6

 

29,228

Foreign currency translation adjustments, net of tax

(1,185)

(1,185)

Issuance of shares to employees and directors

 

61,719

 

 

1,337

 

 

 

 

1,337

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

13,516

(77)

(77)

Stock-based compensation

1,202

1,202

Dividend equivalent Units accrued - Restricted Stock Units

8

(8)

Repurchase of stock

(519,562)

(8,343)

(8,343)

Distribution of noncontrolling entities

(1,000)

(1,000)

Dividends declared ($0.12 per share)

 

 

 

 

(5,788)

 

 

 

(5,788)

Balance, June 30, 2020

 

48,220,811

$

5

$

91,257

$

554,717

$

(1,109)

$

34

$

644,904

7

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

(Unaudited)

Six Months Ended

 

June 30, 

    

2021

    

2020

 

Cash flows from operating activities:

Net income

$

42,143

$

29,228

Adjustments to reconcile net income to net cash provided by operating activities (net of effect of acquisitions):

Depreciation and amortization

 

51,702

 

41,893

Stock-based compensation expense

 

7,485

 

1,202

Gain on sale of property and equipment

 

(7,110)

 

(7,332)

Unrealized (gain) loss on interest rate swap

(2,255)

4,907

Other non-cash items

566

161

Changes in assets and liabilities:

Accounts receivable

 

11,357

 

(65,860)

Contract assets

 

(27,733)

 

(32,765)

Other current assets

 

(20,018)

 

(3,268)

Other long-term assets

(181)

223

Accounts payable

 

6,900

 

21,897

Contract liabilities

 

(56,688)

 

30,784

Operating lease assets and liabilities, net

 

(1,831)

 

(551)

Accrued liabilities

 

6,266

 

22,125

Other long-term liabilities

 

(5,010)

 

18,007

Net cash provided by operating activities

 

5,593

 

60,651

Cash flows from investing activities:

Purchase of property and equipment

 

(62,755)

 

(21,703)

Proceeds from sale of property and equipment

 

10,534

 

12,086

Cash paid for acquisitions, net of cash acquired

 

(606,974)

 

Net cash used in investing activities

 

(659,195)

 

(9,617)

Cash flows from financing activities:

Borrowings under revolving line of credit

100,000

Payments on revolving line of credit

 

(100,000)

 

Proceeds from issuance of long-term debt

 

421,000

 

33,873

Repayment of long-term debt

 

(79,515)

 

(32,469)

Proceeds from issuance of common stock

178,712

578

Debt issuance costs

(4,876)

Repurchase of common stock

(8,343)

Dividends paid

 

(6,110)

 

(5,814)

Other

(4,959)

 

(3,091)

Net cash provided by (used in) financing activities

 

504,252

 

(15,266)

Effect of exchange rate changes on cash and cash equivalents

585

(384)

Net change in cash and cash equivalents

 

(148,765)

 

35,384

Cash and cash equivalents at beginning of the period

 

326,744

 

120,286

Cash and cash equivalents at end of the period

$

177,979

$

155,670

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

Six Months Ended June 30, 

 

    

2021

    

2020

 

Cash paid for interest

$

11,234

$

7,735

Cash paid for income taxes, net of refunds received

17,609

(13)

Leased assets obtained in exchange for new operating leases

10,673

42,450

SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES

Six Months Ended June 30, 

 

    

2021

    

2020

 

Dividends declared and not yet paid

$

3,224

$

2,893

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 operations — 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, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our three segments.

We have customer relationships with major utility, telecommunications, 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 substantial 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 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter 2021, we changed our reportable segments in connection with a 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 segments.

The current reportable segments include the Utilities segment, the Energy/Renewables segment and the Pipeline Services (“Pipeline”) segment. See Note 16 – “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 six months ended June 30, 2021 and 2020 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 23, 2021, which contains our audited consolidated financial statements for the year ended December 31, 2020, 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. 

Reclassification — Certain previously reported amounts have been reclassified to conform to the current year presentation.

Customer concentration — We operate in multiple industry segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten

10

customers in any one calendar year generate revenue that is approximately 50% of total revenue; however, the companies that comprise the top ten vary from year to year.

For the three and six months ended June 30, 2021, approximately 42.3% and 43.6%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than ten percent of our total revenue.

For the three and six months ended June 30, 2020, approximately 52.3% and 50.7%, respectively, of total revenue was generated from our top ten customers. For the three and six months ended June 30, 2020, one pipeline customer represented approximately 15.6% and 13.6% of total revenue, respectively.

Note 3—Recent Accounting Pronouncements

Recently adopted accounting pronouncements

In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes”, which removes certain exceptions to the general principles in Topic 740 and clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. We adopted the new standard on January 1, 2021, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.

Note 4—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures”, defines fair value, establishes a framework for measuring fair value in 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 June 30, 2021 and December 31, 2020 (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 June 30, 2021:

Cash and cash equivalents

$

177,979

 

$

 

$

Liabilities as of June 30, 2021:

Interest rate swap

$

$

6,950

$

Assets as of December 31, 2020:

Cash and cash equivalents

$

326,744

 

$

 

$

Liabilities as of December 31, 2020:

Interest rate swap

$

$

9,205

$

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.

11

The interest rate swap is 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 10 – “Derivative Instruments” for additional information.

Note 5—Acquisitions

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the telecommunication, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. The total purchase price was funded through a combination of existing cash balances, borrowings under our term loan facility, and borrowings under our revolving credit facility. As discussed in Note 13 – “Stockholders’ Equity”, we used the net proceeds from our secondary offering to repay a portion of the borrowings incurred in connection with the acquisition of FIH.

The table below represents the purchase consideration and the preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $6.7 million since the first quarter of 2021. 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.

The final determination of fair value for certain assets and liabilities is subject to further change and will be completed as soon as the information necessary to complete the analysis is obtained. These amounts, which may differ materially from these preliminary estimates, will continue to be refined and will be finalized as soon as possible, but no later than one year from the acquisition date. The primary areas of the preliminary estimates that are not yet finalized relate to property, plant and equipment, contract assets and liabilities, and the fair value of certain contractual obligations, including sales and use tax liabilities.

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash acquired

(10,525)

Net cash paid

$

604,724

12

Preliminary identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

55,402

Contract assets

32,676

Prepaid expenses and other current assets

483

Property, plant and equipment

57,102

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

118,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(27,206)

Contract liabilities

(2,671)

Total debt

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(8,612)

Total identifiable net assets

248,246

Goodwill

367,003

Total purchase consideration

$

615,249

We incorporated the operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the telecommunications 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 expected to be deductible for income tax purposes over a 15-year period.

The intangible assets acquired with the FIH acquisition consisted of Customer relationships of $118.0 million and Tradenames of $4.4 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 19 years and one year, respectively.

For the three months ended June 30, 2021, FIH contributed revenue of $72.7 million and gross profit of $10.7 million. For the period from January 15, 2021, the acquisition date, to June 30, 2021, FIH contributed revenue of $133.4 million and gross profit of $20.5 million.

Acquisition related costs were $0.3 million and $13.8 million for the three and six months ended June 30, 2021, respectively, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.

13

Supplemental Unaudited Pro Forma Information for the three and six months ended June 30, 2021

The following pro forma information for the three and six months ended June 30, 2021 presents our results of operations as if the acquisition of FIH had occurred at the beginning of 2020. On October 30, 2020, FIH acquired Pridemore Case Holdings, Inc. (“Pride”), which expanded FIH’s operations. Therefore, we have included Pride’s results of operations for the three and six months ended June 30, 2020 in the pro forma information. 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 27.5% for the three and six months ended June 30, 2021 and 29.0% for the three and six months ended June 30, 2020.

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 FIH acquisition been completed on January 1, 2020. 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 June 30,

Six Months Ended June 30,

2021

    

2020

    

2021

    

2020

 

(unaudited)

(unaudited)

(unaudited)

(unaudited)

Revenue

$

881,610

$

998,327

$

1,704,385

$

1,074,083

Income before provision for income taxes

51,314

54,841

67,239

40,157

Net income attributable to Primoris

37,321

38,934

48,746

28,509

Weighted average common shares outstanding:

Basic

 

53,891

 

49,308

 

51,796

 

49,467

Diluted

 

54,466

 

49,813

 

52,318

 

49,927

Earnings per share:

Basic

$

0.69

$

0.79

$

0.94

$

0.58

Diluted

0.69

0.78

0.93

0.57

Asset Acquisition

On January 14, 2021, we acquired certain engineering assets for $2.3 million in cash. The identifiable assets acquired consisted primarily of customer relationship intangible assets which are being amortized over a five-year useful life. This asset acquisition is not material to our condensed consolidated financial statements.

Note 6—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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts. 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

14

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 June 30, 2021, we had $1.5 billion of remaining performance obligations. We expect to recognize approximately 73% of our remaining performance obligations as revenue during the next four quarters and substantially all of the remaining balance by the end of 2022.

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 six months ended June 30, 2021, revenue recognized from performance obligations satisfied in previous periods was $28.3 million and $39.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

15

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 June 30, 2021, we had approximately $83.5 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 $70.2 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through June 30, 2021.

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 arise 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):

June 30, 

December 31, 

    

2021

    

2020

Unbilled revenue

$

257,927

$

192,176

Retention receivable

109,979

115,877

Contract materials (not yet installed)

 

18,796

 

17,796

$

386,702

$

325,849

Contract assets increased by $60.9 million compared to December 31, 2020 primarily due to higher unbilled revenue, including $24.0 million related to the FIH acquisition.

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

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

the accrued loss provision

Contract liabilities consist of the following (in thousands):

June 30, 

December 31, 

    

2021

    

2020

Deferred revenue

$

202,122

$

252,781

Accrued loss provision

 

11,357

 

14,446

$

213,479

$

267,227

16

Contract liabilities decreased by $53.7 million compared to December 31, 2020 primarily due to lower deferred revenue.

Revenue recognized for the six months ended June 30, 2021, that was included in the contract liability balance at December 31, 2020, was approximately $210.0 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 June 30, 2021

Segment

MSA

Non-MSA

Total

Utilities

$

351,735

$

73,686

$

425,421

Energy/Renewables

43,278

291,732

335,010

Pipeline

 

18,187

102,992

121,179

Total

$

413,200

 

$

468,410

 

$

881,610

For the three months ended June 30, 2020

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

275,257

 

 

64,866

 

 

340,123

Energy/Renewables

27,237

251,297

278,534

Pipeline

 

32,817

256,742

 

289,559

Total

$

335,311

 

$

572,905

 

$

908,216

For the six months ended June 30, 2021

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

629,702

$

130,731

$

760,433

Energy/Renewables

85,864

602,010

687,874

Pipeline

 

35,897

215,735

251,632

Total

$

751,463

 

$

948,476

 

$

1,699,939

For the six months ended June 30, 2020

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

461,042

 

$

129,035

 

$

590,077

Energy/Renewables

65,128

515,172

580,300

Pipeline

 

79,549

 

 

401,533

 

 

481,082

Total

$

605,719

 

$

1,045,740

 

$

1,651,459

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

For the three months ended June 30, 2021

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

29,346

$

303,380

$

92,695

$

425,421

Energy/Renewables

163,362

87,068

84,580

335,010

Pipeline

 

91,112

969

29,098

121,179

Total

$

283,820

 

$

391,417

 

$

206,373

 

$

881,610

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

For the three months ended June 30, 2020

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

43,526

 

$

252,026

 

$

44,571

 

$

340,123

Energy/Renewables

136,702

94,760

47,072

278,534

Pipeline

 

24,006

 

 

150,331

 

 

115,222

 

 

289,559

Total

$

204,234

 

$

497,117

 

$

206,865

 

$

908,216

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

17

For the six months ended June 30, 2021

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

56,862

$

533,123

$

170,448

$

760,433

Energy/Renewables

351,596

165,811

170,467

687,874

Pipeline

 

204,269

1,634

45,729

251,632

Total

$

612,727

 

$

700,568

 

$

386,644

 

$

1,699,939

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

For the six months ended June 30, 2020

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

81,251

 

$

421,454

 

$

87,372

 

$

590,077

Energy/Renewables

301,411

170,388

108,501

580,300

Pipeline

 

39,351

 

 

232,161

 

 

209,570

 

 

481,082

Total

$

422,013

 

$

824,003

 

$

405,443

 

$

1,651,459

(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 7—Goodwill and Intangible Assets

The change in goodwill by segment for the six months ended June 30, 2021 was as follows (in thousands):

Utilities

Energy/Renewables

Pipeline

Total

Balance at December 31, 2020

$

96,344

$

66,344

$

52,415

$

215,103

Goodwill acquired during the period

 

367,003

367,003

Balance at June 30, 2021

$

463,347

$

66,344

$

52,415

$

582,106

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

June 30, 2021

December 31, 2020

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradename

$

20,440

(17,142)

3,298

$

16,040

$

(14,793)

$

1,247

Customer relationships

 

211,227

(37,825)

173,402

 

91,000

 

(31,400)

 

59,600

Non-compete agreements

 

1,900

(1,790)

110

 

1,900

 

(1,735)

 

165

Total

$

233,567

$

(56,757)

$

176,810

$

108,940

$

(47,928)

$

61,012

18

Amortization expense of intangible assets was $4.7 million and $2.3 million for the three months ended June 30, 2021 and 2020, respectively, and $8.8 million and $4.7 million for the six months ended June 30, 2021 and 2020. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2021 (remaining six months)

$

9,290

2022

13,218

2023

 

12,200

2024

 

11,481

2025

 

10,759

Thereafter

 

119,862

$

176,810

Note 8—Accounts Payable and Accrued Liabilities

At June 30, 2021 and December 31, 2020, accounts payable included retention amounts of approximately $16.3 million and $12.6 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):

June 30, 

December 31, 

    

2021

    

2020

Payroll and related employee benefits

$

105,872

$

81,088

Current operating lease liability

67,577

73,033

Casualty insurance reserves

 

5,251

 

8,365

Corporate income taxes and other taxes

 

17,917

 

13,783

Other

 

17,325

 

24,404

$

213,942

$

200,673

Note 9—Credit Agreements

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

June 30, 

December 31, 

    

2021

    

2020

Term loan

$

535,094

$

192,500

Commercial equipment notes

86,283

85,783

Mortgage notes

 

38,144

 

38,795

Total debt

659,521

317,078

Unamortized debt issuance costs

(4,722)

(521)

Total debt, net

$

654,799

$

316,557

Less: current portion

 

(62,397)

 

(47,722)

Long-term debt, net of current portion

$

592,402

$

268,835

The weighted average interest rate on total debt outstanding at June 30, 2021 and December 31, 2020 was 2.9% and 3.7%, respectively.

Credit Agreement

On September 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing

19

capacity under the Revolving Credit Facility by up to $75.0 million. The Credit Agreement was scheduled to mature on July 9, 2023.

On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement (the “Amended Credit Agreement”) with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million (the “New Term Loan”) and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026.

In addition to the New Term Loan, the Amended Credit Agreement consists of the existing $200.0 million revolving credit facility (“Revolving Credit Facility”) whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount, and contains an accordion feature that would allow us to increase the New Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 million.

At June 30, 2021, there were no borrowings outstanding under the Revolving Credit Facility, commercial letters of credit outstanding were $48.9 million, and available borrowing capacity was $151.1 million.

Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $7.4 million, with the balance due on January 15, 2026. The first principal payment was paid on March 31, 2021.

The proceeds from the New Term Loan were used to finance the acquisition of FIH.

We capitalized $4.7 million of debt issuance costs during the first quarter of 2021 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement.

The principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) LIBOR plus an applicable margin as specified in the Amended Credit Agreement (based on our senior debt to EBITDA ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.5% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.

The principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million. During the six months ended June 30, 2021, we made additional payments on our New Term Loan of $42.6 million.

Loans made under the Credit Agreement and the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain of our domestic subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Credit Agreement and the Amended Credit Agreement.

The Credit Agreement and Amended Credit Agreement contain various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement and the Amended Credit Agreement include 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 June 30, 2021.

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 75% of the debt outstanding under our original Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin, which was 2.00% at June 30, 2021.

Canadian Credit Facilities

We have a demand credit facility for $4.0 million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada. At June 30, 2021, commercial letters of credit outstanding were $0.4 million

20

in Canadian dollars, and the available borrowing capacity was $3.6 million in Canadian dollars. The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary. At June 30, 2021, OnQuest Canada, ULC was in compliance with the covenant.

We have a credit facility for $10.0 million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (“Working Capital Credit Facility”). At June 30, 2021, there were no outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was $10.0 million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Amended Credit Agreement will represent a default in the Working Capital Credit Facility.

Note 10 — 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 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, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by a portion of the required principal payments made on the original Term Loan. The swap effectively changes 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 June 30, 2021, and December 31, 2020, our outstanding interest rate swap agreement contained a notional amount of $140.3 million and $144.4 million, respectively, with a maturity date of July 10, 2023.

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):

    

    

    

June 30, 

    

December 31, 

Balance Sheet Location

2021

2020

Interest rate swap

Other long-term liabilities

$

6,950

$

9,205

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

Six Months Ended

Location of (Gain) Loss Recognized

June 30, 

June 30, 

    

on Derivatives

    

2021

    

2020

2021

    

2020

 

Interest rate swap

 

Interest expense

$

40

$

838

$

(237)

$

6,273

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

Note 11—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.

21

We do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income (including and excluding noncontrolling interests) for the six months ended June 30, 2021 and 2020 was 27.5% and 29.0%, respectively. For the first six months of each of 2021 and 2020, 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.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2017. 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 2015.

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.

On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred FICA tax payments through the end of 2020 as allowed under the CARES Act. This deferral was $43.5 million at June 30, 2021, and is included in Accrued liabilities and Other long-term liabilities on our Condensed Consolidated Balance Sheet. Half of the deferral is due on December 31, 2021, and the other half is due on December 31, 2022.

Note 12—Dividends and Earnings Per Share

We paid cash dividends during 2021 and 2020 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 21, 2020

March 31, 2020

April 15, 2020

$

0.06

May 1, 2020

June 30, 2020

July 15, 2020

0.06

July 31, 2020

September 30, 2020

October 15, 2020

0.06

November 5, 2020

December 31, 2020

January 15, 2021

0.06

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

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 six months ended June 30, 2021 and 2020 (in thousands, except per share amounts).

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

    

2020

    

2021

    

2020

 

Numerator:

Net income attributable to Primoris

$

36,290

$

32,959

$

42,140

$

29,222

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,729

 

48,270

 

51,634

 

48,429

Dilutive effect of shares issued to independent directors

 

2

 

4

 

4

 

6

Dilutive effect of restricted stock units

 

554

 

394

 

499

 

347

Weighted average shares for computation of diluted earnings per share

 

54,285

 

48,668

 

52,137

 

48,782

Earnings per share attributable to Primoris:

Basic

$

0.68

$

0.68

$

0.82

$

0.60

Diluted

$

0.67

$

0.68

$

0.81

$

0.60

Note 13—Stockholders’ Equity

Common stock

We issued 25,987 and 34,524 shares of common stock in the six months ended June 30, 2021 and 2020, 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.5 million and $0.6 million in the six months ended June 30, 2021 and 2020, 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 six months ended June 30, 2021 were a portion of bonus amounts earned in 2020, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2020. The shares purchased in the six months ended June 30, 2020 were for bonus amounts earned in 2019, and the number of shares was calculated at 75% of the average daily closing market price during December 2019.

During the three months ended June 30, 2021 and 2020, we issued 7,218 and 10,451 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the six months ended June 30, 2021 and 2020, we issued 16,704 and 27,195 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 six months ended June 30, 2021, a total of 39,764 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, were converted to common stock. There were 13,516 RSUs converted to common stock during the three and six months ended June 30, 2020.

In connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the six months ended June 30, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1 million in stock compensation expense included in Transaction and related costs in the Condensed Consolidated Statement of Income.

23

Secondary Offering

In March 2021, we entered into an underwriting agreement with Goldman Sachs & Co. LLC, Morgan Stanley & Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred under our Amended Credit Agreement in connection with the acquisition of FIH.

Share Repurchase Plan

In February 2020, our Board of Directors authorized a $25.0 million share repurchase program. Under the share repurchase program, we could, 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 the three months ended June 30, 2020, we purchased and cancelled 57,731 shares of common stock, which in the aggregate equaled $0.9 million at an average share price of $16.46. In the six months ended June 30, 2020, we purchased and cancelled 519,562 shares of common stock, which in the aggregate equaled $8.3 million at an average share price of $16.06. The share repurchase plan expired on December 31, 2020.

Note 14—Leases

We lease administrative and various 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 2030, 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 June 30, 

Six Months Ended June 30, 

2021

2020

    

2021

2020

Operating lease expense (1)

$

21,168

$

23,153

$

42,824

$

46,131

________________________________________

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

24

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

June 30, 

December 31, 

    

2021

2020

Accrued liabilities

$

67,577

$

73,033

Noncurrent operating lease liabilities, net of current portion

 

123,638

 

137,913

$

191,215

$

210,946

Note 15—Commitments and Contingencies

Legal proceedingsWe 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 other 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 June 30, 2021 and December 31, 2020, we had bid and completion bonds issued and outstanding totaling approximately $2.6 billion and $3.2 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $566.8 million and $696.0 million at June 30, 2021 and December 31, 2020, respectively.

Note 16—Reportable Segments

Through the end of 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter of 2021, we changed our reportable segments in connection with 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, the Energy/Renewables segment, and the Pipeline segment. Segment information for prior periods has been restated to conform to the new segment presentation.

Each of our reportable segments is comprised 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 telecommunications and installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems.

25

The Energy/Renewables 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, 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.

The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.

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 CODM 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 June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

425,421

 

48.3%

$

340,123

 

37.4%

Energy/Renewables

335,010

38.0%

278,534

30.7%

Pipeline

 

121,179

 

13.7%

 

289,559

 

31.9%

Total

$

881,610

 

100.0%

$

908,216

 

100.0%

For the six months ended June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

760,433

 

44.7%

$

590,077

 

35.7%

Energy/Renewables

687,874

40.5%

580,300

35.1%

Pipeline

 

251,632

 

14.8%

 

481,082

 

29.2%

Total

$

1,699,939

 

100.0%

$

1,651,459

 

100.0%

26

Segment Gross Profit

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

For the three months ended June 30, 

2021

2020

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

48,849

 

11.5%

$

55,837

 

16.4%

Energy/Renewables

33,232

9.9%

18,100

6.5%

Pipeline

 

30,945

 

25.5%

 

27,030

 

9.3%

Total

$

113,026

 

12.8%

$

100,967

 

11.1%

For the six months ended June 30, 

2021

2020

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

70,565

 

9.3%

$

62,151

 

10.5%

Energy/Renewables

75,904

11.0%

43,104

7.4%

Pipeline

 

46,738

 

18.6%

 

43,522

 

9.0%

Total

$

193,207

 

11.4%

$

148,777

 

9.0%

Segment Goodwill

The amount of goodwill recorded by each segment at June 30, 2021 and at December 31, 2020 is presented in Note 7 – “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 4.0% and 3.3% generated from sources outside of the United States during the six months ended June 30, 2021 and 2020, respectively, principally in Canada. At June 30, 2021 and December 31, 2020, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.

Note 17—Subsequent Events

Cash Dividend

On August 3, 2021, the Board of Directors declared a cash dividend of $0.06 per share of common stock for stockholders of record as of September 30, 2021, payable on or about October 15, 2021.

27

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 June 30, 2021 (“Second Quarter 2021 Report”) contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”), 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, potential growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements include all statements that are not historical facts and 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; 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; 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; 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 severe weather conditions, public health crises and pandemics (such as COVID-19), political crises or other catastrophic events; client delays or defaults in making payments; the 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, including FIH. 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, 2020 and our other filings with the Securities and Exchange Commission (“SEC”), including in Part II, Item 1A “Risk Factors” of this Second Quarter 2021 report. You should read this Second Quarter 2021 Report, our Annual Report on Form 10-K for the year ended December 31, 2020 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 Second Quarter 2021 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.

28

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 Second Quarter 2021 Report and our Annual Report on Form 10-K for the year ended December 31, 2020.

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, fabrication, maintenance, replacement, and engineering services to a diversified base of customers.

Through the end of 2020, we segregated our business into five reportable segments: The Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter 2021, we changed our reportable segments in connection with a 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 segments.

The current reportable segments include the Utilities segment, the Energy/Renewables segment and the Pipeline Services (“Pipeline”) segment.

The new Utilities segment is comprised of the previous Utilities and Distribution and Transmission and Distribution segments. The Utilities segment operates throughout the United States and specializes in a range of services, including telecommunications, installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems.

The Energy/Renewables segment is comprised of the previous Power, Industrial and Engineering and Civil segments. This new 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, 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.

The Pipeline and Underground segment has become the new Pipeline segment. The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.

We have longstanding customer relationships with major utility, refining, petrochemical, power, midstream, and engineering companies, and 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, as well as significant 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. 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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts.

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.

29

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH was incorporated into our Utilities segment and is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the telecommunication, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. The total purchase price was funded through a combination of existing cash balances, borrowings under our term loan facility, and borrowings under our revolving credit facility. As discussed in Note 13 – “Stockholders’ Equity”, included in the unaudited notes to our condensed consolidated financial statements included under Part I of this Form 10-Q, we used the net proceeds from our secondary offering to repay a portion of the borrowings incurred in connection with the acquisition of FIH.

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 telecommunications, gas and electric utility industries, the 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, 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.

In March 2020, the COVID-19 outbreak was declared a National Public Health Emergency which has spread throughout the world and has adversely impacted global activity and contributed to significant volatility in financial markets. In an effort to contain COVID-19 or slow its spread, governments around the world enacted various measures, including orders to close all businesses not deemed “essential”, isolate residents to their homes or places of residence, and practice social distancing when engaging in essential activities. While our services have generally been deemed to be essential services, all segments have reported various levels of project interruptions and restrictions that have delayed project timelines from those originally planned. In some cases, we have experienced temporary work stoppages. This led to general inefficiencies from having to start and stop work, re-sequencing work, requiring on-site health screenings before entering a job site, and following proper social distancing practices. We have also been restricted from completing work or have been prevented from starting work on certain projects. However, despite these impacts, our work has generally been deemed essential, our business model appears to be resilient, and we have adapted accordingly, including making salary or headcount reductions where appropriate.

We anticipate that the COVID-19 pandemic could have a continued adverse impact on economic and market conditions and we could see an extended period of global economic slowdown. When COVID-19 is demonstrably contained, we anticipate a rebound in economic activity, depending on the rate, pace, and effectiveness of vaccinations and the containment efforts deployed by various national, state, and local governments, including with respect to new variants.

To date, the inefficiencies experienced have had an unquantifiable impact on our business. We will continue to actively monitor the situation and may take further actions to alter our business operations that we determine are in the best interests of our employees, customers, suppliers, and stakeholders, or as required by federal, state, or local authorities. It is not clear what the potential effects any such alterations or modifications may have on our business or on our financial results for the foreseeable future.

We also monitor our customers and their industries to assess the effect that changes in economic, market, and regulatory conditions may have on them. We have experienced reduced spending, project delays, and project cancellations by some of our customers over the last year, which we attribute to negative economic and market conditions, and we anticipate that these negative conditions and the impact of COVID-19 may continue to affect demand for our services in the near-term.

Fluctuations in market prices of oil, gas and other fuel sources have affected demand for our services. While we have seen signs of a recovery in the price of oil, 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,

30

specifically in our pipeline services and Canadian 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. However, a prolonged period of depressed oil and gas prices could delay midstream pipeline opportunities.

The continuing changes in the regulatory environment may affect the demand for our services, either by increasing our work, delaying projects, or cancelling projects. For example, environmental laws and regulation can provide challenges to major 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 California may result in delays for the construction of gas-fired power plants, while regulators continue to search for significant renewable resources. 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 solar power production facilities.

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 since utilities defer routine replacement and repair during their period of peak demand. 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 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 third and fourth quarters of the year as compared to the first two quarters.

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 $5.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 are described in Item 7 of our Annual Report on Form 10-K for the year ended December 31, 2020. There have been no material changes to our critical accounting policies since December 31, 2020.

31

Results of Operations

Consolidated Results

The following discussion compares the results of the three and six months ended June 30, 2021 to the three and six months ended June 30, 2020.

Revenue

Revenue was $881.6 million for the three months ended June 30, 2021, a decrease of $26.6 million, or 2.9%, compared to the same period in 2020. The decrease was primarily due to lower revenue in our Pipeline segment, partially offset by growth in our Energy/Renewables and Utilities segments, including $72.7 million from our acquisition of FIH.

Revenue was $1,699.9 million for the six months ended June 30, 2021, an increase of $48.5 million, or 2.9%, compared to the same period in 2020. The increase was primarily due to growth in our Energy/Renewables and Utilities segments, including $133.4 million from our acquisition of FIH, partially offset by lower revenue in our Pipeline segment.

Gross Profit

Gross profit was $113.0 million for the three months ended June 30, 2021, an increase of $12.1 million, or 12.0%, compared to the same period in 2020. The increase was primarily due to our acquisition of FIH ($10.7 million) and an increase in margins from our legacy operations, partially offset by a decrease in revenue from our legacy operations. Gross profit as a percentage of revenue increased to 12.8% for the three months ended June 30, 2021, compared to 11.1% for the same period in 2020 as described in the segment results below.

Gross profit was $193.2 million for the six months ended June 30, 2021, an increase of $44.4 million, or 29.9%, compared to the same period in 2020. The increase was primarily due to our acquisition of FIH ($20.5 million) and an increase in margins from our legacy operations, partially offset by a decrease in revenue from our legacy operations. Gross profit as a percentage of revenue increased to 11.4% for the six months ended June 30, 2021, compared to 9.0% for the same period in 2020 as described in the segment results below.

Selling, general and administrative expenses

Selling, general and administrative (“SG&A”) expenses were $57.7 million during the three months ended June 30, 2021, an increase of $6.3 million, or 12.3% compared to 2020, primarily due to $7.6 million of incremental expense from the FIH acquisition during the period. SG&A expense as a percentage of revenue increased to 6.6% compared to 5.7% for the corresponding period in 2020, primarily due to increased expense as we integrate FIH into our operations.

SG&A expenses were $111.2 million during the six months ended June 30, 2021, an increase of $15.4 million, or 16.0%, compared to 2020 primarily due to $15.5 million of incremental expense from the FIH acquisition during the period. SG&A expense as a percentage of revenue increased to 6.5% compared to 5.8% for the corresponding period in 2020, primarily due to increased expense as we integrate FIH into our operations.

Transaction and related costs

Transaction and related costs were $0.5 million for the three months ended June 30, 2021, consisting primarily of professional fees paid to advisors associated with the FIH integration. No transaction and related costs were incurred for the three months ended June 30, 2020.

Transaction and related costs were $14.4 million for the six months ended June 30, 2021, consisting primarily of professional fees paid to advisors and expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount. No transaction and related costs were incurred for the six months ended June 30, 2020.

32

Other income and expense

Non-operating income and expense items for the three and six months ended June 30, 2021 and 2020 were as follows (in thousands):

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2021

    

2020

    

2021

    

2020

 

Foreign exchange loss, net

$

(466)

$

(200)

$

(443)

$

(64)

Other income, net

 

379

 

706

 

374

 

718

Interest income

 

5

 

64

 

90

 

345

Interest expense

 

(4,825)

 

(3,690)

 

(9,546)

 

(12,802)

Total other expense

$

(4,907)

$

(3,120)

$

(9,525)

$

(11,803)

Foreign exchange loss, net reflects currency exchange fluctuations associated with our Canadian engineering operation, which operates principally in United States dollars.

Interest expense for the three months ended June 30, 2021, increased compared to the same period in 2020 primarily due to higher average debt balances from the borrowings incurred related to the FIH acquisition, partially offset by a favorable impact from the change in the fair value of our interest rate swap. During the three months ended June 30, 2021, we had a $1.0 million unrealized gain on the change in the fair value of our interest rate swap agreement, compared to a $0.1 million unrealized gain in 2020.

Interest expense for the six months ended June 30, 2021, decreased compared to the same period in 2020 primarily due to a favorable impact from the change in the fair value of our interest rate swap, partially offset by higher average debt balances from the borrowings incurred related to the FIH acquisition. During the six months ended June 30, 2021, we had a $2.3 million unrealized gain on the change in the fair value of our interest rate swap agreement, compared to a $4.9 million unrealized loss in 2020.

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 on income attributable to Primoris (excluding noncontrolling interests) was 27.5% for the six months ended June 30, 2021. The rate differs from the U.S. federal statutory rate of 21.0%, primarily due to state income taxes and nondeductible components of per diem expenses.

We recorded income tax expense for the three months ended June 30, 2021 of $13.6 million compared to expense of $13.5 million for the three months ended June 30, 2020.

We recorded income tax expense for the six months ended June 30, 2021 of $16.0 million compared to $11.9 million for the six months ended June 30, 2020. The $4.1 million increase in income tax expense was primarily driven by a $17.0 million increase in pre-tax income (excluding noncontrolling interests), partially offset by a lower effective tax rate.

33

Segment results

Utilities Segment

Revenue and gross profit for the Utilities segment for the three and six months ended June 30, 2021 and 2020 were as follows:

Three Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

 

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Utilities Segment

Revenue

$

425,421

$

340,123

Gross profit

48,849

 

11.5%

55,837

 

16.4%

Six Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

 

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Utilities Segment

Revenue

$

760,433

$

590,077

Gross profit

70,565

 

9.3%

62,151

 

10.5%

Revenue increased by $85.3 million, or 25.1%, for the three months ended June 30, 2021, compared to the same period in 2020, primarily due to the FIH acquisition ($72.7 million) and increased activity with a significant utility customer in California. These amounts were partially offset by decreased activity with a utility customer in the Midwest as well as the impact of customer material delays.

Revenue increased by $170.4 million, or 28.9%, for the six months ended June 30, 2021, compared to the same period in 2020, primarily due to the FIH acquisition ($133.4 million) and increased activity with customers in California, Texas and the Southeast. These amounts were partially offset by lower activity with a utility customer in the Midwest as well as the impact of customer material delays.

Gross profit for the three months ended June 30, 2021 decreased by $7.0 million, or 12.5%, compared to the same period in 2020, primarily due to lower margins from our legacy operations, partially offset by the incremental impact of the FIH acquisition ($10.7 million). Gross profit as a percentage of revenue decreased to 11.5% during the three months ended June 30, 2021, compared to 16.4% in the same period in 2020, primarily due to unfavorable weather conditions and customer material delays experienced in 2021, as well as strong performance and favorable margins realized on projects in the Southeast in 2020.

Gross profit for the six months ended June 30, 2021, increased by $8.4 million, or 13.5% compared to the same period in 2020. The increase is primarily attributable to the incremental impact of the FIH acquisition ($20.5 million) and higher revenue from our legacy operations, partially offset by lower margins from our legacy operations. Gross profit as a percentage of revenue decreased to 9.3% during the six months ended June 30, 2021, compared to 10.5% in the same period in 2020 primarily due to unfavorable weather conditions and customer material delays experienced in 2021, partially offset by the favorable margins realized by FIH.

34

Energy/Renewables Segment

Revenue and gross profit for the Energy/Renewables segment for the three and six months ended June 30, 2021 and 2020 were as follows:

Three Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

 

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Energy/Renewables Segment

Revenue

$

335,010

$

278,534

Gross profit

33,232

 

9.9%

18,100

 

6.5%

Six Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

 

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Energy/Renewables Segment

Revenue

$

687,874

$

580,300

Gross profit

75,904

 

11.0%

43,104

 

7.4%

Revenue increased by $56.5 million, or 20.3%, for the three months ended June 30, 2021, compared to the same period in 2020, primarily due to increased renewable energy activity ($69.8 million), partially offset by the substantial completion of an industrial project in Texas in the first half of 2020.

Revenue increased by $107.6 million, or 18.5%, for the six months ended June 30, 2021, compared to the same period in 2020, primarily due to increased renewable energy activity ($149.8 million), partially offset by the substantial completion of an industrial project in Texas in the first half of 2020.

Gross profit for the three months ended June 30, 2021, increased by $15.1 million, or 83.6%, compared to the same period in 2020, primarily due to higher revenue and margins. Gross profit as a percentage of revenue increased to 9.9% during the three months ended June 30, 2021, compared to 6.5% in the same period in 2020, primarily due to higher costs associated with a liquified natural gas (“LNG”) plant project in the northeast in 2020.

Gross profit for the six months ended June 30, 2021, increased by $32.8 million, or 76.1% compared to the same period in 2020, primarily due to higher revenue and margins. Gross profit as a percentage of revenue increased to 11.0% during the six months ended June 30, 2021, compared to 7.4% in the same period in 2020 primarily due to favorable claims resolution on an industrial plant project in 2021. In addition we experienced higher costs in 2020 associated with an LNG plant project in the northeast, an engineering project, and a Canadian tank farm project.

35

Pipeline Segment

Revenue and gross profit for the Pipeline segment for the three and six months ended June 30, 2021 and 2020 were as follows:

Three Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Pipeline Segment

Revenue

$

121,179

$

289,559

Gross profit

30,945

25.5%

27,030

 

9.3%

Six Months Ended June 30, 

2021

2020

    

    

% of

    

    

% of

 

Segment

Segment

(Thousands)

Revenue

(Thousands)

Revenue

Pipeline Segment

Revenue

$

251,632

$

481,082

Gross profit

46,738

18.6%

43,522

9.0%

Revenue decreased by $168.4 million, or 58.2%, for the three months ended June 30, 2021, compared to the same period in 2020. The decrease is primarily due to the substantial completion of pipeline projects in 2020 ($188.6 million), partially offset by progress on a pipeline project in Texas that began in the second half of 2020.

Revenue decreased by $229.4 million, or 47.7%, for the six months ended June 30, 2021, compared to the same period in 2020. The decrease is primarily due to the substantial completion of pipeline projects in 2020 ($310.2 million), partially offset by progress on pipeline projects that began in the second and third quarters of 2020.

Gross profit for the three months ended June 30, 2021 increased by $3.9 million, or 14.5%, compared to the same period in 2020, primarily due to higher margins, partially offset by lower revenue. Gross profit as a percentage of revenue increased to 25.5% during the three months ended June 30, 2021, compared to 9.3% in the same period in 2020, primarily due to the favorable impact from the closeout of multiple pipeline projects in 2021.

Gross profit for the six months ended June 30, 2021 increased by $3.2 million, or 7.4%, compared to the same period in 2020, primarily due to higher margins, partially offset by lower revenue. Gross profit as a percentage of revenue increased to 18.6% during the six months ended June 30, 2021, compared to 9.0% in the same period in 2020, primarily due to the favorable impact from the closeout of multiple pipeline projects in 2021 and startup costs on pipeline projects in 2020.

36

Geographic area financial information

The majority of our revenue is derived from customers in the United States with approximately 4.0% generated from sources outside of the United States during the six months ended June 30, 2021, 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, 2020 and June 30, 2021 and the changes in Fixed Backlog for the six months ended June 30, 2021 are as follows (in millions):

    

Beginning Fixed

    

    

    

Ending Fixed

    

Revenue

    

Total Revenue

Backlog at

Net Contract

Revenue

Backlog at

Recognized from

for Six Months

December 31, 

Additions to

Recognized from

June 30, 

Non-Fixed

ended June 30, 

Reportable Segment

2020

Fixed Backlog

Fixed Backlog

2021

00

00

 Backlog Projects

00

00

2021

Utilities

$

36.8

$

152.7

$

128.1

$

61.4

$

632.3

$

760.4

Energy/Renewables

1,256.5

428.5

596.1

1,088.9

91.8

687.9

Pipeline

346.3

95.3

215.7

225.9

35.9

251.6

Total

$

1,639.6

$

676.5

$

939.9

$

1,376.2

$

760.0

$

1,699.9

Revenue recognized from non-Fixed Backlog projects shown above are 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 June 30, 2021, our total Fixed Backlog was $1.38 billion representing a decrease of $263.4 million, or 16.1% compared to $1.64 billion at December 31, 2020.

MSA Backlog

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

Quarterly MSA Revenue

    

2020

    

2021

First Quarter

$

270.4

$

338.3

Second Quarter

335.3

 

413.2

Third Quarter

384.8

 

Fourth Quarter

369.9

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

37

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

MSA Backlog

at June 30, 

Reportable Segment:

    

2021

Utilities (1)

$

1,342.2

Energy/Renewables

116.2

Pipeline

 

35.4

Total

$

1,493.8

(1)Includes approximately $210.9 million of MSA backlog as a result of the FIH acquisition.

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:

    

June 30, 2020

    

September 30, 2020

    

December 31, 2020

    

March 31, 2021

    

June 30, 2021

Utilities

$

1,110.0

$

1,115.7

$

1,045.2

$

1,388.3

$

1,403.6

Energy/Renewables

 

1,498.0

 

1,491.6

 

1,353.7

 

1,386.4

 

1,205.1

Pipeline

 

918.1

 

366.8

 

377.7

 

313.7

 

261.3

Total

$

3,526.1

$

2,974.1

$

2,776.6

$

3,088.4

$

2,870.0

We expect that during the next four quarters, we will recognize as revenue approximately 86% of the total backlog at June 30, 2021, comprised of backlog of approximately: 100% of the Utilities segment; 73% of the Energy/Renewables segment; and 73% of the Pipeline 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. At June 30, 2021, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $48.9 million, and available borrowing capacity was $151.1 million.

On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement (the “Amended Credit Agreement”) to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million (the “New Term Loan”). The proceeds from the New Term Loan were used to finance the acquisition of FIH.

In March 2021, we entered into an underwriting agreement with Goldman Sachs & Co. LLC, Morgan Stanley & Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred under our Amended Credit Agreement in connection with the acquisition of FIH.

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 our credit facility as necessary to fund our operations or to fund the acquisition of new businesses.

38

Our cash and cash equivalents totaled $178.0 million at June 30, 2021, compared to $326.7 million at December 31, 2020. We anticipate that our cash and investments on hand, existing borrowing capacity under our credit 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 at least the next twelve months.

The construction industry is capital intensive, and we expect to continue to make capital expenditures to meet anticipated needs for our services. During the six months ended June 30, 2021, we spent approximately $62.8 million for capital expenditures, which included $55.8 million for construction equipment. Capital expenditures for the remaining six months of 2021 are expected to total between $20.0 million and $40.0 million.

Cash Flows

Cash flows during the six months ended June 30, 2021 and 2020 are summarized as follows (in thousands):

Six months ended

June 30, 

    

2021

    

2020

 

Change in cash:

Net cash provided by operating activities

$

5,593

$

60,651

Net cash used in investing activities

 

(659,195)

 

(9,617)

Net cash provided by (used in) financing activities

 

504,252

 

(15,266)

Effect of exchange rate changes

585

(384)

Net change in cash and cash equivalents

$

(148,765)

$

35,384

Operating Activities

The source of our cash flows from operating activities for the six months ended June 30, 2021 and 2020 were as follows (in thousands):

Six months ended

June 30, 

    

2021

    

2020

    

Change

 

Operating Activities:

Net income

$

42,143

$

29,228

$

12,915

Depreciation and amortization

 

51,702

 

41,893

 

9,809

Changes in assets and liabilities

 

(86,938)

 

(9,408)

 

(77,530)

Other

 

(1,314)

 

(1,062)

 

(252)

Net cash provided by operating activities

$

5,593

$

60,651

$

(55,058)

Net cash provided by operating activities for the six months ended June 30, 2021 was $5.6 million compared to $60.7 million for the six months ended June 30, 2020. The change year-over-year was primarily due to the unfavorable impact from the changes in assets and liabilities, partially offset by an increase in net income.

The significant components of the $86.9 million change in assets and liabilities for the six months ended June 30, 2021 are summarized as follows:

Contract liabilities decreased by $56.7 million, primarily due to lower deferred revenue;

Other current assets increased by $20.0 million, primarily due to an increase in prepaid insurance from the payment of policy renewal premiums;

Contract assets increased by $27.7 million primarily due to the timing of billing our customers; and

Accounts receivable decreased by $11.4 million, primarily due to the timing of collecting from our customers.

39

The significant components of the $9.4 million change in assets and liabilities for the six months ended June 30, 2020 are summarized as follows:

Accounts receivable and contract assets increased by $98.7 million from December 31, 2019, primarily due to increased revenue;

Accounts payable and accrued liabilities increased by $44.0 million from December 31, 2019, due to the timing of payments to our vendors and suppliers;

Contract liabilities increased by $30.8 million from December 31, 2019, primarily due to higher deferred revenue; and

Other long-term liabilities increased by $18.0 million from December 31, 2019 primarily due to the deferral of FICA tax payments under the CARES Act.

Investing activities

For the six months ended June 30, 2021, we used $659.2 million in cash for investing activities compared to $9.6 million for the six months ended June 30, 2020.

During the six months ended June 30, 2021, we used $607.0 million for acquisitions, primarily for the acquisition of FIH.

During the six months ended June 30, 2021, we purchased property and equipment for $62.8 million compared to $21.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 equipment, typically to update our fleet. We received proceeds from the sale of used equipment of $10.5 million during the six months ended June 30, 2021, compared to $12.1 million during the same period in the prior year.

Financing activities

Financing activities provided cash of $504.3 million for the six months ended June 30, 2021, which was primarily due to the following:

Proceeds from the entry into an amended and upsized term loan of $395.1 million, net of debt issuance costs paid;
Proceeds from the issuance of common stock of $178.7 million;
Proceeds from the issuance of debt secured by our equipment of $21.0 million
Repayment of long-term debt of $79.5 million; and
Dividend payments to our stockholders of $6.1 million.

Financing activities used cash of $15.3 million for the six months ended June 30, 2020, which was primarily due to the following:

Repayment of long-term debt of $32.5 million;
Repurchase of common stock of $8.3 million;
Dividend payments to our stockholders of $5.8 million; and
Proceeds from the issuance of debt secured by our equipment and real estate of $33.9 million.

Credit Agreements

For a description of our credit agreements, see Note 9 — “Credit Agreements” in Item 1, Financial Statements of this Second Quarter 2021 Report.

40

Common stock

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

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 June 30, 2021, we had letters of credit outstanding of $49.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 Credit Agreement and Canadian Credit Facility. 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 Second Quarter 2021 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 June 30, 2021 we had bid and completion bonds issued and outstanding totaling approximately $2.6 billion. The remaining performance obligation on those bonded projects totaled approximately $566.8 million at June 30, 2021. As of the date of this Second Quarter 2021 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 in certain major contracts or 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. To date, our operations have not been materially impacted by the effects of increases in prices.

41

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 June 30, 2021, $140.3 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of June 30, 2021, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $3.9 million.

We do not execute transactions or use financial derivative instruments for trading or speculative purposes. We generally enter into transactions with counter-parties 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 June 30, 2021, 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 June 30, 2021, 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 June 30, 2021 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Part II. Other Information

Item 1. Legal Proceedings

The information required for this item is provided in Note 15 — “Commitments and Contingencies”, included in the unaudited notes to our condensed consolidated financial statements included under Part I of this Form 10-Q, which is incorporated herein by reference.

42

Item 6. Exhibits

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

Exhibit
Number

    

Description

2.1

Agreement and Plan of Merger, dated December 14, 2020, among Primoris Services Corporation, Future Infrastructure Holdings, LLC, Primoris Merger Sub, LLC and Tower Arch Capital, L.P. (incorporated by reference to Exhibit 2.1 to Primoris’ Current Report on Form 8-K filed on December 15, 2020)

2.2

Amendment No.1 to Agreement and Plan of Merger, dated as of January 11, 2021 (incorporated by reference to Exhibit 2.2 to Primoris’ Current Report on Form 8-K filed on January 15, 2021)

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.

43

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: August 3, 2021

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

44

EX-31.1 2 prim-20210630xex31d1.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 June 30, 2021, 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: August 3, 2021

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-31.2 3 prim-20210630xex31d2.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 June 30, 2021, 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: August 3, 2021

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-32.1 4 prim-20210630xex32d1.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 June 30, 2021, 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: August 3, 2021

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-32.2 5 prim-20210630xex32d2.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 June 30, 2021, 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: August 3, 2021

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-101.SCH 6 prim-20210630.xsd EX-101.SCH 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 40501 - Disclosure - Acquisitions - 2021 Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Revenue - Contract assets (Details) link:presentationLink link:calculationLink link:definitionLink 40604 - Disclosure - Revenue - Contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Accounts Payable and Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) - Cal2 link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Dividends and Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information 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 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Recent Accounting Pronouncements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Accounts Payable and Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Credit Arrangements link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Dividends and Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - Reportable Segments link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - Subsequent Event link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Basis of Presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Credit Arrangements (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Dividends and Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - Reportable Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Nature of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Basis of Presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Acquisitions - Pro Forma Information (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Revenue - Performance obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Revenue - Performance obligations - 2021 (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Revenue - Performance obligations - 2021 Default (Details) link:presentationLink link:calculationLink link:definitionLink 40605 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Credit Arrangements - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Commitments and Contingencies - Legal (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - Reportable Segments (Details) link:presentationLink link:calculationLink link:definitionLink 41602 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 prim-20210630_cal.xml EX-101.CAL EX-101.DEF 8 prim-20210630_def.xml EX-101.DEF EX-101.LAB 9 prim-20210630_lab.xml EX-101.LAB EX-101.PRE 10 prim-20210630_pre.xml EX-101.PRE XML 11 prim-20210630x10q_htm.xml IDEA: XBRL DOCUMENT 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-06-30 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2021-03-31 0001361538 2020-02-29 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2021-04-01 2021-06-30 0001361538 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2021-01-01 2021-06-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2020-04-01 2020-06-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2020-01-01 2020-06-30 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2021-04-01 2021-06-30 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-06-30 0001361538 us-gaap:CommonStockMember 2021-01-01 2021-06-30 0001361538 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0001361538 us-gaap:CommonStockMember 2020-01-01 2020-06-30 0001361538 us-gaap:RetainedEarningsMember 2021-06-30 0001361538 us-gaap:NoncontrollingInterestMember 2021-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-06-30 0001361538 us-gaap:RetainedEarningsMember 2021-03-31 0001361538 us-gaap:NoncontrollingInterestMember 2021-03-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-03-31 0001361538 2021-03-31 0001361538 us-gaap:RetainedEarningsMember 2020-12-31 0001361538 us-gaap:NoncontrollingInterestMember 2020-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001361538 us-gaap:RetainedEarningsMember 2020-06-30 0001361538 us-gaap:NoncontrollingInterestMember 2020-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-30 0001361538 us-gaap:RetainedEarningsMember 2020-03-31 0001361538 us-gaap:NoncontrollingInterestMember 2020-03-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-31 0001361538 2020-03-31 0001361538 us-gaap:RetainedEarningsMember 2019-12-31 0001361538 us-gaap:NoncontrollingInterestMember 2019-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001361538 us-gaap:CommonStockMember 2021-06-30 0001361538 us-gaap:CommonStockMember 2021-03-31 0001361538 us-gaap:CommonStockMember 2020-12-31 0001361538 us-gaap:CommonStockMember 2020-06-30 0001361538 us-gaap:CommonStockMember 2020-03-31 0001361538 us-gaap:CommonStockMember 2019-12-31 0001361538 2021-07-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember 2021-04-01 2021-06-30 0001361538 prim:UnitPriceContractsMember 2021-04-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2021-04-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember 2021-04-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember 2021-04-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember 2021-01-01 2021-06-30 0001361538 prim:UnitPriceContractsMember 2021-01-01 2021-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2021-01-01 2021-06-30 0001361538 prim:MasterServiceAgreementCustomersMember 2021-01-01 2021-06-30 0001361538 prim:CostReimbursableContractsMember 2021-01-01 2021-06-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember 2020-04-01 2020-06-30 0001361538 prim:UnitPriceContractsMember 2020-04-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2020-04-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember 2020-04-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember 2020-04-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 prim:UnitPriceContractsMember prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 us-gaap:FixedPriceContractMember 2020-01-01 2020-06-30 0001361538 prim:UnitPriceContractsMember 2020-01-01 2020-06-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2020-01-01 2020-06-30 0001361538 prim:MasterServiceAgreementCustomersMember 2020-01-01 2020-06-30 0001361538 prim:CostReimbursableContractsMember 2020-01-01 2020-06-30 0001361538 us-gaap:LoansPayableMember 2021-01-01 2021-06-30 0001361538 us-gaap:NoncontrollingInterestMember 2021-04-01 2021-06-30 0001361538 us-gaap:NoncontrollingInterestMember 2021-01-01 2021-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-01 2021-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-04-01 2020-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-06-30 0001361538 2020-01-01 2020-12-31 0001361538 us-gaap:NoncontrollingInterestMember 2020-04-01 2020-06-30 0001361538 us-gaap:NoncontrollingInterestMember 2020-01-01 2020-06-30 0001361538 us-gaap:LoansPayableMember 2021-01-15 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember us-gaap:RevolvingCreditFacilityMember 2021-06-30 0001361538 prim:CreditFacilityWithCanadianBankMember 2021-06-30 0001361538 us-gaap:RevolvingCreditFacilityMember 2021-01-15 0001361538 us-gaap:LetterOfCreditMember 2021-01-15 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember us-gaap:RevolvingCreditFacilityMember 2017-09-29 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember us-gaap:LetterOfCreditMember 2017-09-29 0001361538 us-gaap:RevolvingCreditFacilityMember 2021-06-30 0001361538 prim:CanadianCreditFacilityCibcMember 2021-06-30 0001361538 prim:CreditFacilityWithCanadianBankMember us-gaap:LetterOfCreditMember 2021-06-30 0001361538 us-gaap:LetterOfCreditMember 2021-06-30 0001361538 srt:MaximumMember 2021-06-30 0001361538 prim:UAndDSegmentMember 2021-06-30 0001361538 prim:PipelineServicesMember 2021-06-30 0001361538 prim:EnergyRenewablesMember 2021-06-30 0001361538 prim:UAndDSegmentMember 2020-12-31 0001361538 prim:PipelineServicesMember 2020-12-31 0001361538 prim:EnergyRenewablesMember 2020-12-31 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:TradeNamesMember 2021-01-15 2021-01-15 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:CustomerRelationshipsMember 2021-01-15 2021-01-15 0001361538 prim:AssetsAcquiredMember us-gaap:CustomerRelationshipsMember 2021-01-14 2021-01-14 0001361538 us-gaap:TradeNamesMember 2021-06-30 0001361538 us-gaap:NoncompeteAgreementsMember 2021-06-30 0001361538 us-gaap:CustomerRelationshipsMember 2021-06-30 0001361538 us-gaap:TradeNamesMember 2020-12-31 0001361538 us-gaap:NoncompeteAgreementsMember 2020-12-31 0001361538 us-gaap:CustomerRelationshipsMember 2020-12-31 0001361538 us-gaap:InterestRateSwapMember 2021-06-30 0001361538 us-gaap:InterestRateSwapMember 2020-12-31 0001361538 us-gaap:InterestRateSwapMember 2018-09-13 0001361538 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:InterestRateSwapMember 2021-06-30 0001361538 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:InterestRateSwapMember 2020-12-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:InterestExpenseMember 2021-04-01 2021-06-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:InterestExpenseMember 2021-01-01 2021-06-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:InterestExpenseMember 2020-04-01 2020-06-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:InterestExpenseMember 2020-01-01 2020-06-30 0001361538 us-gaap:LoansPayableMember 2018-09-18 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001361538 us-gaap:LoansPayableMember us-gaap:LondonInterbankOfferedRateLIBORMember 2021-06-30 0001361538 us-gaap:LoansPayableMember 2018-08-03 0001361538 us-gaap:MortgagesMember 2021-06-30 0001361538 us-gaap:LoansPayableMember 2021-06-30 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2021-06-30 0001361538 us-gaap:MortgagesMember 2020-12-31 0001361538 us-gaap:LoansPayableMember 2020-12-31 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2020-12-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember prim:DebtInstrumentVariableRateFederalFundsRateMember 2021-01-15 2021-01-15 0001361538 prim:SecondaryOfferingMember 2021-03-31 0001361538 us-gaap:SubsequentEventMember 2021-08-03 2021-08-03 0001361538 2021-05-04 2021-05-04 0001361538 2021-02-19 2021-02-19 0001361538 2020-11-05 2020-11-05 0001361538 2020-07-31 2020-07-31 0001361538 2020-05-01 2020-05-01 0001361538 2020-02-21 2020-02-21 0001361538 2020-06-30 0001361538 2019-12-31 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:TradeNamesMember 2021-01-15 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:CustomerRelationshipsMember 2021-01-15 0001361538 prim:AssetsAcquiredMember us-gaap:CustomerRelationshipsMember 2021-01-14 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 2021-06-30 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-04-01 2021-06-30 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-01 2021-06-30 0001361538 prim:EmployeesOfFutureInfrastructureHoldingsLlcMember 2021-01-01 2021-06-30 0001361538 prim:NonUnitedStatesMember 2020-01-01 2020-12-31 0001361538 2021-07-01 2021-01-01 2021-06-30 0001361538 prim:NonUnitedStatesMember 2021-01-01 2021-06-30 0001361538 prim:NonUnitedStatesMember 2020-01-01 2020-06-30 0001361538 prim:SecondaryOfferingMember 2021-03-01 2021-03-31 0001361538 us-gaap:RevolvingCreditFacilityMember 2021-01-15 2021-01-15 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2018-08-03 2018-08-03 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 2021-01-15 0001361538 us-gaap:LoansPayableMember 2018-09-18 2018-09-18 0001361538 prim:UAndDSegmentMember 2021-04-01 2021-06-30 0001361538 prim:PipelineServicesMember 2021-04-01 2021-06-30 0001361538 prim:EnergyRenewablesMember 2021-04-01 2021-06-30 0001361538 prim:UAndDSegmentMember 2021-01-01 2021-06-30 0001361538 prim:PipelineServicesMember 2021-01-01 2021-06-30 0001361538 prim:EnergyRenewablesMember 2021-01-01 2021-06-30 0001361538 prim:UAndDSegmentMember 2020-04-01 2020-06-30 0001361538 prim:PipelineServicesMember 2020-04-01 2020-06-30 0001361538 prim:EnergyRenewablesMember 2020-04-01 2020-06-30 0001361538 prim:UAndDSegmentMember 2020-01-01 2020-06-30 0001361538 prim:PipelineServicesMember 2020-01-01 2020-06-30 0001361538 prim:EnergyRenewablesMember 2020-01-01 2020-06-30 0001361538 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001361538 us-gaap:RetainedEarningsMember 2021-01-01 2021-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-06-30 0001361538 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001361538 us-gaap:RetainedEarningsMember 2020-01-01 2020-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-06-30 0001361538 prim:LongTermRetentionPlanMember 2021-01-01 2021-06-30 0001361538 prim:LongTermRetentionPlanMember 2020-01-01 2020-06-30 0001361538 us-gaap:LoansPayableMember 2021-01-15 2021-01-15 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2021-01-15 2021-01-15 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-04-01 2020-06-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001361538 prim:PipelineCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-04-01 2020-06-30 0001361538 prim:PipelineCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 0001361538 2021-04-01 2021-06-30 0001361538 2020-04-01 2020-06-30 0001361538 2020-01-01 2020-06-30 0001361538 2021-06-30 0001361538 2020-12-31 0001361538 2021-08-02 0001361538 2021-01-01 2021-06-30 shares iso4217:USD pure prim:item prim:customer prim:instrument iso4217:USD shares iso4217:CAD prim:segment us-gaap:AccruedLiabilitiesCurrent us-gaap:OperatingLeaseLiabilityNoncurrent 0001361538 --12-31 2021 Q2 false 53731206 48110442 P12M 0 P3Y P5Y us-gaap:AccruedLiabilitiesCurrent us-gaap:OperatingLeaseLiabilityNoncurrent 10-Q true 2021-06-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 NASDAQ Yes Yes Large Accelerated Filer false false false 53731206 177979000 326744000 479013000 432455000 386702000 325849000 50719000 30218000 1094413000 1115266000 432200000 356194000 189411000 207320000 1971000 1909000 176810000 61012000 582106000 215103000 16896000 12776000 2493807000 1969580000 265633000 245906000 213479000 267227000 213942000 200673000 3224000 2887000 62397000 47722000 758675000 764415000 592402000 268835000 123638000 137913000 13547000 13548000 69055000 70077000 1557317000 1254788000 0.0001 0.0001 90000000 90000000 53731206 48110442 6000 5000 274008000 89098000 660385000 624694000 2051000 958000 40000 37000 936490000 714792000 2493807000 1969580000 881610000 908216000 1699939000 1651459000 768584000 807249000 1506732000 1502682000 113026000 100967000 193207000 148777000 57747000 51422000 111179000 95810000 480000 14376000 54799000 49545000 67652000 52967000 -466000 -200000 -443000 -64000 379000 706000 374000 718000 5000 64000 90000 345000 4825000 3690000 9546000 12802000 49892000 46425000 58127000 41164000 13597000 13463000 15984000 11936000 36295000 32962000 42143000 29228000 5000 3000 3000 6000 36290000 32959000 42140000 29222000 0.06 0.06 0.12 0.12 0.68 0.68 0.82 0.60 0.67 0.68 0.81 0.60 53729000 48270000 51634000 48429000 54285000 48668000 52137000 48782000 36295000 32962000 42143000 29228000 632000 552000 1093000 -1185000 36927000 33514000 43236000 28043000 5000 3000 3000 6000 36922000 33511000 43233000 28037000 53723988 6000 272584000 627320000 1419000 35000 901364000 36290000 5000 36295000 632000 632000 151000 151000 7218 241000 241000 1333000 1333000 1000 -1000 0.06 3224000 3224000 53731206 6000 274008000 660385000 2051000 40000 936490000 48110442 5000 89098000 624694000 958000 37000 714792000 42140000 3000 42143000 1093000 1093000 4500000 1000 149289000 149290000 1081000 28733000 28733000 39764 -599000 -599000 7485000 7485000 2000 -2000 0.12 6447000 6447000 53731206 6000 274008000 660385000 2051000 40000 936490000 48254575 5000 91414000 524655000 -1661000 1031000 615444000 32959000 3000 32962000 552000 552000 10451 163000 163000 13516 -77000 -77000 703000 703000 4000 -4000 57731 950000 950000 1000000 1000000 0.06 2893000 2893000 48220811 5000 91257000 554717000 -1109000 34000 644904000 48665138 5000 97130000 531291000 76000 1028000 629530000 29222000 6000 29228000 -1185000 -1185000 61719 1337000 1337000 13516 -77000 -77000 1202000 1202000 8000 -8000 519562 8343000 8343000 1000000 1000000 0.12 5788000 5788000 48220811 5000 91257000 554717000 -1109000 34000 644904000 42143000 29228000 51702000 41893000 7485000 1202000 7110000 7332000 2255000 -4907000 566000 161000 -11357000 65860000 27733000 32765000 20018000 3268000 181000 -223000 6900000 21897000 -56688000 30784000 1831000 551000 6266000 22125000 -5010000 18007000 5593000 60651000 62755000 21703000 10534000 12086000 606974000 -659195000 -9617000 100000000 100000000 421000000 33873000 79515000 32469000 178712000 578000 4876000 8343000 6110000 5814000 -4959000 -3091000 504252000 -15266000 585000 -384000 -148765000 35384000 326744000 120286000 177979000 155670000 11234000 7735000 17609000 -13000 10673000 42450000 3224000 2893000 <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>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, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our three 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;">We have customer relationships with major utility, telecommunications, 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 substantial 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="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 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter 2021, we changed our reportable segments in connection with a 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 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, the Energy/Renewables segment and the Pipeline Services (“Pipeline”) segment. See Note 16 – “<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> 3 5 <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 six months ended June 30, 2021 and 2020 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 23, 2021, which contains our audited consolidated financial statements for the year ended December 31, 2020, 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;">Reclassification</span> — Certain previously reported amounts have been reclassified to conform to the current year presentation.</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 segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">customers in any one calendar year generate revenue that is approximately 50% of total revenue; however, the companies that comprise the top ten 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 six months ended June 30, 2021, approximately 42.3% and 43.6%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than ten percent 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 six months ended June 30, 2020, approximately 52.3% and 50.7%, respectively, of total revenue was generated from our top ten customers. For the three and six months ended June 30, 2020, one pipeline customer represented approximately 15.6% and 13.6% of total revenue, 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;"><span style="font-style:italic;font-weight:bold;">Reclassification</span> — Certain previously reported amounts have been reclassified to conform to the current year presentation.</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 segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">customers in any one calendar year generate revenue that is approximately 50% of total revenue; however, the companies that comprise the top ten 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 six months ended June 30, 2021, approximately 42.3% and 43.6%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than ten percent 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 six months ended June 30, 2020, approximately 52.3% and 50.7%, respectively, of total revenue was generated from our top ten customers. For the three and six months ended June 30, 2020, one pipeline customer represented approximately 15.6% and 13.6% of total revenue, respectively.</p> 10 1 0.50 10 0.423 0.436 10 10 0.523 0.507 10 10 1 1 0.156 0.136 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 3—Recent Accounting Pronouncements</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;"><b style="font-weight:bold;">Recently adopted accounting pronouncements</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;">In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes”, which removes certain exceptions to the general principles in Topic 740 and clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. We adopted the new standard on January 1, 2021, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.<span style="font-size:12pt;"> </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;margin:0pt;"><b style="font-weight:bold;">Note 4—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><span style="white-space:pre-wrap;">”, defines fair value, establishes a framework for measuring fair value in 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.</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 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 June 30, 2021 and December 31, 2020 (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:44.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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.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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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:50.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;">Fair Value Measurements at Reporting Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;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.26%;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.71%;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.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;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;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.96%;margin:0pt;padding:0pt;"><p style="font-family:'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.29%;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.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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:1.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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:1.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;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.92%;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.71%;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.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;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;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.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;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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 June 30, 2021:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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 June 30, </b><b style="font-weight:bold;white-space:pre-wrap;">2021: </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.26%;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.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:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.26%;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.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:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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, 2020:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 326,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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;">2020: </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;"><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 swap is 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 10 – “<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;">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 June 30, 2021 and December 31, 2020 (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:44.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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.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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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:50.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;">Fair Value Measurements at Reporting Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;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.26%;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.71%;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.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;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;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.96%;margin:0pt;padding:0pt;"><p style="font-family:'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.29%;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.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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:1.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'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.25%;margin:0pt;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:1.43%;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:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'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.71%;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.92%;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.71%;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.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;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;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.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;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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 June 30, 2021:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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 June 30, </b><b style="font-weight:bold;white-space:pre-wrap;">2021: </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.26%;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.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:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.26%;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.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:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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, 2020:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 326,744</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;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;">2020: </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;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.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: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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.96%;margin:0pt;padding:0pt;"><p 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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 177979000 6950000 326744000 9205000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 5—Acquisitions</b></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 Future Infrastructure Holdings, 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 January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the telecommunication, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. The total purchase price was funded through a combination of existing cash balances, borrowings under our term loan facility, and borrowings under our revolving credit facility. As discussed in Note 13 –<i style="font-style:italic;"> “Stockholders’ Equity”</i>, we used the net proceeds from our secondary offering to repay a portion of the borrowings incurred in connection with the acquisition of FIH.</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 represents the purchase consideration and the preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $6.7 million since the first quarter of 2021. 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The final determination of fair value for certain assets and liabilities is subject to further change and will be completed as soon as the information necessary to complete the analysis is obtained. These amounts, which may differ materially from these preliminary estimates, will continue to be refined and will be finalized as soon as possible, but no later than one year from the acquisition date. The primary areas of the preliminary estimates that are not yet finalized relate to property, plant and equipment, contract assets and liabilities, and the fair value of certain contractual obligations, including sales and use tax liabilities.</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:78.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.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: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: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><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:78.43%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.84%;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.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 615,249</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"> (10,525)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.32%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;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 3pt 0pt 0pt;"> 604,724</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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;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:78.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.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: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: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><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Preliminary identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;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.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:12.84%;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.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,525</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,102</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.32%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,206)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,671)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (959)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,975)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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;"> (8,612)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 248,246</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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 3pt 0pt 0pt;"> 367,003</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.32%;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.84%;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 3pt 0pt 0pt;"> 615,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;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></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 operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the telecommunications 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 expected to be deductible for income tax purposes over a 15-year 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 intangible assets acquired with the FIH acquisition consisted of Customer relationships of $118.0 million and Tradenames of $4.4 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 19 years and one year, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> For the three months ended June 30, 2021, FIH contributed revenue of </span>$72.7 million and gross profit of $10.7 million. For the period from January 15, 2021, the acquisition date, to June 30, 2021, FIH contributed revenue of $133.4 million and gross profit of $20.5 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;">Acquisition related costs were $0.3 million and $13.8 million for the three and six months ended June 30, 2021, respectively, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.</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;"><i style="font-style:italic;">Supplemental Unaudited Pro Forma Information for the three and six months ended June 30, 2021</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;">The following pro forma information for the three and six months ended June 30, 2021 presents our results of operations as if the acquisition of FIH had occurred at the beginning of 2020. On October 30, 2020, FIH acquired Pridemore Case Holdings, Inc. (“Pride”), which expanded FIH’s operations. Therefore, we have included Pride’s results of operations for the three and six months ended June 30, 2020 in the pro forma information. The supplemental pro forma information has been adjusted to include:</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 style="font-family:'Times New Roman';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;text-align:left;">the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:38.25pt;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 style="font-family:'Times New Roman';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;text-align:left;">the pro forma impact of nonrecurring transaction and related costs directly attributable to the acquisition; 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:54pt;"/><td style="font-family:'Times New Roman';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;text-align:left;">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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">27.5%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> for the three and six months ended June 30, 2021 and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">29.0%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> for the three and six months ended June 30, 2020.</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;">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 FIH acquisition been completed on January 1, 2020. 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;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:47.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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="5" style="vertical-align:bottom;white-space:nowrap;width:24.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;">Three Months Ended June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.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;">Six Months Ended June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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.73%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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.73%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.72%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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.12%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.7%;margin:0pt;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:0.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 881,610</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 998,327</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 1,704,385</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,074,083</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Primoris </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,321</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,934</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 48,746</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,509</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,796</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,466</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,813</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 52,318</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,927</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.78</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 0.93</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.57</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><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;">Asset Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;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;"/>On January 14, 2021, we acquired certain engineering assets for $2.3 million in cash. The identifiable assets acquired consisted primarily of customer relationship intangible assets which are being amortized over a five-year useful life. This asset acquisition is not material to our condensed consolidated financial statements.</p> 604700000 -6500000 -6700000 <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:78.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.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: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: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><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:78.43%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.84%;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.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 615,249</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"> (10,525)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.32%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;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 3pt 0pt 0pt;"> 604,724</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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;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:78.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.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: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: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><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Preliminary identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;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.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:12.84%;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.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,525</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,676</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,102</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.32%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,976</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,206)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,671)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (959)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,975)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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;"> (8,612)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.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:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 248,246</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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="background-color:#cceeff;vertical-align:bottom;width:78.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;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 3pt 0pt 0pt;"> 367,003</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.2%;margin: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:78.43%;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.2%;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.32%;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.84%;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 3pt 0pt 0pt;"> 615,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.2%;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></tr></table> 615249000 10525000 604724000 10525000 55402000 32676000 483000 57102000 13105000 118000000 4400000 6976000 27206000 2671000 959000 10975000 8612000 248246000 367003000 615249000 P15Y 118000000.0 4400000 P19Y P1Y 72700000 10700000 133400000 20500000 300000 13800000 0.15 0.275 0.275 0.290 0.290 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):<table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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="5" style="vertical-align:bottom;white-space:nowrap;width:24.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;">Three Months Ended June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:24.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;">Six Months Ended June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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.73%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.31%;margin:0pt;padding:0pt;"><p style="font-family:'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.73%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.72%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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.12%;margin:0pt;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:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.7%;margin:0pt;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:0.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 881,610</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 998,327</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 1,704,385</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,074,083</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,239</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Primoris </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,321</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,934</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 48,746</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,509</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,308</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,796</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,466</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,813</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 52,318</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,927</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.12%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:47.79%;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:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p 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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.79%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.78</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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:right;margin:0pt 3pt 0pt 0pt;"> 0.93</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.57</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.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></tr></table> 881610000 998327000 1704385000 1074083000 51314000 54841000 67239000 40157000 37321000 38934000 48746000 28509000 53891000 49308000 51796000 49467000 54466000 49813000 52318000 49927000 0.69 0.79 0.94 0.58 0.69 0.78 0.93 0.57 2300000 P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 6—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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts. 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;">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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">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 June 30, 2021, we had $1.5 billion of remaining performance obligations. We expect to recognize approximately 73% of our remaining performance obligations as revenue during the next <span style="-sec-ix-hidden:Hidden_ipLVrkDwxUWBrZZUyaXUBA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">four</span></span> quarters and substantially all of the remaining balance by the end of 2022.</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;">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. </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 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 six months ended June 30, 2021, revenue recognized from performance obligations satisfied in previous periods was $28.3 million and $39.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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 June 30, 2021, we had approximately $83.5 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 $70.2 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through June 30, 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;"><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 style="font-family:'Times New Roman';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;text-align:left;">unbilled revenue, which arise 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 style="font-family:'Times New Roman';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;text-align:left;">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 style="font-family:'Times New Roman';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;text-align:left;">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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 257,927</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 192,176</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;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.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:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,979</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.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:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,877</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 18,796</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 17,796</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.86%;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 3pt 0pt 0pt;"> 386,702</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.86%;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 3pt 0pt 0pt;"> 325,849</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 $60.9 million compared to December 31, 2020 primarily due to higher unbilled revenue, including $24.0 million related to the FIH acquisition.</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 style="font-family:'Times New Roman';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;text-align:left;">deferred revenue, which arises when billings are in excess of contracted 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 style="font-family:'Times New Roman';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;text-align:left;">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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 202,122</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 252,781</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;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.86%;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 3pt 0pt 0pt;"> 11,357</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.86%;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 3pt 0pt 0pt;"> 14,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 213,479</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 267,227</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 decreased by $53.7 million compared to December 31, 2020 primarily due to lower deferred 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;">Revenue recognized for the six months ended June 30, 2021, that was included in the contract liability balance at December 31, 2020, was approximately $210.0 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;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.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: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: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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,735</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,686</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,278</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291,732</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 18,187</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 102,992</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 121,179</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 413,200</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 468,410</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 881,610</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;width:48.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275,257</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,866</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,237</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,297</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 32,817</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 256,742</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 289,559</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 335,311</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 572,905</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 908,216</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 six months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 629,702</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,731</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,864</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 602,010</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 35,897</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 215,735</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 251,632</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 751,463</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 948,476</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 1,699,939</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.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 six months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 461,042</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,035</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,128</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 515,172</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 79,549</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 401,533</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 481,082</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 605,719</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 1,045,740</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 1,651,459</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;">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.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the three months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.8%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.92%;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="background-color:#cceeff;vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,346</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td></tr><tr><td style="vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,068</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 91,112</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 969</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 29,098</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 121,179</p></td></tr><tr><td style="vertical-align:top;width:37.8%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.75%;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 3pt 0pt 0pt;"> 283,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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.75%;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 3pt 0pt 0pt;"> 391,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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.72%;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 3pt 0pt 0pt;"> 881,610</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="font-family:'Times New Roman';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;text-align:left;">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><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.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the three months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,526</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 252,026</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,571</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,072</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 24,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 150,331</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 115,222</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 289,559</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 204,234</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 497,117</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 206,865</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 908,216</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';font-size:9pt;min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><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><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:37.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the six months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,862</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 533,123</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 204,269</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 1,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 45,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 251,632</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 612,727</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 700,568</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 386,644</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 1,699,939</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><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:37.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the six months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 421,454</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,372</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 301,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 39,351</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 232,161</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 209,570</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 481,082</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 422,013</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 824,003</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 405,443</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 1,651,459</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><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 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> <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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts. 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;">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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">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 June 30, 2021, we had $1.5 billion of remaining performance obligations. We expect to recognize approximately 73% of our remaining performance obligations as revenue during the next <span style="-sec-ix-hidden:Hidden_ipLVrkDwxUWBrZZUyaXUBA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">four</span></span> quarters and substantially all of the remaining balance by the end of 2022.</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;">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. </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 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 six months ended June 30, 2021, revenue recognized from performance obligations satisfied in previous periods was $28.3 million and $39.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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 June 30, 2021, we had approximately $83.5 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 $70.2 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through June 30, 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;"><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 style="font-family:'Times New Roman';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;text-align:left;">unbilled revenue, which arise 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 style="font-family:'Times New Roman';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;text-align:left;">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 style="font-family:'Times New Roman';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;text-align:left;">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> 1500000000 0.73 28300000 39000000.0 83500000 70200000 <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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 257,927</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 192,176</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;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.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:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,979</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.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:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,877</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 18,796</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 17,796</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.86%;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 3pt 0pt 0pt;"> 386,702</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.86%;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 3pt 0pt 0pt;"> 325,849</p></td></tr></table> 257927000 192176000 109979000 115877000 18796000 17796000 386702000 325849000 60900000 24000000.0 <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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 202,122</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 252,781</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;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.86%;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 3pt 0pt 0pt;"> 11,357</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.86%;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 3pt 0pt 0pt;"> 14,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 213,479</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 267,227</p></td></tr></table> 202122000 252781000 11357000 14446000 213479000 267227000 53700000 210000000.0 <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;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.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: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: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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,735</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,686</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,278</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 291,732</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 18,187</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 102,992</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 121,179</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 413,200</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 468,410</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 881,610</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;width:48.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275,257</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,866</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,237</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,297</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 32,817</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 256,742</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 289,559</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 335,311</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 572,905</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 908,216</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 six months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 629,702</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,731</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,864</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 602,010</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 35,897</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 215,735</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 251,632</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 751,463</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 948,476</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 1,699,939</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.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: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.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></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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 six months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;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.62%;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="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 461,042</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,035</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td></tr><tr><td style="vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,128</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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 515,172</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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:48.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 79,549</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 401,533</p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.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 3pt 0pt 0pt;"> 481,082</p></td></tr><tr><td style="vertical-align:top;width:48.03%;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%;margin:0pt;padding:0pt;"><p 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%;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%;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 3pt 0pt 0pt;"> 605,719</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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%;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 3pt 0pt 0pt;"> 1,045,740</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;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%;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.9%;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 3pt 0pt 0pt;"> 1,651,459</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;">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.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the three months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.8%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.92%;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="background-color:#cceeff;vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,346</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td></tr><tr><td style="vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,068</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 91,112</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 969</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 29,098</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 121,179</p></td></tr><tr><td style="vertical-align:top;width:37.8%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.75%;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 3pt 0pt 0pt;"> 283,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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.75%;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 3pt 0pt 0pt;"> 391,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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.72%;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 3pt 0pt 0pt;"> 881,610</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="font-family:'Times New Roman';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;text-align:left;">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><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.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the three months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,526</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 252,026</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,571</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,072</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 24,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 150,331</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 115,222</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 289,559</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 204,234</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 497,117</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 206,865</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 908,216</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';font-size:9pt;min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><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><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:37.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the six months ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,862</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 533,123</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,811</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 204,269</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 1,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 45,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 251,632</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 612,727</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 700,568</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 386,644</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 1,699,939</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><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:37.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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'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.08%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">For the six months ended June 30, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;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.08%;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.95%;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.08%;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.95%;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.08%;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.08%;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.9%;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="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 421,454</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,372</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td></tr><tr><td style="vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 301,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 170,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 39,351</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.75%;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 3pt 0pt 0pt;"> 232,161</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;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 3pt 0pt 0pt;"> 209,570</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;"> 481,082</p></td></tr><tr><td style="vertical-align:top;width:37.82%;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.08%;margin:0pt;padding:0pt;"><p 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%;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.75%;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 3pt 0pt 0pt;"> 422,013</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.75%;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 3pt 0pt 0pt;"> 824,003</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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.53%;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.49%;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 3pt 0pt 0pt;"> 405,443</p></td><td style="vertical-align:top;white-space:nowrap;width:2.08%;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%;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.7%;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 3pt 0pt 0pt;"> 1,651,459</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-left:0pt;margin-top:0pt;padding-left:36pt;text-indent:-36pt;"><span style="display:inline-block;font-family:'Times New Roman';min-width:18pt;text-indent:0pt;white-space:nowrap;">(1)</span><span style="font-size:9pt;">Includes time and material and cost reimbursable plus fee contracts.</span></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 351735000 73686000 425421000 43278000 291732000 335010000 18187000 102992000 121179000 413200000 468410000 881610000 275257000 64866000 340123000 27237000 251297000 278534000 32817000 256742000 289559000 335311000 572905000 908216000 629702000 130731000 760433000 85864000 602010000 687874000 35897000 215735000 251632000 751463000 948476000 1699939000 461042000 129035000 590077000 65128000 515172000 580300000 79549000 401533000 481082000 605719000 1045740000 1651459000 29346000 303380000 92695000 425421000 163362000 87068000 84580000 335010000 91112000 969000 29098000 121179000 283820000 391417000 206373000 881610000 43526000 252026000 44571000 340123000 136702000 94760000 47072000 278534000 24006000 150331000 115222000 289559000 204234000 497117000 206865000 908216000 56862000 533123000 170448000 760433000 351596000 165811000 170467000 687874000 204269000 1634000 45729000 251632000 612727000 700568000 386644000 1699939000 81251000 421454000 87372000 590077000 301411000 170388000 108501000 580300000 39351000 232161000 209570000 481082000 422013000 824003000 405443000 1651459000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 7—Goodwill and Intangible Assets</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;">The change in goodwill by segment for the six months ended June 30, 2021 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;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:8.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.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: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:11.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:8.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.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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;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:9.6%;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.19%;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:13.62%;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/Renewables</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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:9.6%;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;">Pipeline </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill acquired during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"> 367,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.06%;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.56%;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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.75%;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 3pt 0pt 0pt;"> 367,003</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;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 3pt 0pt 0pt;"> 463,347</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.56%;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 3pt 0pt 0pt;"> 66,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;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 3pt 0pt 0pt;"> 52,415</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 582,106</p></td></tr></table><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 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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.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:1.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:9.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:1.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:1.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:8.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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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:1.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:9.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:1.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:1.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:8.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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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></tr><tr><td style="vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:31.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;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'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:30.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;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.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;">Gross Carrying<br/>Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:9.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<br/>Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:8.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;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:10.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;">Gross Carrying<br/>Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:9.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<br/>Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:7.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;">Intangible assets, net</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradename </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,440</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,142)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,298</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,793)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,247</p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;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.12%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (37,825)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p 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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,400)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,600</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;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 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> (1,790)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;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 3pt 0pt 0pt;"> 110</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;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 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> (1,735)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;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 3pt 0pt 0pt;"> 165</p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;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.12%;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.66%;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 3pt 0pt 0pt;"> 233,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;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:8.12%;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;"> (56,757)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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:7.64%;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 3pt 0pt 0pt;"> 176,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;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.66%;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 3pt 0pt 0pt;"> 108,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;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:8.12%;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;"> (47,928)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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:6.64%;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 3pt 0pt 0pt;"> 61,012</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;">Amortization expense of intangible assets was $4.7 million and $2.3 million for the three months ended June 30, 2021 and 2020, respectively, and $8.8 million and $4.7 million for the six months ended June 30, 2021 and 2020. 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;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: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.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: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: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:nowrap;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:nowrap;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="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (remaining six months)</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 9,290</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;">2022</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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: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 3pt 0pt 0pt;"> 13,218</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 12,200</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:nowrap;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:nowrap;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: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 3pt 0pt 0pt;"> 11,481</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 10,759</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:nowrap;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:nowrap;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:nowrap;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 3pt 0pt 0pt;"> 119,862</p></td></tr><tr><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.83%;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 3pt 0pt 0pt;"> 176,810</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;text-indent:36pt;margin:0pt;">The change in goodwill by segment for the six months ended June 30, 2021 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;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:8.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.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: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:11.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:8.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.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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;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:9.6%;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.19%;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:13.62%;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/Renewables</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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:9.6%;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;">Pipeline </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill acquired during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"> 367,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.06%;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.56%;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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.75%;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 3pt 0pt 0pt;"> 367,003</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;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 3pt 0pt 0pt;"> 463,347</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.56%;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 3pt 0pt 0pt;"> 66,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;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 3pt 0pt 0pt;"> 52,415</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 582,106</p></td></tr></table><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 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:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.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:1.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:9.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:1.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:1.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:8.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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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:1.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:9.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:1.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:1.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:8.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.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:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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></tr><tr><td style="vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:31.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;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'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:30.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;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.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;">Gross Carrying<br/>Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:9.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<br/>Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:8.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;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:10.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;">Gross Carrying<br/>Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:9.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<br/>Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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:7.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;">Intangible assets, net</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradename </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,440</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,142)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,298</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,793)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,247</p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;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.12%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (37,825)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p 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.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p 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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,400)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,600</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;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 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> (1,790)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;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 3pt 0pt 0pt;"> 110</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;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 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.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;"> (1,735)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;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 3pt 0pt 0pt;"> 165</p></td></tr><tr><td style="vertical-align:bottom;width:35.62%;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.12%;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.66%;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 3pt 0pt 0pt;"> 233,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;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:8.12%;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;"> (56,757)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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:7.64%;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 3pt 0pt 0pt;"> 176,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;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.66%;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 3pt 0pt 0pt;"> 108,940</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;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:8.12%;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;"> (47,928)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;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:6.64%;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 3pt 0pt 0pt;"> 61,012</p></td></tr></table> 96344000 66344000 52415000 215103000 367003000 367003000 463347000 66344000 52415000 582106000 20440000 17142000 3298000 16040000 14793000 1247000 211227000 37825000 173402000 91000000 31400000 59600000 1900000 1790000 110000 1900000 1735000 165000 233567000 56757000 176810000 108940000 47928000 61012000 4700000 2300000 8800000 4700000 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;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: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.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: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: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:nowrap;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:nowrap;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="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (remaining six months)</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 9,290</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;">2022</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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: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 3pt 0pt 0pt;"> 13,218</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 12,200</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:nowrap;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:nowrap;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: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 3pt 0pt 0pt;"> 11,481</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 10,759</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:nowrap;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:nowrap;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:nowrap;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 3pt 0pt 0pt;"> 119,862</p></td></tr><tr><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.83%;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 3pt 0pt 0pt;"> 176,810</p></td></tr></table> 9290000 13218000 12200000 11481000 10759000 119862000 176810000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8—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 June 30, 2021 and December 31, 2020, accounts payable included retention amounts of approximately $16.3 million and $12.6 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;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 summary of accrued liabilities (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:75.24%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;margin:0pt;padding:0pt;"><p style="font-family:'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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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.5%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.02%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,872</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,088</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,033</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,365</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;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 3pt 0pt 0pt;"> 17,325</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;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 3pt 0pt 0pt;"> 24,404</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.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 3pt 0pt 0pt;"> 213,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;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 3pt 0pt 0pt;"> 200,673</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> 16300000 12600000 <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;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:75.24%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;margin:0pt;padding:0pt;"><p style="font-family:'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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'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.14%;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.5%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.02%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,872</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,088</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,033</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,365</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;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 3pt 0pt 0pt;"> 17,325</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;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 3pt 0pt 0pt;"> 24,404</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.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 3pt 0pt 0pt;"> 213,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;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 3pt 0pt 0pt;"> 200,673</p></td></tr></table> 105872000 81088000 67577000 73033000 5251000 8365000 17917000 13783000 17325000 24404000 213942000 200673000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9—Credit Agreements</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="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:74.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:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.31%;margin:0pt;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:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.36%;margin:0pt;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.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:10.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,094</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,500</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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 3pt 0pt 0pt;"> 38,144</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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 3pt 0pt 0pt;"> 38,795</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;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:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 659,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,078</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (4,722)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (521)</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 316,557</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (62,397)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (47,722)</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;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:7.96%;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 3pt 0pt 0pt;"> 592,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:7.96%;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 3pt 0pt 0pt;"> 268,835</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;">The weighted average interest rate on total debt outstanding at June 30, 2021 and December 31, 2020 was 2.9% and 3.7%, respectively.</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;">Credit Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:39pt;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 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">capacity under the Revolving Credit Facility by up to $75.0 million. The Credit Agreement was scheduled to mature on July 9, 2023. </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 January 15, 2021, we entered into the Second Amended and Restated Credit Agreement (the “Amended Credit Agreement”) with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million (the “New Term Loan”) and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026.</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 addition to the New Term Loan, the Amended Credit Agreement consists of the existing $200.0 million revolving credit facility (“Revolving Credit Facility”) whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount, and contains an accordion feature that would allow us to increase the New Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 million.</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;">At June 30, 2021, there were no borrowings outstanding under the Revolving Credit Facility, commercial letters of credit outstanding were $48.9 million, and available borrowing capacity was $151.1 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;">Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $7.4 million, with the balance due on January 15, 2026. The first principal payment was paid on March 31, 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;">The proceeds from the New Term Loan were used to finance the acquisition of FIH.</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;">We capitalized $4.7 million of debt issuance costs during the first quarter of 2021 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement.</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 principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) LIBOR plus an applicable margin as specified in the Amended Credit Agreement (based on our senior debt to EBITDA ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.5% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.</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 principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million. During the six months ended June 30, 2021, we made additional payments on our New Term Loan of $42.6 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;">Loans made under the Credit Agreement and the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain of our domestic subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Credit Agreement and the Amended Credit Agreement.</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 Credit Agreement and Amended Credit Agreement contain various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement and the Amended Credit Agreement include restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets.</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;">We were in compliance with the covenants for the Amended Credit Agreement at June 30, 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;">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 75% of the debt outstanding under our original Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin, which was 2.00<span style="white-space:pre-wrap;">% at June 30, 2021. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;">Canadian Credit Facilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height: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 have a demand credit facility for $4.0 million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada. At June 30, 2021, commercial letters of credit outstanding were $0.4 million </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">in Canadian dollars, and the available borrowing capacity was $3.6 million in Canadian dollars. The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary. At June 30, 2021, OnQuest Canada, ULC was in compliance with the covenant.</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;">We have a credit facility for $10.0 million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (“Working Capital Credit Facility”). At June 30, 2021, there were <span style="-sec-ix-hidden:Hidden_lmquhKSpaECpEnt80L-75Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">no</span></span><span style="white-space:pre-wrap;"> outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was </span>$10.0 million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Amended Credit Agreement will represent a default in the Working Capital Credit Facility.</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="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:74.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:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'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:10.31%;margin:0pt;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:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.36%;margin:0pt;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.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:10.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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 535,094</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,500</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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 3pt 0pt 0pt;"> 38,144</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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 3pt 0pt 0pt;"> 38,795</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;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:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 659,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,078</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (4,722)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (521)</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 316,557</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.64%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (62,397)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.35%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;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;"> (47,722)</p></td></tr><tr><td style="vertical-align:bottom;width:74.64%;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:2.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:2.35%;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:7.96%;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 3pt 0pt 0pt;"> 592,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.35%;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:7.96%;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 3pt 0pt 0pt;"> 268,835</p></td></tr></table> 535094000 192500000 86283000 85783000 38144000 38795000 659521000 317078000 4722000 521000 654799000 316557000 62397000 47722000 592402000 268835000 0.029 0.037 220000000.0 200000000.0 200000000.0 75000000.0 400000000.0 592500000 200000000.0 200000000.0 75000000.0 0 48900000 151100000 7400000 4700000 0.005 5000000.0 42600000 0.20 0.75 0.0289 0.0200 4000000.0 400000 3600000 10000000.0 10000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10 — Derivative Instruments</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 style="white-space:pre-wrap;">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.</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><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 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, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by a portion of the required principal payments made on the original Term Loan. The swap effectively changes 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 June 30, 2021, and December 31, 2020, our outstanding interest rate swap agreement contained a notional amount of $140.3 million and $144.4 million, respectively, with a maturity date of July 10, 2023.</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 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><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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.47%;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.3%;margin:0pt;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.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;margin:0pt;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.49%;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.47%;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.3%;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;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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.4%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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.36%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.49%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 6,950</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 9,205</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;"/>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):</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.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: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.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:9.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:1.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:1.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:8.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:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:11.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:1.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></tr><tr><td style="vertical-align:bottom;width:21.08%;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.56%;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.15%;margin:0pt;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.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-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;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></tr><tr><td style="vertical-align:bottom;width:21.08%;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.56%;margin:0pt;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) Loss Recognized</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.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;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.19%;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;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;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:21.08%;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.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;">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.49%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">2021</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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;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></tr><tr><td style="background-color:#cceeff;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;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (237)</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,273</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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></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;"/>Cash flows from derivatives settled are reported as cash flows from operating activities.</p> 0 165000000.0 140300000 144400000 <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><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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.47%;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.3%;margin:0pt;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.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;margin:0pt;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.49%;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.47%;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.3%;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;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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.4%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;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.36%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.49%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.3%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 6,950</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 9,205</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 6950000 9205000 <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.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: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.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:9.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:1.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:1.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:8.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:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:11.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:1.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></tr><tr><td style="vertical-align:bottom;width:21.08%;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.56%;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.15%;margin:0pt;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.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-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;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></tr><tr><td style="vertical-align:bottom;width:21.08%;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.56%;margin:0pt;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) Loss Recognized</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.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;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.19%;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;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;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:21.08%;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.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;">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.49%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">2021</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.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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;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></tr><tr><td style="background-color:#cceeff;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;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:24.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (237)</p></td><td style="background-color:#cceeff;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="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,273</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> -40000 -838000 237000 -6273000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 11—Income Taxes</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 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;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 do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income (including and excluding noncontrolling interests) for the six months ended June 30, 2021 and 2020 was 27.5% and 29.0%, respectively. For the first six months of each of 2021 and 2020, our tax rate differs from the U.S. federal statutory rate of 21.0%<span style="white-space:pre-wrap;"> primarily due to the impact of state income taxes and nondeductible components of per diem expenses. </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;">Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2017. The statutes of limitation of state and foreign jurisdictions generally vary between <span style="-sec-ix-hidden:Hidden_R7KMss3xhkipvPttXg1Enw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">3</span></span> to <span style="-sec-ix-hidden:Hidden_GP7wj2GvuUKHkfFx4bResg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5</span></span> years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2015.</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;">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><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 March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred FICA tax payments through the end of 2020 as allowed under the CARES Act. This deferral was $43.5 million at June 30, 2021, and is included in Accrued liabilities and Other long-term liabilities on our Condensed Consolidated Balance Sheet. Half of the deferral is due on December 31, 2021, and the other half is due on December 31, 2022.</p> 0.275 0.290 0.210 0.210 43500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 12—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 2021 and 2020 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;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:nowrap;width:3.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;width:24.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.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;width:24.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.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: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: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:nowrap;width:3.19%;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:24.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;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:24.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;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:16.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;">Amount Per Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 21, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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 1, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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 5, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 15, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 19, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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 six months ended June 30, 2021 and 2020 (in thousands, except per share amounts).</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:51.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:51.87%;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: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;">Three Months Ended June 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:21.77%;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;">Six Months Ended June 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:51.87%;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:10.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;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:10.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;">2020</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:10.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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:9.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;">2020</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income attributable to Primoris</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:2.08%;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:8.47%;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 3pt 0pt 0pt;"> 36,290</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:8.47%;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 3pt 0pt 0pt;"> 32,959</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.58%;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:8.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 3pt 0pt 0pt;"> 42,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 29,222</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:8.47%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,270</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,429</p></td><td style="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of shares issued to independent directors</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:2.08%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</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.58%;margin:0pt;padding:0pt;"><p 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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of restricted stock units</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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 3pt 0pt 0pt;"> 554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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 3pt 0pt 0pt;"> 394</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 499</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 347</p></td><td style="background-color:#cceeff;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:51.87%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;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:8.47%;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 3pt 0pt 0pt;"> 54,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:8.47%;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 3pt 0pt 0pt;"> 48,668</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.58%;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:8.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 3pt 0pt 0pt;"> 52,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 48,782</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share attributable to Primoris:</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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:8.47%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.82</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</p></td><td style="background-color:#cceeff;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:51.87%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</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.58%;margin:0pt;padding:0pt;"><p 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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</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></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;text-indent:36pt;margin:0pt;">We paid cash dividends during 2021 and 2020 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;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:nowrap;width:3.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;width:24.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.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;width:24.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.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: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: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:nowrap;width:3.19%;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:24.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;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:24.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;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:16.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;">Amount Per Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 21, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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 1, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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 5, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 15, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 19, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.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="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 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, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;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:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.06 </p></td></tr></table> 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 six months ended June 30, 2021 and 2020 (in thousands, except per share amounts).</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:51.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:51.87%;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: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;">Three Months Ended June 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:21.77%;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;">Six Months Ended June 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:51.87%;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:10.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;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:10.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;">2020</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:10.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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:9.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;">2020</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income attributable to Primoris</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:2.08%;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:8.47%;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 3pt 0pt 0pt;"> 36,290</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:8.47%;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 3pt 0pt 0pt;"> 32,959</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.58%;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:8.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 3pt 0pt 0pt;"> 42,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 29,222</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:8.47%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,270</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,429</p></td><td style="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of shares issued to independent directors</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:2.08%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</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.58%;margin:0pt;padding:0pt;"><p 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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of restricted stock units</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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 3pt 0pt 0pt;"> 554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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 3pt 0pt 0pt;"> 394</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 499</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 347</p></td><td style="background-color:#cceeff;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:51.87%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;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:8.47%;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 3pt 0pt 0pt;"> 54,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:8.47%;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 3pt 0pt 0pt;"> 48,668</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.58%;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:8.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 3pt 0pt 0pt;"> 52,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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 3pt 0pt 0pt;"> 48,782</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="background-color:#cceeff;vertical-align:bottom;width:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;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="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;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:51.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share attributable to Primoris:</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:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:8.47%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;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="background-color:#cceeff;vertical-align:bottom;width:51.87%;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="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.82</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</p></td><td style="background-color:#cceeff;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:51.87%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.08%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.68</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.58%;margin:0pt;padding:0pt;"><p 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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</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></table> 36290000 32959000 42140000 29222000 53729000 48270000 51634000 48429000 2000 4000 4000 6000 554000 394000 499000 347000 54285000 48668000 52137000 48782000 0.68 0.68 0.82 0.60 0.67 0.68 0.81 0.60 <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 13—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 25,987 and 34,524 shares of common stock in the six months ended June 30, 2021 and 2020, 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.5 million and $0.6 million in the six months ended June 30, 2021 and 2020, 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 six months ended June 30, 2021 were a portion of bonus amounts earned in 2020, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2020. The shares purchased in the six months ended June 30, 2020 were for bonus amounts earned in 2019, and the number of shares was calculated at 75% of the average daily closing market price during December 2019.</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 June 30, 2021 and 2020, we issued 7,218 and 10,451 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the six months ended June 30, 2021 and 2020, we issued 16,704 and 27,195 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;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 six months ended June 30, 2021, a total of 39,764 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, were converted to common stock. There were 13,516 RSUs converted to common stock during the three and six months ended June 30, 2020.</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 connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the six months ended June 30, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1 million in stock compensation expense included in Transaction and related costs in the Condensed Consolidated Statement of Income.</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;">Secondary Offering</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 March 2021, we entered into an underwriting agreement with Goldman Sachs &amp; Co. LLC, Morgan Stanley &amp; Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred under our Amended Credit Agreement in connection with the acquisition of FIH.</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="font-style:italic;font-weight:bold;">Share Repurchase 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 February 2020, our Board of Directors authorized a $25.0 million share repurchase program. Under the share repurchase program, we could, 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 the three months ended June 30, 2020, we purchased and cancelled 57,731 shares of common stock, which in the aggregate equaled $0.9 million at an average share price of $16.46. In the six months ended June 30, 2020, we purchased and cancelled 519,562 shares of common stock, which in the aggregate equaled $8.3 million at an average share price of $16.06. The share repurchase plan expired on December 31, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 25987 34524 500000 600000 0.75 0.75 7218 10451 16704 27195 39764 39764 13516 13516 0.15 1038309 28900000 5100000 4500000 0.0001 35.00 157500000 149300000 25000000.0 57731 900000 16.46 519562 8300000 16.06 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 14—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 various 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 2030, 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;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.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:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.36%;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:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.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;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.42%;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.7%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.41%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.41%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.47%;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.94%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.36%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,168</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,153</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,824</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,131</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';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;text-align:left;">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 0pt 6pt 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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.86%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Xzc6gby56k62ulyK9pfLNA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accrued liabilities</span></span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 67,577</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 73,033</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_kGPcfS-RKkGd8p8kI8o4mg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Noncurrent operating lease liabilities, net of current portion</span></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.86%;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 3pt 0pt 0pt;"> 123,638</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.86%;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 3pt 0pt 0pt;"> 137,913</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 191,215</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 210,946</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> true P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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:nowrap;width:2.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.36%;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:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.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;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.42%;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.7%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.41%;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;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.41%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.47%;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.94%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.36%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,168</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,153</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,824</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,131</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';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;text-align:left;">Includes short-term leases which are immaterial. </span></td></tr></table> 21168000 23153000 42824000 46131000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 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.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: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.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: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.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: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.8%;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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 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.55%;margin:0pt;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.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: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.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;">2021</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.86%;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;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Xzc6gby56k62ulyK9pfLNA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accrued liabilities</span></span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 67,577</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;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 3pt 0pt 0pt;"> 73,033</p></td></tr><tr><td style="vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_kGPcfS-RKkGd8p8kI8o4mg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Noncurrent operating lease liabilities, net of current portion</span></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.86%;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 3pt 0pt 0pt;"> 123,638</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.86%;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 3pt 0pt 0pt;"> 137,913</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 191,215</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;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="background-color:#cceeff;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 3pt 0pt 0pt;"> 210,946</p></td></tr></table> 67577000 73033000 123638000 137913000 191215000 210946000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 15—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;"><span style="white-space:pre-wrap;"> Management is unable to ascertain the ultimate outcome of other 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.</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="font-style:italic;font-weight:bold;">Bonding —</span> At June 30, 2021 and December 31, 2020, we had bid and completion bonds issued and outstanding totaling approximately $2.6 billion and $3.2 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $566.8 million and $696.0 million at June 30, 2021 and December 31, 2020, 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> 2600000 3200000 566800000 696000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 16—Reportable Segments</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;">Through the end of 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter of 2021, we changed our reportable segments in connection with 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, the Energy/Renewables segment, and the Pipeline segment. Segment information for prior periods has been restated to conform to the new segment presentation.</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 comprised 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 telecommunications and installation and maintenance of new and existing natural gas and electric utility distribution and transmission 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/Renewables 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, 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;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 Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.</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;">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 CODM 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:underline;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:underline;text-decoration-color:#000000;">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:59.96%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:59.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;">For the three months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:28.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:28.49%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.75%;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.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:11.36%;margin:0pt;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:2.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:1.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:12.75%;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.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:11.37%;margin:0pt;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:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.75%;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.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:11.36%;margin:0pt;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:2.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:1.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:12.75%;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.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:11.37%;margin:0pt;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.64%;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.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:14.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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:2.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:14.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.37%;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="background-color:#cceeff;vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">48.3%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">37.4%</p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">38.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30.7%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;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 3pt 0pt 0pt;"> 121,179</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;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 3pt 0pt 0pt;">13.7%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;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 3pt 0pt 0pt;"> 289,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;">31.9%</p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;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.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:1.67%;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.75%;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 3pt 0pt 0pt;"> 881,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.36%;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 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.67%;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.75%;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 3pt 0pt 0pt;"> 908,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.37%;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 3pt 0pt 0pt;">100.0%</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><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:59.58%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:2.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.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:15.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:2.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.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:2.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.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:15.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:2.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.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:32.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:2.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 colspan="9" style="vertical-align:bottom;white-space:nowrap;width:65.1%;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 six months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:31.19%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:31.19%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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.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:15.37%;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.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:11.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;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:15.37%;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.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:11.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;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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.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:15.37%;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.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:11.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;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:15.37%;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.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:11.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;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;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.7%;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:17.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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:17.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">44.7%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">35.7%</p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">35.1%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.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 3pt 0pt 0pt;"> 251,632</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;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 3pt 0pt 0pt;">14.8%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.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 3pt 0pt 0pt;"> 481,082</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;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 3pt 0pt 0pt;">29.2%</p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;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.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:1.68%;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.37%;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 3pt 0pt 0pt;"> 1,699,939</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;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 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.68%;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.37%;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 3pt 0pt 0pt;"> 1,651,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;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 3pt 0pt 0pt;">100.0%</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><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:underline;text-decoration-color:#000000;"> 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:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:56.62%;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 June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:26.95%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:26.98%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:1.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:12.74%;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.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:9.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:2.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:1.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:12.74%;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.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:9.87%;margin:0pt;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:40.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:2.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:1.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:12.74%;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.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:9.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:2.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:1.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:12.74%;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.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:9.87%;margin:0pt;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:40.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:2.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="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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:2.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="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,849</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,837</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16.4%</p></td></tr><tr><td style="vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.9%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.5%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;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 3pt 0pt 0pt;"> 30,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;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 3pt 0pt 0pt;"> 27,030</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.3%</p></td></tr><tr><td style="vertical-align:bottom;width:40.69%;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.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:1.67%;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.74%;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 3pt 0pt 0pt;"> 113,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.67%;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.74%;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 3pt 0pt 0pt;"> 100,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.1%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:94.5pt;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:59.78%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.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.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:1.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:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.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></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="9" style="vertical-align:bottom;white-space:nowrap;width:56.8%;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 six months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:2.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:2.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:40.5%;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.69%;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.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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:9.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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:9.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,565</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.3%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,151</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10.5%</p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7.4%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;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 3pt 0pt 0pt;"> 46,738</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">18.6%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;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 3pt 0pt 0pt;"> 43,522</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.0%</p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.79%;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 3pt 0pt 0pt;"> 193,207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.79%;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 3pt 0pt 0pt;"> 148,777</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.0%</p></td></tr></table><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:underline;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:underline;text-decoration-color:#000000;">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 June 30, 2021 and at December 31, 2020 is presented in Note 7 – “<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:underline;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:underline;text-decoration-color:#000000;">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 4.0% and 3.3% generated from sources outside of the United States during the six months ended June 30, 2021 and 2020, respectively, principally in Canada. At June 30, 2021 and December 31, 2020, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.</p> 5 <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:underline;text-decoration-color:#000000;">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:59.96%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:59.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;">For the three months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:28.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:28.49%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.75%;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.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:11.36%;margin:0pt;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:2.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:1.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:12.75%;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.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:11.37%;margin:0pt;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:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.75%;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.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:11.36%;margin:0pt;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:2.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:1.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:12.75%;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.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:11.37%;margin:0pt;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.64%;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.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:14.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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:2.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:14.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.37%;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="background-color:#cceeff;vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425,421</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">48.3%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,123</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">37.4%</p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 335,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">38.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 278,534</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30.7%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;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 3pt 0pt 0pt;"> 121,179</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;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 3pt 0pt 0pt;">13.7%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.75%;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 3pt 0pt 0pt;"> 289,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.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 3pt 0pt 0pt;">31.9%</p></td></tr><tr><td style="vertical-align:bottom;width:37.64%;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.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:1.67%;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.75%;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 3pt 0pt 0pt;"> 881,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.36%;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 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.67%;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.75%;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 3pt 0pt 0pt;"> 908,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.37%;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 3pt 0pt 0pt;">100.0%</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><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:59.58%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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:2.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.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:15.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:2.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.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:2.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.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:15.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:2.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.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:32.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:2.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 colspan="9" style="vertical-align:bottom;white-space:nowrap;width:65.1%;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 six months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:31.19%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:31.19%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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.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:15.37%;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.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:11.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;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:15.37%;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.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:11.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;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.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:2.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.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:15.37%;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.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:11.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;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:15.37%;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.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:11.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;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;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.7%;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:17.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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:17.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;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.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 760,433</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">44.7%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 590,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">35.7%</p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 580,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">35.1%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.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 3pt 0pt 0pt;"> 251,632</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;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 3pt 0pt 0pt;">14.8%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.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 3pt 0pt 0pt;"> 481,082</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.43%;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 3pt 0pt 0pt;">29.2%</p></td></tr><tr><td style="vertical-align:bottom;width:32.19%;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.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:1.68%;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.37%;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 3pt 0pt 0pt;"> 1,699,939</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;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 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.68%;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.37%;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 3pt 0pt 0pt;"> 1,651,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.43%;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 3pt 0pt 0pt;">100.0%</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><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:underline;text-decoration-color:#000000;"> 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:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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:2.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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:56.62%;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 June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:26.95%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:26.98%;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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.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:2.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:1.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:12.74%;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.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:9.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:2.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:1.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:12.74%;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.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:9.87%;margin:0pt;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:40.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:2.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:1.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:12.74%;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.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:9.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:2.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:1.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:12.74%;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.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:9.87%;margin:0pt;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:40.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:2.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="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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:2.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="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,849</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,837</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16.4%</p></td></tr><tr><td style="vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.9%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.5%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;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 3pt 0pt 0pt;"> 30,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;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 3pt 0pt 0pt;"> 27,030</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.3%</p></td></tr><tr><td style="vertical-align:bottom;width:40.69%;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.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:1.67%;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.74%;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 3pt 0pt 0pt;"> 113,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">12.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.67%;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.74%;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 3pt 0pt 0pt;"> 100,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p 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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.1%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:94.5pt;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:59.78%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.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.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:1.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:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.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></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="9" style="vertical-align:bottom;white-space:nowrap;width:56.8%;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 six months ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:2.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'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.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:2.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:1.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:12.79%;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.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:9.88%;margin:0pt;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:40.5%;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.69%;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.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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:9.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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.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;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;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:9.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;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,565</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.3%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,151</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10.5%</p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy/Renewables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7.4%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:40.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Pipeline </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;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 3pt 0pt 0pt;"> 46,738</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">18.6%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.79%;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 3pt 0pt 0pt;"> 43,522</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.0%</p></td></tr><tr><td style="vertical-align:bottom;width:40.5%;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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.79%;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 3pt 0pt 0pt;"> 193,207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;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.79%;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 3pt 0pt 0pt;"> 148,777</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p 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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.0%</p></td></tr></table> 425421000 0.483 340123000 0.374 335010000 0.380 278534000 0.307 121179000 0.137 289559000 0.319 881610000 1.000 908216000 1.000 760433000 0.447 590077000 0.357 687874000 0.405 580300000 0.351 251632000 0.148 481082000 0.292 1699939000 1.000 1651459000 1.000 48849000 0.115 55837000 0.164 33232000 0.099 18100000 0.065 30945000 0.255 27030000 0.093 113026000 0.128 100967000 0.111 70565000 0.093 62151000 0.105 75904000 0.110 43104000 0.074 46738000 0.186 43522000 0.090 193207000 0.114 148777000 0.090 0.040 0.033 0.034 0.039 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 17—Subsequent Events</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;"/><i style="font-style:italic;">Cash Dividend</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 3, 2021, the Board of Directors declared a cash dividend of $0.06 per share of common stock for stockholders of record as of September 30, 2021, payable on or about October 15, 2021.</p> 0.06 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2021
Aug. 02, 2021
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Jun. 30, 2021  
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  
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  
Title of 12(b) Security Common Stock, $0.0001 par value  
Trading Symbol PRIM  
Security Exchange Name NASDAQ  
Entity Common Stock, Shares Outstanding   53,731,206
Entity Central Index Key 0001361538  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2021  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Current assets:    
Cash and cash equivalents $ 177,979 $ 326,744
Accounts receivable, net 479,013 432,455
Contract assets 386,702 325,849
Prepaid expenses and other current assets 50,719 30,218
Total current assets 1,094,413 1,115,266
Property and equipment, net 432,200 356,194
Operating lease assets 189,411 207,320
Deferred tax assets 1,971 1,909
Intangible assets, net 176,810 61,012
Goodwill 582,106 215,103
Other long-term assets 16,896 12,776
Total assets 2,493,807 1,969,580
Current liabilities:    
Accounts payable 265,633 245,906
Contract liabilities 213,479 267,227
Accrued liabilities 213,942 200,673
Dividends payable 3,224 2,887
Current portion of long-term debt 62,397 47,722
Total current liabilities 758,675 764,415
Long-term debt, net of current portion 592,402 268,835
Noncurrent operating lease liabilities, net of current portion 123,638 137,913
Deferred tax liabilities 13,547 13,548
Other long-term liabilities 69,055 70,077
Total liabilities 1,557,317 1,254,788
Commitments and contingencies (See Note 15)
Stockholders' equity    
Common stock-$.0001 par value; 90,000,000 shares authorized; 53,731,206 and 48,110,442 issued and outstanding at June 30, 2021 and December 31, 2020, respectively 6 5
Additional paid-in capital 274,008 89,098
Retained earnings 660,385 624,694
Accumulated other comprehensive income 2,051 958
Noncontrolling interest 40 37
Total stockholders' equity 936,490 714,792
Total liabilities and stockholders' equity $ 2,493,807 $ 1,969,580
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Jun. 30, 2021
Dec. 31, 2020
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,731,206 48,110,442
Common stock, shares outstanding 53,731,206 48,110,442
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF INCOME        
Revenue $ 881,610 $ 908,216 $ 1,699,939 $ 1,651,459
Cost of revenue 768,584 807,249 1,506,732 1,502,682
Gross profit 113,026 100,967 193,207 148,777
Selling, general and administrative expenses 57,747 51,422 111,179 95,810
Transaction and related costs 480   14,376  
Operating income 54,799 49,545 67,652 52,967
Other income (expense):        
Foreign exchange loss, net (466) (200) (443) (64)
Other income, net 379 706 374 718
Interest income 5 64 90 345
Interest expense (4,825) (3,690) (9,546) (12,802)
Income before provision for income taxes 49,892 46,425 58,127 41,164
Provision for income taxes (13,597) (13,463) (15,984) (11,936)
Net income 36,295 32,962 42,143 29,228
Net income attributable to noncontrolling interests (5) (3) (3) (6)
Net income attributable to Primoris $ 36,290 $ 32,959 $ 42,140 $ 29,222
Dividends per common share (in dollars per share) $ 0.06 $ 0.06 $ 0.12 $ 0.12
Earnings per share:        
Basic (in dollars per share) 0.68 0.68 0.82 0.60
Diluted (in dollars per share) $ 0.67 $ 0.68 $ 0.81 $ 0.60
Weighted average common shares outstanding:        
Basic (in shares) 53,729 48,270 51,634 48,429
Diluted (in shares) 54,285 48,668 52,137 48,782
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME        
Net income $ 36,295 $ 32,962 $ 42,143 $ 29,228
Other comprehensive income, net of tax:        
Foreign currency translation adjustments 632 552 1,093 (1,185)
Comprehensive income 36,927 33,514 43,236 28,043
Net income attributable to noncontrolling interests (5) (3) (3) (6)
Comprehensive income attributable to Primoris $ 36,922 $ 33,511 $ 43,233 $ 28,037
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Non Controlling Interest
Total
Balance at Dec. 31, 2019 $ 5 $ 97,130 $ 531,291 $ 76 $ 1,028 $ 629,530
Balance (in shares) at Dec. 31, 2019 48,665,138          
Increase (Decrease) in Stockholders' Equity Roll Forward            
Net income     29,222   6 29,228
Foreign currency translation adjustments, net of tax       (1,185)   (1,185)
Issuance of shares to employees and directors   1,337       1,337
Issuance of shares to employees and directors (in shares) 61,719          
Conversion of Restricted Stock Units, net of shares withheld for taxes   (77)       $ (77)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 13,516         13,516
Stock-based compensation   1,202       $ 1,202
Dividend equivalent Units accrued - Restricted Stock Units   8 (8)      
Repurchase of stock   (8,343)       (8,343)
Repurchase of stock (in shares) (519,562)          
Distribution of noncontrolling entities         (1,000) (1,000)
Dividends declared     (5,788)     (5,788)
Balance at Jun. 30, 2020 $ 5 91,257 554,717 (1,109) 34 644,904
Balance (in shares) at Jun. 30, 2020 48,220,811          
Balance at Mar. 31, 2020 $ 5 91,414 524,655 (1,661) 1,031 615,444
Balance (in shares) at Mar. 31, 2020 48,254,575          
Increase (Decrease) in Stockholders' Equity Roll Forward            
Net income     32,959   3 32,962
Foreign currency translation adjustments, net of tax       552   552
Issuance of shares to employees and directors   163       163
Issuance of shares to employees and directors (in shares) 10,451          
Conversion of Restricted Stock Units, net of shares withheld for taxes   (77)       $ (77)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 13,516         13,516
Stock-based compensation   703       $ 703
Dividend equivalent Units accrued - Restricted Stock Units   4 (4)      
Repurchase of stock   (950)       (950)
Repurchase of stock (in shares) (57,731)          
Distribution of noncontrolling entities         (1,000) (1,000)
Dividends declared     (2,893)     (2,893)
Balance at Jun. 30, 2020 $ 5 91,257 554,717 (1,109) 34 644,904
Balance (in shares) at Jun. 30, 2020 48,220,811          
Balance at Dec. 31, 2020 $ 5 89,098 624,694 958 37 714,792
Balance (in shares) at Dec. 31, 2020 48,110,442          
Increase (Decrease) in Stockholders' Equity Roll Forward            
Net income     42,140   3 42,143
Foreign currency translation adjustments, net of tax       1,093   1,093
Issuance of shares, net of issuance costs $ 1 149,289       149,290
Issuance of shares, net of issuance costs (Shares) 4,500,000          
Issuance of shares to employees and directors   28,733       28,733
Issuance of shares to employees and directors (in shares) 1,081,000          
Conversion of Restricted Stock Units, net of shares withheld for taxes   (599)       (599)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 39,764          
Stock-based compensation   7,485       7,485
Dividend equivalent Units accrued - Restricted Stock Units   2 (2)      
Dividends declared     (6,447)     (6,447)
Balance at Jun. 30, 2021 $ 6 274,008 660,385 2,051 40 936,490
Balance (in shares) at Jun. 30, 2021 53,731,206          
Balance at Mar. 31, 2021 $ 6 272,584 627,320 1,419 35 901,364
Balance (in shares) at Mar. 31, 2021 53,723,988          
Increase (Decrease) in Stockholders' Equity Roll Forward            
Net income     36,290   5 36,295
Foreign currency translation adjustments, net of tax       632   632
Share issuance costs   (151)       (151)
Issuance of shares to employees and directors   241       241
Issuance of shares to employees and directors (in shares) 7,218          
Stock-based compensation   1,333       1,333
Dividend equivalent Units accrued - Restricted Stock Units   1 (1)      
Dividends declared     (3,224)     (3,224)
Balance at Jun. 30, 2021 $ 6 $ 274,008 $ 660,385 $ 2,051 $ 40 $ 936,490
Balance (in shares) at Jun. 30, 2021 53,731,206          
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended 6 Months Ended
May 04, 2021
Feb. 19, 2021
Nov. 05, 2020
Jul. 31, 2020
May 01, 2020
Feb. 21, 2020
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
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.12 $ 0.12
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Cash flows from operating activities:    
Net income $ 42,143 $ 29,228
Adjustments to reconcile net income to net cash provided by operating activities (net of effect of acquisitions):    
Depreciation and amortization 51,702 41,893
Stock-based compensation expense 7,485 1,202
Gain on sale of property and equipment (7,110) (7,332)
Unrealized (gain) loss on interest rate swap (2,255) 4,907
Other non-cash items 566 161
Changes in assets and liabilities:    
Accounts receivable 11,357 (65,860)
Contract assets (27,733) (32,765)
Other current assets (20,018) (3,268)
Other long-term assets (181) 223
Accounts payable 6,900 21,897
Contract liabilities (56,688) 30,784
Operating lease assets and liabilities, net (1,831) (551)
Accrued liabilities 6,266 22,125
Other long-term liabilities (5,010) 18,007
Net cash provided by operating activities 5,593 60,651
Cash flows from investing activities:    
Purchase of property and equipment (62,755) (21,703)
Proceeds from sale of property and equipment 10,534 12,086
Cash paid for acquisitions, net of cash acquired (606,974)  
Net cash used in investing activities (659,195) (9,617)
Cash flows from financing activities:    
Borrowings under revolving line of credit 100,000  
Payments on revolving line of credit (100,000)  
Proceeds from issuance of long-term debt 421,000 33,873
Repayment of long-term debt (79,515) (32,469)
Proceeds from issuance of common stock 178,712 578
Debt issuance costs (4,876)  
Repurchase of common stock   (8,343)
Dividends paid (6,110) (5,814)
Other (4,959) (3,091)
Net cash provided by (used in) financing activities 504,252 (15,266)
Effect of exchange rate changes on cash and cash equivalents 585 (384)
Net change in cash and cash equivalents (148,765) 35,384
Cash and cash equivalents at beginning of the period 326,744 120,286
Cash and cash equivalents at end of the period 177,979 155,670
SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION    
Cash paid for interest 11,234 7,735
Cash paid for income taxes, net of refunds received 17,609 (13)
Leased assets obtained in exchange for new operating leases 10,673 42,450
SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES    
Dividends declared and not yet paid $ 3,224 $ 2,893
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Nature of Business
6 Months Ended
Jun. 30, 2021
Nature of Business  
Nature of Business

Note 1—Nature of Business

Organization and operations — 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, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our three segments.

We have customer relationships with major utility, telecommunications, 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 substantial 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 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter 2021, we changed our reportable segments in connection with a 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 segments.

The current reportable segments include the Utilities segment, the Energy/Renewables segment and the Pipeline Services (“Pipeline”) segment. See Note 16 – “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 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation
6 Months Ended
Jun. 30, 2021
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 six months ended June 30, 2021 and 2020 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 23, 2021, which contains our audited consolidated financial statements for the year ended December 31, 2020, 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. 

Reclassification — Certain previously reported amounts have been reclassified to conform to the current year presentation.

Customer concentration — We operate in multiple industry segments 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 50% of total revenue; however, the companies that comprise the top ten vary from year to year.

For the three and six months ended June 30, 2021, approximately 42.3% and 43.6%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than ten percent of our total revenue.

For the three and six months ended June 30, 2020, approximately 52.3% and 50.7%, respectively, of total revenue was generated from our top ten customers. For the three and six months ended June 30, 2020, one pipeline customer represented approximately 15.6% and 13.6% of total revenue, respectively.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.21.2
Recent Accounting Pronouncements
6 Months Ended
Jun. 30, 2021
Recent Accounting Pronouncements  
Recent Accounting Pronouncements

Note 3—Recent Accounting Pronouncements

Recently adopted accounting pronouncements

In December 2019, the FASB issued ASU No. 2019-12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes”, which removes certain exceptions to the general principles in Topic 740 and clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective or prospective basis. We adopted the new standard on January 1, 2021, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements
6 Months Ended
Jun. 30, 2021
Fair Value Measurements  
Fair Value Measurements

Note 4—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures”, defines fair value, establishes a framework for measuring fair value in 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 June 30, 2021 and December 31, 2020 (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 June 30, 2021:

Cash and cash equivalents

$

177,979

 

$

 

$

Liabilities as of June 30, 2021:

Interest rate swap

$

$

6,950

$

Assets as of December 31, 2020:

Cash and cash equivalents

$

326,744

 

$

 

$

Liabilities as of December 31, 2020:

Interest rate swap

$

$

9,205

$

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 swap is 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 10 – “Derivative Instruments” for additional information.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Acquisitions
6 Months Ended
Jun. 30, 2021
Acquisitions  
Acquisitions

Note 5—Acquisitions

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the telecommunication, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. The total purchase price was funded through a combination of existing cash balances, borrowings under our term loan facility, and borrowings under our revolving credit facility. As discussed in Note 13 – “Stockholders’ Equity”, we used the net proceeds from our secondary offering to repay a portion of the borrowings incurred in connection with the acquisition of FIH.

The table below represents the purchase consideration and the preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $6.7 million since the first quarter of 2021. 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.

The final determination of fair value for certain assets and liabilities is subject to further change and will be completed as soon as the information necessary to complete the analysis is obtained. These amounts, which may differ materially from these preliminary estimates, will continue to be refined and will be finalized as soon as possible, but no later than one year from the acquisition date. The primary areas of the preliminary estimates that are not yet finalized relate to property, plant and equipment, contract assets and liabilities, and the fair value of certain contractual obligations, including sales and use tax liabilities.

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash acquired

(10,525)

Net cash paid

$

604,724

Preliminary identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

55,402

Contract assets

32,676

Prepaid expenses and other current assets

483

Property, plant and equipment

57,102

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

118,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(27,206)

Contract liabilities

(2,671)

Total debt

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(8,612)

Total identifiable net assets

248,246

Goodwill

367,003

Total purchase consideration

$

615,249

We incorporated the operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the telecommunications 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 expected to be deductible for income tax purposes over a 15-year period.

The intangible assets acquired with the FIH acquisition consisted of Customer relationships of $118.0 million and Tradenames of $4.4 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 19 years and one year, respectively.

For the three months ended June 30, 2021, FIH contributed revenue of $72.7 million and gross profit of $10.7 million. For the period from January 15, 2021, the acquisition date, to June 30, 2021, FIH contributed revenue of $133.4 million and gross profit of $20.5 million.

Acquisition related costs were $0.3 million and $13.8 million for the three and six months ended June 30, 2021, respectively, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.

Supplemental Unaudited Pro Forma Information for the three and six months ended June 30, 2021

The following pro forma information for the three and six months ended June 30, 2021 presents our results of operations as if the acquisition of FIH had occurred at the beginning of 2020. On October 30, 2020, FIH acquired Pridemore Case Holdings, Inc. (“Pride”), which expanded FIH’s operations. Therefore, we have included Pride’s results of operations for the three and six months ended June 30, 2020 in the pro forma information. 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 27.5% for the three and six months ended June 30, 2021 and 29.0% for the three and six months ended June 30, 2020.

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 FIH acquisition been completed on January 1, 2020. 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 June 30,

Six Months Ended June 30,

2021

    

2020

    

2021

    

2020

 

(unaudited)

(unaudited)

(unaudited)

(unaudited)

Revenue

$

881,610

$

998,327

$

1,704,385

$

1,074,083

Income before provision for income taxes

51,314

54,841

67,239

40,157

Net income attributable to Primoris

37,321

38,934

48,746

28,509

Weighted average common shares outstanding:

Basic

 

53,891

 

49,308

 

51,796

 

49,467

Diluted

 

54,466

 

49,813

 

52,318

 

49,927

Earnings per share:

Basic

$

0.69

$

0.79

$

0.94

$

0.58

Diluted

0.69

0.78

0.93

0.57

Asset Acquisition

On January 14, 2021, we acquired certain engineering assets for $2.3 million in cash. The identifiable assets acquired consisted primarily of customer relationship intangible assets which are being amortized over a five-year useful life. This asset acquisition is not material to our condensed consolidated financial statements.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue
6 Months Ended
Jun. 30, 2021
Revenue  
Revenue

Note 6—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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts. 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 June 30, 2021, we had $1.5 billion of remaining performance obligations. We expect to recognize approximately 73% of our remaining performance obligations as revenue during the next four quarters and substantially all of the remaining balance by the end of 2022.

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 six months ended June 30, 2021, revenue recognized from performance obligations satisfied in previous periods was $28.3 million and $39.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 June 30, 2021, we had approximately $83.5 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 $70.2 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through June 30, 2021.

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 arise 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):

June 30, 

December 31, 

    

2021

    

2020

Unbilled revenue

$

257,927

$

192,176

Retention receivable

109,979

115,877

Contract materials (not yet installed)

 

18,796

 

17,796

$

386,702

$

325,849

Contract assets increased by $60.9 million compared to December 31, 2020 primarily due to higher unbilled revenue, including $24.0 million related to the FIH acquisition.

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

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

the accrued loss provision

Contract liabilities consist of the following (in thousands):

June 30, 

December 31, 

    

2021

    

2020

Deferred revenue

$

202,122

$

252,781

Accrued loss provision

 

11,357

 

14,446

$

213,479

$

267,227

Contract liabilities decreased by $53.7 million compared to December 31, 2020 primarily due to lower deferred revenue.

Revenue recognized for the six months ended June 30, 2021, that was included in the contract liability balance at December 31, 2020, was approximately $210.0 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 June 30, 2021

Segment

MSA

Non-MSA

Total

Utilities

$

351,735

$

73,686

$

425,421

Energy/Renewables

43,278

291,732

335,010

Pipeline

 

18,187

102,992

121,179

Total

$

413,200

 

$

468,410

 

$

881,610

For the three months ended June 30, 2020

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

275,257

 

 

64,866

 

 

340,123

Energy/Renewables

27,237

251,297

278,534

Pipeline

 

32,817

256,742

 

289,559

Total

$

335,311

 

$

572,905

 

$

908,216

For the six months ended June 30, 2021

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

629,702

$

130,731

$

760,433

Energy/Renewables

85,864

602,010

687,874

Pipeline

 

35,897

215,735

251,632

Total

$

751,463

 

$

948,476

 

$

1,699,939

For the six months ended June 30, 2020

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

461,042

 

$

129,035

 

$

590,077

Energy/Renewables

65,128

515,172

580,300

Pipeline

 

79,549

 

 

401,533

 

 

481,082

Total

$

605,719

 

$

1,045,740

 

$

1,651,459

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

For the three months ended June 30, 2021

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

29,346

$

303,380

$

92,695

$

425,421

Energy/Renewables

163,362

87,068

84,580

335,010

Pipeline

 

91,112

969

29,098

121,179

Total

$

283,820

 

$

391,417

 

$

206,373

 

$

881,610

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

For the three months ended June 30, 2020

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

43,526

 

$

252,026

 

$

44,571

 

$

340,123

Energy/Renewables

136,702

94,760

47,072

278,534

Pipeline

 

24,006

 

 

150,331

 

 

115,222

 

 

289,559

Total

$

204,234

 

$

497,117

 

$

206,865

 

$

908,216

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

For the six months ended June 30, 2021

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

56,862

$

533,123

$

170,448

$

760,433

Energy/Renewables

351,596

165,811

170,467

687,874

Pipeline

 

204,269

1,634

45,729

251,632

Total

$

612,727

 

$

700,568

 

$

386,644

 

$

1,699,939

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

For the six months ended June 30, 2020

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

81,251

 

$

421,454

 

$

87,372

 

$

590,077

Energy/Renewables

301,411

170,388

108,501

580,300

Pipeline

 

39,351

 

 

232,161

 

 

209,570

 

 

481,082

Total

$

422,013

 

$

824,003

 

$

405,443

 

$

1,651,459

(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 26 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets
6 Months Ended
Jun. 30, 2021
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

Note 7—Goodwill and Intangible Assets

The change in goodwill by segment for the six months ended June 30, 2021 was as follows (in thousands):

Utilities

Energy/Renewables

Pipeline

Total

Balance at December 31, 2020

$

96,344

$

66,344

$

52,415

$

215,103

Goodwill acquired during the period

 

367,003

367,003

Balance at June 30, 2021

$

463,347

$

66,344

$

52,415

$

582,106

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

June 30, 2021

December 31, 2020

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradename

$

20,440

(17,142)

3,298

$

16,040

$

(14,793)

$

1,247

Customer relationships

 

211,227

(37,825)

173,402

 

91,000

 

(31,400)

 

59,600

Non-compete agreements

 

1,900

(1,790)

110

 

1,900

 

(1,735)

 

165

Total

$

233,567

$

(56,757)

$

176,810

$

108,940

$

(47,928)

$

61,012

Amortization expense of intangible assets was $4.7 million and $2.3 million for the three months ended June 30, 2021 and 2020, respectively, and $8.8 million and $4.7 million for the six months ended June 30, 2021 and 2020. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2021 (remaining six months)

$

9,290

2022

13,218

2023

 

12,200

2024

 

11,481

2025

 

10,759

Thereafter

 

119,862

$

176,810

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Accounts Payable and Accrued Liabilities
6 Months Ended
Jun. 30, 2021
Accounts Payable and Accrued Liabilities  
Accounts Payable and Accrued Liabilities

Note 8—Accounts Payable and Accrued Liabilities

At June 30, 2021 and December 31, 2020, accounts payable included retention amounts of approximately $16.3 million and $12.6 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):

June 30, 

December 31, 

    

2021

    

2020

Payroll and related employee benefits

$

105,872

$

81,088

Current operating lease liability

67,577

73,033

Casualty insurance reserves

 

5,251

 

8,365

Corporate income taxes and other taxes

 

17,917

 

13,783

Other

 

17,325

 

24,404

$

213,942

$

200,673

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.21.2
Credit Arrangements
6 Months Ended
Jun. 30, 2021
Credit Arrangements  
Credit Arrangements

Note 9—Credit Agreements

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

June 30, 

December 31, 

    

2021

    

2020

Term loan

$

535,094

$

192,500

Commercial equipment notes

86,283

85,783

Mortgage notes

 

38,144

 

38,795

Total debt

659,521

317,078

Unamortized debt issuance costs

(4,722)

(521)

Total debt, net

$

654,799

$

316,557

Less: current portion

 

(62,397)

 

(47,722)

Long-term debt, net of current portion

$

592,402

$

268,835

The weighted average interest rate on total debt outstanding at June 30, 2021 and December 31, 2020 was 2.9% and 3.7%, respectively.

Credit Agreement

On September 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing

capacity under the Revolving Credit Facility by up to $75.0 million. The Credit Agreement was scheduled to mature on July 9, 2023.

On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement (the “Amended Credit Agreement”) with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million (the “New Term Loan”) and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026.

In addition to the New Term Loan, the Amended Credit Agreement consists of the existing $200.0 million revolving credit facility (“Revolving Credit Facility”) whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount, and contains an accordion feature that would allow us to increase the New Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 million.

At June 30, 2021, there were no borrowings outstanding under the Revolving Credit Facility, commercial letters of credit outstanding were $48.9 million, and available borrowing capacity was $151.1 million.

Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $7.4 million, with the balance due on January 15, 2026. The first principal payment was paid on March 31, 2021.

The proceeds from the New Term Loan were used to finance the acquisition of FIH.

We capitalized $4.7 million of debt issuance costs during the first quarter of 2021 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement.

The principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) LIBOR plus an applicable margin as specified in the Amended Credit Agreement (based on our senior debt to EBITDA ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.5% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.

The principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million. During the six months ended June 30, 2021, we made additional payments on our New Term Loan of $42.6 million.

Loans made under the Credit Agreement and the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain of our domestic subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Credit Agreement and the Amended Credit Agreement.

The Credit Agreement and Amended Credit Agreement contain various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement and the Amended Credit Agreement include 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 June 30, 2021.

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 75% of the debt outstanding under our original Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin, which was 2.00% at June 30, 2021.

Canadian Credit Facilities

We have a demand credit facility for $4.0 million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada. At June 30, 2021, commercial letters of credit outstanding were $0.4 million

in Canadian dollars, and the available borrowing capacity was $3.6 million in Canadian dollars. The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary. At June 30, 2021, OnQuest Canada, ULC was in compliance with the covenant.

We have a credit facility for $10.0 million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (“Working Capital Credit Facility”). At June 30, 2021, there were no outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was $10.0 million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Amended Credit Agreement will represent a default in the Working Capital Credit Facility.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments
6 Months Ended
Jun. 30, 2021
Derivative Instruments  
Derivative Instruments

Note 10 — 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 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, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by a portion of the required principal payments made on the original Term Loan. The swap effectively changes 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 June 30, 2021, and December 31, 2020, our outstanding interest rate swap agreement contained a notional amount of $140.3 million and $144.4 million, respectively, with a maturity date of July 10, 2023.

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):

    

    

    

June 30, 

    

December 31, 

Balance Sheet Location

2021

2020

Interest rate swap

Other long-term liabilities

$

6,950

$

9,205

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

Six Months Ended

Location of (Gain) Loss Recognized

June 30, 

June 30, 

    

on Derivatives

    

2021

    

2020

2021

    

2020

 

Interest rate swap

 

Interest expense

$

40

$

838

$

(237)

$

6,273

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

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Income Taxes
6 Months Ended
Jun. 30, 2021
Income Taxes  
Income Taxes

Note 11—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.

We do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income (including and excluding noncontrolling interests) for the six months ended June 30, 2021 and 2020 was 27.5% and 29.0%, respectively. For the first six months of each of 2021 and 2020, 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.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2017. 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 2015.

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.

On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred FICA tax payments through the end of 2020 as allowed under the CARES Act. This deferral was $43.5 million at June 30, 2021, and is included in Accrued liabilities and Other long-term liabilities on our Condensed Consolidated Balance Sheet. Half of the deferral is due on December 31, 2021, and the other half is due on December 31, 2022.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Dividends and Earnings Per Share
6 Months Ended
Jun. 30, 2021
Dividends and Earnings Per Share  
Dividends and Earnings Per Share

Note 12—Dividends and Earnings Per Share

We paid cash dividends during 2021 and 2020 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 21, 2020

March 31, 2020

April 15, 2020

$

0.06

May 1, 2020

June 30, 2020

July 15, 2020

0.06

July 31, 2020

September 30, 2020

October 15, 2020

0.06

November 5, 2020

December 31, 2020

January 15, 2021

0.06

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

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 six months ended June 30, 2021 and 2020 (in thousands, except per share amounts).

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

    

2020

    

2021

    

2020

 

Numerator:

Net income attributable to Primoris

$

36,290

$

32,959

$

42,140

$

29,222

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,729

 

48,270

 

51,634

 

48,429

Dilutive effect of shares issued to independent directors

 

2

 

4

 

4

 

6

Dilutive effect of restricted stock units

 

554

 

394

 

499

 

347

Weighted average shares for computation of diluted earnings per share

 

54,285

 

48,668

 

52,137

 

48,782

Earnings per share attributable to Primoris:

Basic

$

0.68

$

0.68

$

0.82

$

0.60

Diluted

$

0.67

$

0.68

$

0.81

$

0.60

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity
6 Months Ended
Jun. 30, 2021
Stockholders' Equity  
Stockholders' Equity

Note 13—Stockholders’ Equity

Common stock

We issued 25,987 and 34,524 shares of common stock in the six months ended June 30, 2021 and 2020, 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.5 million and $0.6 million in the six months ended June 30, 2021 and 2020, 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 six months ended June 30, 2021 were a portion of bonus amounts earned in 2020, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2020. The shares purchased in the six months ended June 30, 2020 were for bonus amounts earned in 2019, and the number of shares was calculated at 75% of the average daily closing market price during December 2019.

During the three months ended June 30, 2021 and 2020, we issued 7,218 and 10,451 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During the six months ended June 30, 2021 and 2020, we issued 16,704 and 27,195 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 six months ended June 30, 2021, a total of 39,764 restricted stock units (“RSUs”), net of forfeitures for tax withholdings, were converted to common stock. There were 13,516 RSUs converted to common stock during the three and six months ended June 30, 2020.

In connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the six months ended June 30, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1 million in stock compensation expense included in Transaction and related costs in the Condensed Consolidated Statement of Income.

Secondary Offering

In March 2021, we entered into an underwriting agreement with Goldman Sachs & Co. LLC, Morgan Stanley & Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred under our Amended Credit Agreement in connection with the acquisition of FIH.

Share Repurchase Plan

In February 2020, our Board of Directors authorized a $25.0 million share repurchase program. Under the share repurchase program, we could, 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 the three months ended June 30, 2020, we purchased and cancelled 57,731 shares of common stock, which in the aggregate equaled $0.9 million at an average share price of $16.46. In the six months ended June 30, 2020, we purchased and cancelled 519,562 shares of common stock, which in the aggregate equaled $8.3 million at an average share price of $16.06. The share repurchase plan expired on December 31, 2020.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Leases
6 Months Ended
Jun. 30, 2021
Leases  
Leases

Note 14—Leases

We lease administrative and various 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 2030, 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 June 30, 

Six Months Ended June 30, 

2021

2020

    

2021

2020

Operating lease expense (1)

$

21,168

$

23,153

$

42,824

$

46,131

________________________________________

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

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

June 30, 

December 31, 

    

2021

2020

Accrued liabilities

$

67,577

$

73,033

Noncurrent operating lease liabilities, net of current portion

 

123,638

 

137,913

$

191,215

$

210,946

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2021
Commitments and Contingencies.  
Commitments and Contingencies

Note 15—Commitments and Contingencies

Legal proceedingsWe 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 other 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 June 30, 2021 and December 31, 2020, we had bid and completion bonds issued and outstanding totaling approximately $2.6 billion and $3.2 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $566.8 million and $696.0 million at June 30, 2021 and December 31, 2020, respectively.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Reportable Segments
6 Months Ended
Jun. 30, 2021
Reportable Segments  
Reportable Segments

Note 16—Reportable Segments

Through the end of 2020, we segregated our business into five reportable segments: the Power, Industrial and Engineering segment, the Pipeline and Underground segment, the Utilities and Distribution segment, the Transmission and Distribution segment, and the Civil segment. In the first quarter of 2021, we changed our reportable segments in connection with 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, the Energy/Renewables segment, and the Pipeline segment. Segment information for prior periods has been restated to conform to the new segment presentation.

Each of our reportable segments is comprised 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 telecommunications and installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems.

The Energy/Renewables 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, 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.

The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.

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 CODM 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 June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

425,421

 

48.3%

$

340,123

 

37.4%

Energy/Renewables

335,010

38.0%

278,534

30.7%

Pipeline

 

121,179

 

13.7%

 

289,559

 

31.9%

Total

$

881,610

 

100.0%

$

908,216

 

100.0%

For the six months ended June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

760,433

 

44.7%

$

590,077

 

35.7%

Energy/Renewables

687,874

40.5%

580,300

35.1%

Pipeline

 

251,632

 

14.8%

 

481,082

 

29.2%

Total

$

1,699,939

 

100.0%

$

1,651,459

 

100.0%

Segment Gross Profit

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

For the three months ended June 30, 

2021

2020

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

48,849

 

11.5%

$

55,837

 

16.4%

Energy/Renewables

33,232

9.9%

18,100

6.5%

Pipeline

 

30,945

 

25.5%

 

27,030

 

9.3%

Total

$

113,026

 

12.8%

$

100,967

 

11.1%

For the six months ended June 30, 

2021

2020

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

70,565

 

9.3%

$

62,151

 

10.5%

Energy/Renewables

75,904

11.0%

43,104

7.4%

Pipeline

 

46,738

 

18.6%

 

43,522

 

9.0%

Total

$

193,207

 

11.4%

$

148,777

 

9.0%

Segment Goodwill

The amount of goodwill recorded by each segment at June 30, 2021 and at December 31, 2020 is presented in Note 7 – “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 4.0% and 3.3% generated from sources outside of the United States during the six months ended June 30, 2021 and 2020, respectively, principally in Canada. At June 30, 2021 and December 31, 2020, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Event
6 Months Ended
Jun. 30, 2021
Subsequent Event  
Subsequent Event

Note 17—Subsequent Events

Cash Dividend

On August 3, 2021, the Board of Directors declared a cash dividend of $0.06 per share of common stock for stockholders of record as of September 30, 2021, payable on or about October 15, 2021.

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation (Policies)
6 Months Ended
Jun. 30, 2021
Basis of Presentation  
Reclassification

Reclassification — Certain previously reported amounts have been reclassified to conform to the current year presentation.

Revenue recognition

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 primarily on an input basis, based on contract costs incurred as defined within the respective contracts. 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 June 30, 2021, we had $1.5 billion of remaining performance obligations. We expect to recognize approximately 73% of our remaining performance obligations as revenue during the next four quarters and substantially all of the remaining balance by the end of 2022.

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 six months ended June 30, 2021, revenue recognized from performance obligations satisfied in previous periods was $28.3 million and $39.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 June 30, 2021, we had approximately $83.5 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 $70.2 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through June 30, 2021.

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 arise 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.
Customer concentration

Customer concentration — We operate in multiple industry segments 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 50% of total revenue; however, the companies that comprise the top ten vary from year to year.

For the three and six months ended June 30, 2021, approximately 42.3% and 43.6%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than ten percent of our total revenue.

For the three and six months ended June 30, 2020, approximately 52.3% and 50.7%, respectively, of total revenue was generated from our top ten customers. For the three and six months ended June 30, 2020, one pipeline customer represented approximately 15.6% and 13.6% of total revenue, respectively.

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2021
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 June 30, 2021 and December 31, 2020 (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 June 30, 2021:

Cash and cash equivalents

$

177,979

 

$

 

$

Liabilities as of June 30, 2021:

Interest rate swap

$

$

6,950

$

Assets as of December 31, 2020:

Cash and cash equivalents

$

326,744

 

$

 

$

Liabilities as of December 31, 2020:

Interest rate swap

$

$

9,205

$

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.21.2
Acquisitions (Tables) - FIH
6 Months Ended
Jun. 30, 2021
Acquisitions  
Summary of the identifiable assets acquired and liabilities assumed

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash acquired

(10,525)

Net cash paid

$

604,724

Preliminary identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

55,402

Contract assets

32,676

Prepaid expenses and other current assets

483

Property, plant and equipment

57,102

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

118,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(27,206)

Contract liabilities

(2,671)

Total debt

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(8,612)

Total identifiable net assets

248,246

Goodwill

367,003

Total purchase consideration

$

615,249

Schedule of pro forma results 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 June 30,

Six Months Ended June 30,

2021

    

2020

    

2021

    

2020

 

(unaudited)

(unaudited)

(unaudited)

(unaudited)

Revenue

$

881,610

$

998,327

$

1,704,385

$

1,074,083

Income before provision for income taxes

51,314

54,841

67,239

40,157

Net income attributable to Primoris

37,321

38,934

48,746

28,509

Weighted average common shares outstanding:

Basic

 

53,891

 

49,308

 

51,796

 

49,467

Diluted

 

54,466

 

49,813

 

52,318

 

49,927

Earnings per share:

Basic

$

0.69

$

0.79

$

0.94

$

0.58

Diluted

0.69

0.78

0.93

0.57

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue (Tables)
6 Months Ended
Jun. 30, 2021
Revenue  
Schedule of contract assets

Contract assets consist of the following (in thousands):

June 30, 

December 31, 

    

2021

    

2020

Unbilled revenue

$

257,927

$

192,176

Retention receivable

109,979

115,877

Contract materials (not yet installed)

 

18,796

 

17,796

$

386,702

$

325,849

Schedule of contract liabilities

Contract liabilities consist of the following (in thousands):

June 30, 

December 31, 

    

2021

    

2020

Deferred revenue

$

202,122

$

252,781

Accrued loss provision

 

11,357

 

14,446

$

213,479

$

267,227

Schedule of revenue disaggregation by various categories

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

For the three months ended June 30, 2021

Segment

MSA

Non-MSA

Total

Utilities

$

351,735

$

73,686

$

425,421

Energy/Renewables

43,278

291,732

335,010

Pipeline

 

18,187

102,992

121,179

Total

$

413,200

 

$

468,410

 

$

881,610

For the three months ended June 30, 2020

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

275,257

 

 

64,866

 

 

340,123

Energy/Renewables

27,237

251,297

278,534

Pipeline

 

32,817

256,742

 

289,559

Total

$

335,311

 

$

572,905

 

$

908,216

For the six months ended June 30, 2021

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

629,702

$

130,731

$

760,433

Energy/Renewables

85,864

602,010

687,874

Pipeline

 

35,897

215,735

251,632

Total

$

751,463

 

$

948,476

 

$

1,699,939

For the six months ended June 30, 2020

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

461,042

 

$

129,035

 

$

590,077

Energy/Renewables

65,128

515,172

580,300

Pipeline

 

79,549

 

 

401,533

 

 

481,082

Total

$

605,719

 

$

1,045,740

 

$

1,651,459

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

For the three months ended June 30, 2021

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

29,346

$

303,380

$

92,695

$

425,421

Energy/Renewables

163,362

87,068

84,580

335,010

Pipeline

 

91,112

969

29,098

121,179

Total

$

283,820

 

$

391,417

 

$

206,373

 

$

881,610

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

For the three months ended June 30, 2020

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

43,526

 

$

252,026

 

$

44,571

 

$

340,123

Energy/Renewables

136,702

94,760

47,072

278,534

Pipeline

 

24,006

 

 

150,331

 

 

115,222

 

 

289,559

Total

$

204,234

 

$

497,117

 

$

206,865

 

$

908,216

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

For the six months ended June 30, 2021

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

56,862

$

533,123

$

170,448

$

760,433

Energy/Renewables

351,596

165,811

170,467

687,874

Pipeline

 

204,269

1,634

45,729

251,632

Total

$

612,727

 

$

700,568

 

$

386,644

 

$

1,699,939

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

For the six months ended June 30, 2020

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

81,251

 

$

421,454

 

$

87,372

 

$

590,077

Energy/Renewables

301,411

170,388

108,501

580,300

Pipeline

 

39,351

 

 

232,161

 

 

209,570

 

 

481,082

Total

$

422,013

 

$

824,003

 

$

405,443

 

$

1,651,459

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

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets (Tables)
6 Months Ended
Jun. 30, 2021
Goodwill and Intangible Assets  
Summary of intangible asset categories, amounts and the average amortization periods

The change in goodwill by segment for the six months ended June 30, 2021 was as follows (in thousands):

Utilities

Energy/Renewables

Pipeline

Total

Balance at December 31, 2020

$

96,344

$

66,344

$

52,415

$

215,103

Goodwill acquired during the period

 

367,003

367,003

Balance at June 30, 2021

$

463,347

$

66,344

$

52,415

$

582,106

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

June 30, 2021

December 31, 2020

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradename

$

20,440

(17,142)

3,298

$

16,040

$

(14,793)

$

1,247

Customer relationships

 

211,227

(37,825)

173,402

 

91,000

 

(31,400)

 

59,600

Non-compete agreements

 

1,900

(1,790)

110

 

1,900

 

(1,735)

 

165

Total

$

233,567

$

(56,757)

$

176,810

$

108,940

$

(47,928)

$

61,012

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

2021 (remaining six months)

$

9,290

2022

13,218

2023

 

12,200

2024

 

11,481

2025

 

10,759

Thereafter

 

119,862

$

176,810

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Accounts Payable and Accrued Liabilities (Tables)
6 Months Ended
Jun. 30, 2021
Accounts Payable and Accrued Liabilities  
Summary of accrued liabilities

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

June 30, 

December 31, 

    

2021

    

2020

Payroll and related employee benefits

$

105,872

$

81,088

Current operating lease liability

67,577

73,033

Casualty insurance reserves

 

5,251

 

8,365

Corporate income taxes and other taxes

 

17,917

 

13,783

Other

 

17,325

 

24,404

$

213,942

$

200,673

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Credit Arrangements (Tables)
6 Months Ended
Jun. 30, 2021
Credit Arrangements  
Schedule of long-term debt and credit facilities

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

June 30, 

December 31, 

    

2021

    

2020

Term loan

$

535,094

$

192,500

Commercial equipment notes

86,283

85,783

Mortgage notes

 

38,144

 

38,795

Total debt

659,521

317,078

Unamortized debt issuance costs

(4,722)

(521)

Total debt, net

$

654,799

$

316,557

Less: current portion

 

(62,397)

 

(47,722)

Long-term debt, net of current portion

$

592,402

$

268,835

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments (Tables)
6 Months Ended
Jun. 30, 2021
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):

    

    

    

June 30, 

    

December 31, 

Balance Sheet Location

2021

2020

Interest rate swap

Other long-term liabilities

$

6,950

$

9,205

Schedule of derivative instruments within the Condensed Consolidated Statements of Income

Three Months Ended

Six Months Ended

Location of (Gain) Loss Recognized

June 30, 

June 30, 

    

on Derivatives

    

2021

    

2020

2021

    

2020

 

Interest rate swap

 

Interest expense

$

40

$

838

$

(237)

$

6,273

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Dividends and Earnings Per Share (Tables)
6 Months Ended
Jun. 30, 2021
Dividends and Earnings Per Share  
Schedule of cash dividends paid or declared

We paid cash dividends during 2021 and 2020 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 21, 2020

March 31, 2020

April 15, 2020

$

0.06

May 1, 2020

June 30, 2020

July 15, 2020

0.06

July 31, 2020

September 30, 2020

October 15, 2020

0.06

November 5, 2020

December 31, 2020

January 15, 2021

0.06

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

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 six months ended June 30, 2021 and 2020 (in thousands, except per share amounts).

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

    

2020

    

2021

    

2020

 

Numerator:

Net income attributable to Primoris

$

36,290

$

32,959

$

42,140

$

29,222

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,729

 

48,270

 

51,634

 

48,429

Dilutive effect of shares issued to independent directors

 

2

 

4

 

4

 

6

Dilutive effect of restricted stock units

 

554

 

394

 

499

 

347

Weighted average shares for computation of diluted earnings per share

 

54,285

 

48,668

 

52,137

 

48,782

Earnings per share attributable to Primoris:

Basic

$

0.68

$

0.68

$

0.82

$

0.60

Diluted

$

0.67

$

0.68

$

0.81

$

0.60

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Leases (Tables)
6 Months Ended
Jun. 30, 2021
Leases  
Summary of components of lease expense

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

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

2020

    

2021

2020

Operating lease expense (1)

$

21,168

$

23,153

$

42,824

$

46,131

________________________________________

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

June 30, 

December 31, 

    

2021

2020

Accrued liabilities

$

67,577

$

73,033

Noncurrent operating lease liabilities, net of current portion

 

123,638

 

137,913

$

191,215

$

210,946

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Reportable Segments (Tables)
6 Months Ended
Jun. 30, 2021
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 June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

425,421

 

48.3%

$

340,123

 

37.4%

Energy/Renewables

335,010

38.0%

278,534

30.7%

Pipeline

 

121,179

 

13.7%

 

289,559

 

31.9%

Total

$

881,610

 

100.0%

$

908,216

 

100.0%

For the six months ended June 30, 

2021

2020

% of

% of

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

Utilities

$

760,433

 

44.7%

$

590,077

 

35.7%

Energy/Renewables

687,874

40.5%

580,300

35.1%

Pipeline

 

251,632

 

14.8%

 

481,082

 

29.2%

Total

$

1,699,939

 

100.0%

$

1,651,459

 

100.0%

Segment Gross Profit

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

For the three months ended June 30, 

2021

2020

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

48,849

 

11.5%

$

55,837

 

16.4%

Energy/Renewables

33,232

9.9%

18,100

6.5%

Pipeline

 

30,945

 

25.5%

 

27,030

 

9.3%

Total

$

113,026

 

12.8%

$

100,967

 

11.1%

For the six months ended June 30, 

2021

2020

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

70,565

 

9.3%

$

62,151

 

10.5%

Energy/Renewables

75,904

11.0%

43,104

7.4%

Pipeline

 

46,738

 

18.6%

 

43,522

 

9.0%

Total

$

193,207

 

11.4%

$

148,777

 

9.0%

XML 48 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Nature of Business (Details) - segment
6 Months Ended 12 Months Ended
Jun. 30, 2021
Dec. 31, 2020
Nature of Business    
Number of reportable segments 3 5
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation (Details)
3 Months Ended 6 Months Ended
Jun. 30, 2021
customer
Jun. 30, 2020
Jun. 30, 2021
item
customer
Jun. 30, 2020
Customer concentration        
Number of top customers | customer     10  
Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item     1  
Minimum percentage of revenues generated by top ten customers     50.00%  
Revenues | Customer concentration | Top ten customers        
Customer concentration        
Number of top customers 10 10 10 10
Percentage of concentration risk 42.30% 52.30% 43.60% 50.70%
Revenues | Customer concentration | Pipeline Customer        
Customer concentration        
Percentage of concentration risk   15.60%   13.60%
Number of customers   1   1
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Details) - Recurring - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Quoted Prices in Active Markets for Identical Assets (Level 1)    
Assets    
Cash and cash equivalents $ 177,979 $ 326,744
Interest rate swap | Significant Other Observable Inputs (Level2)    
Liabilities    
Derivative liability $ 6,950 $ 9,205
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Acquisitions - 2021 Acquisitions (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jan. 15, 2021
Jan. 14, 2021
Jun. 30, 2021
Jun. 30, 2021
Jun. 30, 2021
Dec. 31, 2020
Acquisitions            
Net cash paid       $ 606,974    
Fair value of net assets acquired            
Goodwill     $ 582,106 582,106 $ 582,106 $ 215,103
Transaction and related costs     480 $ 14,376    
Employees of Future Infrastructure Holdings, LLC            
Fair value of net assets acquired            
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Purchase Date       15.00%    
FIH            
Acquisitions            
Reduction in purchase consideration     (6,500)      
adjustments to goodwill     (6,700)      
Total purchase consideration $ 615,249          
Less cash acquired (10,525)          
Net cash paid 604,724          
Fair value of net assets acquired            
Cash and cash equivalents 10,525          
Accounts receivable 55,402          
Contract assets 32,676          
Prepaid expenses and other current assets 483          
Property, plant and equipment 57,102          
Operating lease assets 13,105          
Other long-term assets 6,976          
Accounts payable and accrued liabilities (27,206)          
Contract liabilities (2,671)          
Total debt (959)          
Noncurrent operating lease liabilities, net of current (10,975)          
Other long-term liabilities (8,612)          
Total identifiable net assets 248,246          
Goodwill $ 367,003          
Goodwill is expected to be deductible for income tax purposes (in years) 15 years          
Revenue since acquisition     72,700   133,400  
Gross profit since acquisition     10,700   $ 20,500  
Transaction and related costs     $ 300 $ 13,800    
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Purchase Date       15.00%    
FIH | Customer relationships            
Fair value of net assets acquired            
Intangibles assets $ 118,000          
Useful life 19 years          
FIH | Tradenames            
Fair value of net assets acquired            
Intangibles assets $ 4,400          
Useful life 1 year          
Assets Acquisition | Customer relationships            
Acquisitions            
Acquired in Cash   $ 2,300        
Fair value of net assets acquired            
Useful life   5 years        
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Acquisitions - Pro Forma Information (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Pro forma results        
Tax rate 27.50% 29.00% 27.50% 29.00%
Revenue $ 881,610 $ 998,327 $ 1,704,385 $ 1,074,083
Income before provision for income taxes 51,314 54,841 67,239 40,157
Net income attributable to Primoris $ 37,321 $ 38,934 $ 48,746 $ 28,509
Weighted average common shares outstanding:        
Basic (in shares) 53,891 49,308 51,796 49,467
Diluted (in shares) 54,466 49,813 52,318 49,927
Earnings per share:        
Basic (in dollars per share) $ 0.69 $ 0.79 $ 0.94 $ 0.58
Diluted (in dollars per share) $ 0.69 $ 0.78 $ 0.93 $ 0.57
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Performance obligations (Details)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2021
USD ($)
Jun. 30, 2021
USD ($)
Revenue    
Remaining performance obligations $ 1,500.0 $ 1,500.0
Revenue recognized from performance obligations satisfied in previous periods 28.3 39.0
Amount of contract modifications included in the expected contract value. $ 83.5 83.5
Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis   $ 70.2
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Performance obligations - 2021 (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01
6 Months Ended
Jun. 30, 2021
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 12 months
Percentage of remaining performance obligation expected to be recognized in period 73.00%
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Contract assets (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Dec. 31, 2020
Unbilled revenue $ 257,927 $ 192,176
Retention receivable 109,979 115,877
Contract materials (not yet installed) 18,796 17,796
Contract assets 386,702 $ 325,849
Increase (decrease) in contract assets 60,900  
FIH    
Unbilled revenue $ 24,000  
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Contract liabilities (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Dec. 31, 2020
Revenue    
Deferred revenue $ 202,122 $ 252,781
Accrued loss provision 11,357 14,446
Contract liabilities 213,479 $ 267,227
Increase in contract liabilities 53,700  
Revenue recognized included in contract liability at beginning of period $ 210,000  
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Disaggregation of Revenue        
Revenue $ 881,610 $ 908,216 $ 1,699,939 $ 1,651,459
Fixed price        
Disaggregation of Revenue        
Revenue 283,820 204,234 612,727 422,013
Unit price        
Disaggregation of Revenue        
Revenue 391,417 497,117 700,568 824,003
Cost reimbursable        
Disaggregation of Revenue        
Revenue 206,373 206,865 386,644 405,443
MSA        
Disaggregation of Revenue        
Revenue 413,200 335,311 751,463 605,719
Non-MSA        
Disaggregation of Revenue        
Revenue 468,410 572,905 948,476 1,045,740
Utilities        
Disaggregation of Revenue        
Revenue 425,421 340,123 760,433 590,077
Utilities | Fixed price        
Disaggregation of Revenue        
Revenue 29,346 43,526 56,862 81,251
Utilities | Unit price        
Disaggregation of Revenue        
Revenue 303,380 252,026 533,123 421,454
Utilities | Cost reimbursable        
Disaggregation of Revenue        
Revenue 92,695 44,571 170,448 87,372
Utilities | MSA        
Disaggregation of Revenue        
Revenue 351,735 275,257 629,702 461,042
Utilities | Non-MSA        
Disaggregation of Revenue        
Revenue 73,686 64,866 130,731 129,035
Energy/Renewables        
Disaggregation of Revenue        
Revenue 335,010 278,534 687,874 580,300
Energy/Renewables | Fixed price        
Disaggregation of Revenue        
Revenue 163,362 136,702 351,596 301,411
Energy/Renewables | Unit price        
Disaggregation of Revenue        
Revenue 87,068 94,760 165,811 170,388
Energy/Renewables | Cost reimbursable        
Disaggregation of Revenue        
Revenue 84,580 47,072 170,467 108,501
Energy/Renewables | MSA        
Disaggregation of Revenue        
Revenue 43,278 27,237 85,864 65,128
Energy/Renewables | Non-MSA        
Disaggregation of Revenue        
Revenue 291,732 251,297 602,010 515,172
Pipeline Services        
Disaggregation of Revenue        
Revenue 121,179 289,559 251,632 481,082
Pipeline Services | Fixed price        
Disaggregation of Revenue        
Revenue 91,112 24,006 204,269 39,351
Pipeline Services | Unit price        
Disaggregation of Revenue        
Revenue 969 150,331 1,634 232,161
Pipeline Services | Cost reimbursable        
Disaggregation of Revenue        
Revenue 29,098 115,222 45,729 209,570
Pipeline Services | MSA        
Disaggregation of Revenue        
Revenue 18,187 32,817 35,897 79,549
Pipeline Services | Non-MSA        
Disaggregation of Revenue        
Revenue $ 102,992 $ 256,742 $ 215,735 $ 401,533
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Goodwill (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2021
USD ($)
Goodwill  
Goodwill, Beginning Balance $ 215,103
Goodwill acquired during the period 367,003
Goodwill, Ending Balance 582,106
Utilities  
Goodwill  
Goodwill, Beginning Balance 96,344
Goodwill acquired during the period 367,003
Goodwill, Ending Balance 463,347
Energy/Renewables  
Goodwill  
Goodwill, Beginning Balance 66,344
Goodwill, Ending Balance 66,344
Pipeline Services  
Goodwill  
Goodwill, Beginning Balance 52,415
Goodwill, Ending Balance $ 52,415
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Intangible assets          
Gross Carrying Amount $ 233,567   $ 233,567   $ 108,940
Accumulated Amortization (56,757)   (56,757)   (47,928)
Intangible assets, net 176,810   176,810   61,012
Amortization expense of intangible assets 4,700 $ 2,300 8,800 $ 4,700  
Estimated future amortization expense for intangible assets          
2021 (remaining six months) 9,290   9,290    
2022 13,218   13,218    
2023 12,200   12,200    
2024 11,481   11,481    
2025 10,759   10,759    
Thereafter 119,862   119,862    
Intangible assets, net 176,810   176,810   61,012
Tradenames          
Intangible assets          
Gross Carrying Amount 20,440   20,440   16,040
Accumulated Amortization (17,142)   (17,142)   (14,793)
Intangible assets, net 3,298   3,298   1,247
Estimated future amortization expense for intangible assets          
Intangible assets, net 3,298   3,298   1,247
Customer relationships          
Intangible assets          
Gross Carrying Amount 211,227   211,227   91,000
Accumulated Amortization (37,825)   (37,825)   (31,400)
Intangible assets, net 173,402   173,402   59,600
Estimated future amortization expense for intangible assets          
Intangible assets, net 173,402   173,402   59,600
Non-compete agreements          
Intangible assets          
Gross Carrying Amount 1,900   1,900   1,900
Accumulated Amortization (1,790)   (1,790)   (1,735)
Intangible assets, net 110   110   165
Estimated future amortization expense for intangible assets          
Intangible assets, net $ 110   $ 110   $ 165
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Accounts Payable and Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Accounts Payable and Accrued Liabilities    
Retention amounts included in accounts payable $ 16,300 $ 12,600
Accrued liabilities    
Payroll and related employee benefits 105,872 81,088
Current operating lease liability 67,577 73,033
Casualty insurance reserves 5,251 8,365
Corporate income taxes and other taxes 17,917 13,783
Other 17,325 24,404
Total accrued liabilities $ 213,942 $ 200,673
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Credit Arrangements (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Credit arrangements    
Total debt $ 659,521 $ 317,078
Unamortized debt issuance costs (4,722) (521)
Total debt, net 654,799 316,557
Current portion of long-term debt (62,397) (47,722)
Long-term debt, net of current portion 592,402 268,835
Term Loan    
Credit arrangements    
Total debt 535,094 192,500
Commercial equipment notes    
Credit arrangements    
Total debt 86,283 85,783
Mortgages    
Credit arrangements    
Total debt $ 38,144 $ 38,795
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Credit Arrangements - Narrative (Details)
$ in Thousands, $ in Millions
6 Months Ended
Jan. 15, 2021
USD ($)
Sep. 18, 2018
Aug. 03, 2018
USD ($)
Jun. 30, 2021
USD ($)
Jun. 30, 2020
USD ($)
Jun. 30, 2021
CAD ($)
Jun. 30, 2021
USD ($)
Mar. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Sep. 29, 2017
USD ($)
Credit arrangements                    
Weighted average interest rate (as a percent)           2.90% 2.90%   3.70%  
Unamortized Debt Issuance Expense             $ 4,722   $ 521  
Repayments of Long-term Debt       $ 79,515 $ 32,469          
Aggregate principal amount             654,799   $ 316,557  
Revolving Credit Facility                    
Credit arrangements                    
Maximum borrowing capacity $ 200,000                  
Potential increase per the agreement 75,000                  
Borrowings outstanding             0      
Commercial letters of credit                    
Credit arrangements                    
Maximum borrowing capacity $ 200,000                  
Letters of credit outstanding             48,900      
Credit Agreement                    
Credit arrangements                    
Potential increase per the agreement     $ 75,000              
Unamortized Debt Issuance Expense               $ 4,700    
Percentage of credit agreement, threshold restriction of total assets 20.00%                  
Prepayment to be paid on debt $ 5,000                  
Credit Agreement | Federal funds rate                    
Credit arrangements                    
Basis spread on variable rate (as a percent) 0.50%                  
Credit Agreement | Revolving Credit Facility                    
Credit arrangements                    
Maximum borrowing capacity                   $ 200,000
Available borrowing capacity             $ 151,100      
Credit Agreement | Commercial letters of credit                    
Credit arrangements                    
Maximum borrowing capacity                   $ 200,000
Term Loan                    
Credit arrangements                    
Principal amount     $ 220,000              
Quarterly principal payment $ 7,400                  
Interest rate swap agreement   75.00%                
Derivative fixed interest rate (as a percent)   2.89%                
Repayments of Long-term Debt       $ 42,600            
Increases of term loan 400,000                  
Aggregate principal amount $ 592,500                  
Term Loan | LIBOR                    
Credit arrangements                    
Interest margin           2.00% 2.00%      
Canadian Credit Facility                    
Credit arrangements                    
Maximum borrowing capacity           $ 4.0        
Available borrowing capacity           3.6        
Canadian Credit Facility | Commercial letters of credit                    
Credit arrangements                    
Letters of credit outstanding           0.4        
Working Capital Credit Facility                    
Credit arrangements                    
Maximum borrowing capacity           10.0        
Borrowings outstanding           0.0        
Available borrowing capacity           $ 10.0        
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments (Details)
$ in Millions
6 Months Ended
Jun. 30, 2021
USD ($)
instrument
Dec. 31, 2020
USD ($)
Sep. 13, 2018
USD ($)
Derivative Instruments      
Number of Instruments used for trading | instrument 0    
Interest rate swap      
Derivative Instruments      
Notional Amount | $ $ 140.3 $ 144.4 $ 165.0
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Derivative Instruments - Derivative contract and instruments (Details) - Interest rate swap - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Interest expense          
Derivative Instruments          
Amount of loss recognized on derivatives, net $ 40 $ 838 $ (237) $ 6,273  
Other long-term liabilities          
Derivative Instruments          
Liability Derivatives $ 6,950   $ 6,950   $ 9,205
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Income Taxes (Details) - USD ($)
$ in Millions
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Income Taxes    
Effective tax rate on income 27.50% 29.00%
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  
Deferred FICA tax payments reserve $ 43.5  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Dividends and Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
May 04, 2021
Feb. 19, 2021
Nov. 05, 2020
Jul. 31, 2020
May 01, 2020
Feb. 21, 2020
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dividends and 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.12 $ 0.12
Numerator:                    
Net (loss) income attributable to Primoris             $ 36,290 $ 32,959 $ 42,140 $ 29,222
Denominator:                    
Weighted average shares for computation of basic earnings per share             53,729 48,270 51,634 48,429
Dilutive effect of shares issued to independent directors             2 4 4 6
Dilutive effect of restricted stock units             554 394 499 347
Weighted average shares for computation of diluted earnings per share             54,285 48,668 52,137 48,782
Earnings (loss) per share attributable to Primoris:                    
Basic earnings per share (in dollars per share)             $ 0.68 $ 0.68 $ 0.82 $ 0.60
Diluted earnings per share (in dollars per share)             $ 0.67 $ 0.68 $ 0.81 $ 0.60
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 6 Months Ended
Mar. 31, 2021
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Feb. 29, 2020
Common Stock              
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares)     13,516   13,516    
Proceeds from issuance of common stock       $ 178,712 $ 578    
Common Stock, Par or Stated Value Per Share   $ 0.0001   $ 0.0001   $ 0.0001  
Share repurchase plan              
Aggregate purchase price up to which shares can be acquired under share repurchase program             $ 25,000
Number of shares purchased under share repurchase program     57,731   519,562    
Amount paid for shares purchased under share repurchase program     $ 900   $ 8,300    
Amount paid for shares purchased and cancelled under share repurchase program (per share)     $ 16.46   $ 16.06    
Employees of Future Infrastructure Holdings, LLC              
Common Stock              
Discounted price from the average December market price at which shares purchased by participants in LTR Plan (as a percent)       15.00%      
Issuance of shares, net of issuance costs (Shares)       1,038,309      
Proceeds from issuance of common stock       $ 28,900      
Compensation expense recognized       $ 5,100      
Restricted Stock Units              
Common Stock              
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares)   39,764   39,764      
LTR Plan              
Common Stock              
Shares of common stock issued under the long-term incentive plan       25,987 34,524    
Amount received in exchange for shares of common stock under a long term incentive plan       $ 500 $ 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   7,218 10,451 16,704 27,195    
Secondary offering              
Common Stock              
Issuance of shares, net of issuance costs (Shares) 4,500,000            
Proceeds from issuance of common stock $ 149,300            
Common Stock, Par or Stated Value Per Share $ 0.0001            
Share price (in dollars per share) $ 35.00            
Proceeds from Issuance of Common Stock Gross $ 157,500            
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Leases - Components of Lease Expense and Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Options to extend leases     true    
Components of lease expense          
Operating lease expense $ 21,168 $ 23,153 $ 42,824 $ 46,131  
Operating lease liabilities          
Accrued liabilities $ 67,577   $ 67,577   $ 73,033
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 $ 123,638   $ 123,638   $ 137,913
Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List] Noncurrent operating lease liabilities, net of current portion   Noncurrent operating lease liabilities, net of current portion   Noncurrent operating lease liabilities, net of current portion
Operating lease liabilities $ 191,215   $ 191,215   $ 210,946
Maximum          
Renewal term 5 years   5 years    
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Legal (Details) - USD ($)
$ in Millions
Jun. 30, 2021
Dec. 31, 2020
Commitments and Contingencies.    
Bid and completion bonds issued and outstanding $ 2.6 $ 3.2
Remaining performance obligation on the bonded projects. $ 566.8 $ 696.0
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.21.2
Reportable Segments (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2021
USD ($)
Jun. 30, 2020
USD ($)
Jun. 30, 2021
USD ($)
segment
Jun. 30, 2020
USD ($)
Dec. 31, 2020
segment
Segment reporting information          
Number of reportable segments | segment     3   5
Revenue $ 881,610 $ 908,216 $ 1,699,939 $ 1,651,459  
% of Total Revenue 100.00% 100.00% 100.00% 100.00%  
Gross Profit $ 113,026 $ 100,967 $ 193,207 $ 148,777  
% of Revenue 12.80% 11.10% 11.40% 9.00%  
Utilities          
Segment reporting information          
Revenue $ 425,421 $ 340,123 $ 760,433 $ 590,077  
% of Total Revenue 48.30% 37.40% 44.70% 35.70%  
Gross Profit $ 48,849 $ 55,837 $ 70,565 $ 62,151  
% of Revenue 11.50% 16.40% 9.30% 10.50%  
Energy/Renewables          
Segment reporting information          
Revenue $ 335,010 $ 278,534 $ 687,874 $ 580,300  
% of Total Revenue 38.00% 30.70% 40.50% 35.10%  
Gross Profit $ 33,232 $ 18,100 $ 75,904 $ 43,104  
% of Revenue 9.90% 6.50% 11.00% 7.40%  
Pipeline Services          
Segment reporting information          
Revenue $ 121,179 $ 289,559 $ 251,632 $ 481,082  
% of Total Revenue 13.70% 31.90% 14.80% 29.20%  
Gross Profit $ 30,945 $ 27,030 $ 46,738 $ 43,522  
% of Revenue 25.50% 9.30% 18.60% 9.00%  
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.21.2
Reportable Segments - Revenue and Total Assets by Geographic Area (Details)
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
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     4.00% 3.30%  
% of total assets     3.40%   3.90%
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Event (Details) - $ / shares
3 Months Ended 6 Months Ended
Aug. 03, 2021
May 04, 2021
Feb. 19, 2021
Nov. 05, 2020
Jul. 31, 2020
May 01, 2020
Feb. 21, 2020
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Subsequent Event                      
Cash dividend declared (in dollars per share)   $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.12 $ 0.12
Subsequent Events                      
Subsequent Event                      
Cash dividend declared (in dollars per share) $ 0.06                    
EXCEL 73 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( .Z- U,'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 " #NC0-33TQ-GN\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O:05E=#E9<,G!<&!XEM(;EM8TX;DI-VW-ZU;A^@'\#%W__SN M=W"-"=+T$5]B'S"2PW0S^K9+TH05.Q %"9#, ;U.94YTN;GKH]>4GW$/09NC MWB-4G-^!1])6DX8)6(2%R%1CC301-?7QC+=FP8?/V,XP:P!;]-A1 E$*8&J: M&$YCV\ 5,,$(HT_?!;0+<:[^B9T[P,[),;DE-0Q#.=1S+N\@X/WYZ75>MW!= M(MT9S+^2DW0*N&*7R6_U>K-]9*KBE2CX0\'K;27D[;T4XF-R_>%W%?:]=3OW MCXTO@JJ!7W>AO@!02P,$% @ [HT#4YE&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" #NC0-30_#QNC8% "8%0 & 'AL+W=O?0D,[G78F@"5S2'8),X0D+6V234)ZV+U3; &:V!:5Y!#> MODLVV$G&++N] 9_6K\_2\K\DC;9*/YNU$):\QE%BSEMK:S>?NUT3K$7,34=M M1 )WEDK'W,*I7G7-1@L>9D%QU&6>-^C&7":M\2B[-M?CD4IM)!,QU\2D<HJW#A0>Y6EMWH3L>;?A*+(3]?3/7<-8M5$(9B\1(E1 MEN>M"?T\ M]9D+R)[X0XJM>7-,W*L\*?7L3F;A>Q%1$D5,"CG_VHJVB M31?X]OB@?IV]/+S,$S=BJJ(_96C7YZW3%@G%DJ>1?5#;7\3^A?I.+U"1R7[) M-G^VUVN1(#56Q?M@((AEDO_SUWU'O GP_2,!;!_ /@308RWX^P _>]&<+'NM M2V[Y>*35EFCW-*BY@ZQOLFAX&YFX85Q8#7!*2J\1*NR.S M)$\/U\UM8M9<"S/J6FC-Q72#O?)%KLR.* _(K4KLVH!J*,+W\5V@+%#9 ?6" MH8*_IDF'^-X)81ZC%3Q3/'R2KCK$8U7A[W#\HN?\3,__?SV'M- K6NAE+?3J M6GC<;435 .#AU&O?(Q3]@J+?C.(^Y=H*'>W(@]@H;:N(<"FK4X$0#0JB0<-^ MT1S\),O3XTBXUI)'!F,:%DS#9DQSH:5R"1$2^" KAPU7.J3Y-Y\^U63J:<%V MBBKND_-:1H+;H-2&=)4$I?$(6%@:6* W-I8G5._@/ M*_%KU"^O,,@W#DZ;0#[R5S(+(07E4@:Y>1\?[!I)YK5[PYY_1@<8(2L)61/" M21A")3$GAP-R \^1+TEUW^&2S/<\!I!91"".BH0#"R*32BN^_I0/O)WKF M>1A\:?/4_T_P4W<&@_^HMDDE."YWR:.(&XRL+ \4-_B/9$5>SK5ZD4E0W:^X MYN-?&%I9,RCN]!_1YLI8'I&_Y>;XQX(K#OO,P\R0EM6#XI:?#> $YKS'47 ! M1GL82%DR*.[T-RJ /IFO58+YU^P,\U\M"01M5BFFJM:ME>5&5R2I+ MK;1Z$H@K?OTX=7Q/5I8,VJAFS!*8@>13?U=>^0&UD@Q7Q,E862-8HQKAJBM4 M!/@"5TKOJGAJ=&ZX7@DR"0)8XD"E$6$NB3&6)8(U*A&+&,R'7*0&;IO*T:S1 MJ9LML;(DL$8EX2H6>N42[&=0L&OX(N,-3ZJ[#Q>L12L-GS4R_,4:UI8H$"Y3 M"U3Z/*OQ9&EAYJ:6A+(?GGZ$V4Z0:B"L9,*5X&UBF!3\AW7L>#>1W9 M<$U>>(3.S5EI_0PW:IB4AYEE[.(G%55"X@+SA]DM1E(:/<-]^M!1Y.HU6/,$ MOJYC\\P:H;O)XG*"K:58Z?D,M^N#P[X;B$6VQ"9?4@M5,G&]5[F\S97[F;+; MGGD9]_VA3YD'L[27*JK2]UDSWPH4JULH>-0?T+Y_BO57 MZ?L,=^E#*;J6QA7+KP)R%5M;UQRWZ(]5^/7J<"Y>[9QA5:?<^[LX30 ISK(A79?=%C"AT*[!^#^4BE[.'$-%)NQXW\!4$L#!!0 ( .Z- U/X MFBF"E@8 "(: 8 >&PO=V]R:W-H965T&ULK9EM;]LV M$,>_"F$46 LD,1_TF"8&TCA;6W1)4*?;:T9B8J&2Z$J4D^S3[R@[DBU2= ;L M16))/I[^/#[\[NBS)UG]K)="*/1G\B5*.&;!UD5 M7,%M]3BM5Y7@:=NHR*<4XV!:\*RN#[]GC4ND'T]G9BC^*A5 _5K<5W$T[+VE6B++.9(DJ\7 ^N2"GE\S7 M#5J+OS+Q5.]<(]V5>RE_ZILOZ?D$:T4B%XG2+CA\K,6ER'/M"73\VCJ==._4 M#7>O7[W_WG8>.G//:W$I\[^S5"W/)]$$I>*!-[GZ+I\^BVV'6H&)S.OV/WK: MVN()2II:R6+;&!046;GYY,_;0.PT(-Y( [IM0-_:@&T;L+:C&V5MM^9<\=E9 M)9]0I:W!F[YH8].VAMYDI1[&A:K@VPS:J=GES?7\ZGIQ-4=PM;CY]F5^<09^+(U0*91.Z\>3O M*/#"&!,V$&HQ8]3S?;M0OQ/JNT,J2U7!>M^.DDV?;[R814&(Z4"?Q8SZD1?; M]06=OL"I[[82*YZE2#S#YEJ+NAU^J9:B@A6\.[]LR@-#DH]#,IP!IA6#]1/9 M=8>=[M"I^TXJGK]!8FB\G.#8\XS1M]@1XM,@L,N,.IG1@? "M"KUTH95+Z@5 M8$2-3M7(-@>!:@.QIAGS Q*/K*FXTQH[M=Z 4JZR\A'E N#B"&IL!BN*/4(& M,DTSBD-&L5TFP?VVCYU"Y^)!P+BG2/%GA\JMESV9<3@4:;7"(ZN*[*").#5^ M*14O'S/8E[8*1\=\ZVA/0!A$9#CH%KN 8$)'E/84(=2I] \ITZAX1-Y V^Y%#GHD7ZL4LPN%0H&E(XB#VH[%ETY.(^&_*%_*,WV=YIC+A3!I( MCQ#B9D@'XQ5_T22V]M^D W\@ WW89N=Y\=X;(!Z7A W,#H0[W3?*M0D 27, M,_(:FUT04AJ.".V)0=S(@&A6#6QNAW2:$ "=L3=,&VQV4":%8TNSIP5QXV*> MK;-40"+M'':3 0 T;ZC10HHH&HDD[3E!W9QXG? K6;5EEWS8V4E2<6_=CJG) M@X"R>+A,+69>",,_HKGG!G5S8S^O.3 'J(F$T(?*S$_7_ MU"4;6EC HF&7+'8LC,G(BJ0]@ZB;07MYT:&I8\$,\SUCFMO-1I)WVK.(NLNB M(=/H(<851:9TA;&IXQ)@'DQK42:@&;U?"(&NI1*(^!^L/7!ZUX=RI_6*)^)\ MLJI$+:JUF,R0[1SD?W"T'X$>GC1RYC@+)9.?2YFGHJI_:PLN]>)RW-..NFFG M0PL(J;7_XW-^(AB? 2/]!^JE[S2=72CEK+*_A'I1^2S(Y@' M1Q0'[;!XT1$A^,CS*,KJ6K.^+;H;54/-D.I]B"OTM2E%=]C4&LQ%(HI[6#:O M9TA'"%ZT$NUA8OYB'5$3K,.$V&(RLK>R'KS,#=Z+-,WT+@F+1A\N'&Q]CK48FBO M0Z<[!_CZUY,_>?68E37D4@_0$I^$X*C:_""QN5%RU9[IWTNE9-%>+@4'X=H MOG^0P*CMC?Z9H/M9:/8O4$L#!!0 ( .Z- U/3V:=7?P( )X& 8 M>&PO=V]R:W-H965T&ULE95A3]LP$(;_BA5-&DBL<9(V9:B- M5-I.@!A4A&V?37)M+!P[V$X+^_6SG1 5:!GT0^-S[GW]W*6]C#9"WJL"0*/' MDG$U]@JMJQ/?5UD!)5$]40$W=Y9"ED2;4*Y\54D@N1.5S \QCOV24.XE([>W MD,E(U)I1#@N)5%V61#Z= A.;L1=XSQLW=%5HN^$GHXJL( 7]JUI($_F=2TY+ MX(H*CB0LQ]XD.)G&-M\E_*:P45MK9"NY$^+>!N?YV,,6"!ADVCH0@?7+ M!%/N&VV:W'CHH:Q66I2MV!"4E#=7\MCV84L0]/<(PE80?E00M8+(%=J0N;)F M1)-D),4&29MMW.S"]<:I3364VZ>8:FGN4J/3R?3Z:C:_2N7Y;')K M@M/)Y>1J.D?IV7Q^FZ*#!9' =0&:9H0=HF_H"_*1*LRN&OG:<%@W/VO//&W. M#/><>5'S'HKP$0IQ&.R03]^7SR S\L#)\4NY;ZKO6A!V+0B=7[3'+]4BNR\$ MRT&JKP@>:JJ?WK&-.MO(V?;W=5:4I?F=*NM^A"HBT9JP&M !Y2@7C!&I4 6R MZ>+AKBXV_D/G;_^-ZP3W,,:F9>OM;OTW[05^O\/O?P*_>=2(U+H0DOZ%?!=O M8SC8 OF.F\\KX@\DOF >=,R#SS-3I>K=O(,W&(-H& 4ACE_QODWL'P,6J4)SRE?[8*./PK]-G$/M+\U/>SD_DGDBG*%&"R-%/>&QD,V MT[ )M*C<0+D3VHPGMRS,"P2D33#WET+HY\#.J.Z5E/P#4$L#!!0 ( .Z- M U-7O&N8)P8 /X9 8 >&PO=V]R:W-H965T&ULI5G; MB46E=:>^3.0TS[ $2YSPHI*0[/Y]EQ>+%+!$ MG,8/%B]G=W&6"^P!>?%2E-^KC92*O&9I7EU.-DIMSZ?3:KF1F:C.BJW,X MR[1XN9S0R=N%+\EZH^H+TZN+K5C+A51?MP\EG$T/7E9))O,J*7)2RN?+R2=Z M/F=^;= @_D[D2S4X)C65IZ+X7I_00LS8<'K]Y_]R0!S)/HI*S(OV6K-3F(@0'XP0U89\!T SYBX'8&[GLC\,Z MOS>"UQDTU*S^ M+I[?+>8Q@:/%_5\W\:='.%D\PL_M_.YQ0>X_DYN[V?WMG)R2KXN8?/CM(ZDV MHI0527+RN"EVEC\8JI@>'60Z;(;RG4[%#8R%)?<%KG:5&2>K^0* ML8_M]K[%?@II.>2&O>7FFED=_KG+SXCKG!#F,(J,9_9^

C\VO1Y_\[^E$R MW$.AN(T_]]<+Q1*-'Z+Q)AH?B?9%[F6^DU@1M89^8U@O@_NK,*0^!8[[X;,Q M89$3,NH?PV(31OTHBMSH&#?''I6GK.B4J1XAB5WE&_KP!M$ M#OS0"[G&UX2%3L"XQB,V8=1S_,!E&E\4Q_R0X7S] U_?RO?WLJ@JLBV+YT1A M9'TS+'4AKD86@3E.Y <:6006N%*I4M3]D MY"8L\L+!S#K*0WC(0VC-PV,I\DITL@!24,I4*+DB2RA]E'AHC(*'VNR.30SE M;N#C(XT.(XVL([W?ROJYY&MH9,LB0V=C9.:;!Y&6R)F)XI''/8V$B?(#W]-G M(A*1#4O]B"IU^K[O6-?S>[6194>4?.@*\>.Y9>VF TU!K8D$"0<"+8?R7FY$ MOI8DA5E_0G*)SOG.V9#A*??U*8^A0 UK*45]<5=+*8;R^4A&6<^:VKS<(: D?O7*@GKC-%/-%PA&DO!:AK97J3*PGZ3UGF2>?AJ&QUEB;$ MYSI)$Q,Y.D<3XP[FVC''7H!0NP(Y<.RF!DJ2(]46,H,H G-]G4>,P6#5\'6Z M"(RRT!GIS+27(M2N16[:M>!)PO93UCUZGS3;03A]6R>4>,6;%37U H_"B.F9 M0& ^UQ,6(S#H0TSOVY@W2D.X[^KD,9P7 MZ8)OCN) WXPT0=KK%FH7+G?2.K%-D>#Z+#)J'H%!V]*%"0+CC)H+M@EC$6-C M"UDO3:A=F_14B5"J3)YV2CRE\+ +DA=P/5=ET:@X0+7+ 5X"IAPY-1*"8(Q' M_V/,',.,/?)>^%"[\K'DX:%,LJ),<-Z1L2NJ:T'?BF$PJ!A]:X+ ZEHPEGL3 M5M?"R/+'>D'$'&L.XF2?K&2^@NT)M''(108+0/.B@WQ([.Y^A'+ M2!_@AUG(U>PC%JE8=S4>90]P.^-FG(>I'$["+I M6E3)\F<2VKJ+CNCYH9[0]Z!B%!4:"45]C>2SETS,+IGB)-W5NYZ?8.XB#U;? MXLYPE,$<0\'.;OA']3R@GD?RT,LJQJUU]:UY^66"(-T9=7;&AW@+CI=)T\#X[D^6Z^9!0 M0:GLN7]/S&46NQ_1\WGZ*Z-VW7T9N1;E.\HJD\AE" M.63NH AT\^5_\!4$L# M!!0 ( .Z- U.M/#2L90, !T+ 8 >&PO=V]R:W-H965T&ULK59=;YLP%/TK%MK#)FT%S$="E41J ],ZK6G4=-NS$YS !G9F.TW[ M[W<-E"7@9MW'2[#-.??Z')N;.]IS\5UFE"KT4!9,CJU,J>VY;EJXS3>9T@OV9+0E&[J@ZO-V+F!FMU'2O*1,YIPA0==CZ\(]3R*- MKP!?\^)JG*AM;0PNE=$UVA;KE^P^TT1/H>"M>R.H7[1NL8Z'5 M3BI>-F3809FS^DD>&A\."!#'3, - 7<)_C,$KR%X+\W@-P3_I1F"AE!)MVOM ME7$Q460R$GR/A$9#-#VHW*_8X%?.]#U9* %O<^"IR?1F%B>S11(C&"UN/EW% M%WV@GWIZ/:JV<-EO0?\S!X\=,V9RB1*6$I3 S\^S0]/\&WPHS4%/YER MB4\&_+AC9\ASWB+L8->PG^G+Z8Y)SK]E3_XZ^Y$97GM#O"J>][]OR(G0:',V8J7U'2K:FY8<74]O)]X(8Z"D7U_>%8&%(Y"?(R*^R@?N[YW MC$KZ*!QA/&Q11R*#5F1PTN ;E5&!0"04^DQ7X'O:B'Z+&!C UTB1A_,3=H9M MIO"DG5!:H7 RJ"M"4+9Z1$H0)@M2E^ST&Y0;^ M0QD^XCAP<2 ^]CHG3/B8( MND;W,:X3=7WN@]ZY[C P^SQHU0].JI\:'#8I'?22>V&$!QVM!I07N'Y';1_E M>]@+.W+[*#QT#B[?D=QA*W?XPF\'$:5$OMPILBPH4APQ#NM,"5X :0,H1065 MYG,?]H^B^X49()T#C7\/20R0T.Q U#H0_?&!][R8B[SD(C=JCPP%!K[WCGP# M"FZ"VW&@C](WH6M"'P4WP1MT?+ /_N]+*C95HR6AA.R8J@M[N]KVKV[5?H6O&\=K(C8YDZB@:TCEG W@P$3=C-43Q;=5M['D"GJ7 M:IA!_TJ%!L#[->?J::(3M!WQY"=02P,$% @ [HT#4V-GZ>1-"0 U30 M !@ !X;"]W;W)KQDL]=->G%ZAWNIVDJLJRQE)3EIO_V-%,>4R"'EM-Z\22S[S_&0 M0_(W0\E'CT7YM5HE24V^K;.\.AZMZOK^M\FD6JR2=5R]*^Z3'#ZY+3>I[LLD7K:-UMF$>9X_6<=I/CHY:M_[5)X<%9LZ2_/D4TFJS7H=E]\_)%GQ M>#RBH^='&MVT-$4GS9BK.ZQ(^3:%=?7)Z=3F=7KC]/9]?P?9/:OSQ4M^(6E. M;E;%IHKS974TJ<&OQOIDL?7APY,/S.9#L5[#K)S7Q>(KTOK4W?K]KWL#Q MW<#QO0;N#4S4:A5#%-_N-8A/5F7'&Q'ZOJ0\Q/T1.W]$VY);_+G(%\"P"AP" M%]I7;YOUW*[&59$MD[*"-?_7)JV_DVN8?@00\!B72\<07+ MON7K\G^PM"L.M"X.S"155M MVID(WCU-1%(7)%G?9\7W!"Y@,R?+M(2LT,+RBG >:ZP.BGN?ASO/P M<)YW%QJVKD)S M&@68*8A]'.P\CI(>S5#[!PFLD /E[#3EVFBP8)[;(BG_.T M,S6V77A,Z]4JR98$$LQFNB3HH$?F5 CT,8^,C:NKZ76(>BI1\%ZA2T/1V#K1 MGR^2ZFMZ4-;O9"<;HLY.MGT9-[GMDL"^! E_U2YI-"VAI@_,8[JGU$1-5]5W M5-&7NO$[31_290+S/(&=^2'.8*]Y"@$D]XMR ^Z/+3%"N\*,KF@PG"*2L64/ MI0J%U,W"Z^1^4RY6#7V:26-- $WVC4,NN#[40[*^EPJ05+S4R\%I+$Q7)(VD M;PN\0B9U,W.:-D']LJFW"S$O * J,81Y -DPNG6<49.$8^IYGCZ,0[*^YXJ8 MU(W,YRE;0:FXR&#HEFB"CK!.!J&>FPW*^DXJ)E(W%#MI[1^;'#(RK\G(F(<& M.1C,:ZF)OX@R&>B+RY1)*0*JZ6:(#A(!+])R(D3&A3Z IL87(O*$9005FZD; MSI;\=G@T31"+D#$OI-3BDH(Q==.X$]0_X_(YS;:X8<+3"*K)X(@**O2@FC+) MA"^E'E0$Z=3WJ1Y44T8]3O6PFBJ?2B$L864*_\R-?TM8!\>3F:2&L$HA TOZ MRA2L&7WMRH5URE\W@-VU"S-IR:%VU!YT7NH H:9T)52 M3X(&1/TN*"XS-Y=_NH!A)J6I;P3 +>K[KC#.W!@_: G#3&)33TC+OLD4L9F; MV']?%<,0?!MES%:T5QW#%.&9F_"O4\&7U#',!&_@ M&:L@- _5/-LJ4&!F;C ?MHIA)OMT)B.2L06-7*&1N]&X9Q7#31*.(ZEGWT.J MOH^*E=Q=V/Y #1UER\<(2FCPM,C:LJ,30ZW9-GDA&*N<#/W4.6+0 Z2/6.K'E+U M.Z&@+-Q0-HN G;OI\T>+HD*SG0\".5C65KE 3JA%!(S1NX?K(@LOA2*]<)-^ M[PZ2-W-[(B),F@OI>5:>"\5SX>;Y3U>0PF0X"P-NS)\A6=__SJW; U; 0_F> M0 I=0)=]F!5/A9NG?U\=*9"S:AD9\WM U>^68K)XC?)X,"P(-J/ MR0Y0A%1 MN(GXDA)1F!0,A'&7>DC5=U1Q4KAKV<,6B<*L=K73JBDB&5MH+Q1PQ7ZEKKMT M$$A]"CFMGB8-ROJ/8RBJROT.>;5DEV+SS^IU3VMQ]U GGG2@VK2F 5,AOI1"Z+S6<"9IP?5U%%!]7H047%]_T$TD4>Y M;:N4*DV0/_3(UO!H(L?>/& \LMVGE(K\\O6?VNH\MO53SVV9M.5^-YG<1M24 M&0'%+5F((A6XY>L\O"61\ICK]SX&1/TN*'K+ 7HWTW"X2CB5V!UC?N7Y+"^=@3 M4T:A,J3J.ZJHZ+NI>-@4SD?*50T^B&1LF1*^ JF_WS-7[A3.1\Z>.6/ZX>6@ MK.^D8I6_'ZOV23JVIERT1R1H"H>9PE(XS)Z9PB$J(X5#-*X4SE=H]?<[/W]I M"N;JHB_OV)QQ?BKHN MUNW+51(#Y!L!?'Y;%/7S1?.KD-TOF4[^#U!+ P04 " #NC0-3.#P77ZL" M !C"0 & 'AL+W=O0&E%8A4DO"H+3 &KII'TUBB%4G9K:!]M_/3D+$)D*M;5\2'^=]SB7Q ML>/M*7OA*4("O&8DYWTC%6)S8YH\3E$&>8MN4"Z?K"C+H) F6YM\PQ!,"B@C MIF-973.#.#=\KYB;,]^C6T%PCN8,\&V60?9VAPC=]PW;.$P\X74JU(3I>QNX M1A$2SYLYDY99>TEPAG*.:0X86O6-6_MFXBI](?B&T9X?C8&J9$GIBS+&2=^P M5$*(H%@H#U#>=FB "%&.9!H_*Y]&'5*!Q^.#]V%1NZQE"3D:4/(=)R+M&ST# M)&@%MT0\T?T(5?5TE+^8$EYKBR2$/YA- M@W :A0&0HVCV, YN%]*(%O+V&$X7$9@-I34;3$:SAR!\BCZ"\.OS>/$#7,PA M0[E(D< Q))?@,_@ 3,!3.7J(EBU@7S?BP7E\2GX03EB3P48B(;*0$7. <))=+@8(-8V5^7I_JK=-\KW*MS=.=;+:OKF;OC M-M(1!3JB4$&H)MB)UY2(7?V8IC*OR#$E$ ^7U$J#H;:W.O_*O\74$L# M!!0 ( .Z- U,[]U@H(@@ $8A 8 >&PO=V]R:W-H965T&ULG5K=5&=]]9UO?T^&%3I MFFV2ZAO?L@*^6?%RD]1P6SX-JFW)DJ4UO"W:"=99EM M6%%EO$ E6YWW1OC[V(_$ "GQ,V//U=$U$JH\S9F>2YF AS_'";MM>\4 X^OWV:_ELJ#,H])Q<8\_RM;UNOS7MQ#2[9*=GE] MQY__9 >% C%?RO-*_D?/!UFOA])=5?/-83 @V&1%\YF\' QQ- #F,0\@AP&D M.\"W#*"' 50JVB"3:DV2.KDX*_DS*H4TS"8NI&WD:- F*\0R+NH2OLU@7'TQ MGL\F5[/%U03!U6)^,YV,[N%F<0\?/ZYF]PLTOT;CT>)/='TS_VN!^NAA,4%? M?ON*?D-9@>[7?%3"QO#M$/7M3K"ET52[8\'3\ M+5I5R)LJE\0YX?]VQ3=$O=\1\0@VX!E_?+CG@$-;RU(Y'[59-JG6: 5A4J%5 MR3<((J],ZJQX:EPWJS-6?7>\QV_?X\OW^);WS"#6LR+E&V9:@V9L*,>*D-Y? M^ 3[]&RP/[:,+D6&A,2MU FPH 46. TP6OX-_@LA7U>HYA#S*2_2+&>H:!&+ MY^(N%;;:EGR?@2N@QU>CL= 7(-X2,WVC5JLD1/K MHN;IK[[(84L$QH3$7C6XV8NX-KI#I &)_#CHH-6%,#E2Z01LW(*-G6#_ $9! M@*U*P %@Y6"Q88GK5VED!JNX%8YB@AQK:/H1QEX'LTF*4@OH80MZZ 3]4 S MYMF_8. O3Z# 5Y3SJA)J9$7-2E;5"+R4H>HYV9J@#W50A 1=<^M2_M"+S,BQ MI_*ZY\0^K]>L1 4O^C*XLIIMS$G:TSTX##L0#4(XQ!:(1]2#W1ERG11/$-?@ M&4E5,4@3PAGR+'G,\G?3(R;J-<1IB5&:\IU(0A#9+-LGC[DQ- ZSG.B(:1!U M3:&+]<,@#CV+-11=8.J$.08V+"';'6QAA$@-#A6!GW-4Z:XL(5A=0'T#4,_#<1>H08Z2T$(\6#$/#CZ ,^?%4Q_B=.-"&N@(<(R[ M.'4I0BSI&RNNP6ZR:1USF[Q:O5*GCG#H=;.?08H P=B2B&(8[*:8UB>/@M*( M4J>,/F216%MO78YZ4>Q;<"IRP6YVF;?E0LZ #RWIY'=1:QCA&]@#QU3S H-8 M$-C2H"(9[&89<(-RQY;OVECGB9#HF5J7(@032^0312?D(W2B(NH=L$0GC'[@ M::QM$,.Q9R,_HIB%X'=KX@_5E$;L6&?$8-C-L0:IT MMWD 46Q'RJ;8A*_90 M9WR\;2"*<(B;<&YW9;H6T?*I3#/Y^M)HG,.]@+J=_$;Q(@7AQ;XBIJ(FYKD^FZ3;(E6O#QI8&1Z$KI(SY7? ME-W&^*""@;3 ^8:1)9$214G$34EMX.Q$5Y$51O;'XT:1#7&3S24O80S,7*%=L82L6+(]S_>2?4!4KB L M7&;V/IU#L"?^+/HK%B%N%KE-7IM66VZO?0*0H4EQ(:**,JB;,DX#-:NJ'2R( M1*-H9,D>C:BH3@P^P9Y6^!CD*(TC2Y*ABD"HFT#NV+:QYP?AZF30CX8![CJ_ M28X2/QQ:\"K6H.X>QV[KE&\VHN\6FP5&Z(:V)XHCW-W",,@%D:50IT=[9&X. MFH!!%=R45^8JG1K(Q(\C2S*FBDNHFTM@F8](\!U3C:FA6XFI;W,V10G430F3 M3-0HQ;*2OWY3P]4T0DU@08PLK4,4*U,T*LO@SXC(DKF M(;DFC0[99V&;J$B$N09=%Z2!%;NO&,MW,];8AA8E-7ID3UE1"&^"=8* 0%!O M9MP8KKZ!E4@8^=T:TR G=EIM1::OZ,MWTY=3$<@T'U!!9RH<1<.H&]HFN2 ( M(TOUX"M&\]U]T.+A]O9&'D&-;M!DNAC?S!GYU%H.KN>W_T8W4_G,]=1 MBN(C_YU-N)/J_&V7UV@@G9(P)EH;81"+(FIIQ_VC,Q\W<75Q-H[:>^&R:.+PUX-?ZP3$)!-1YL% MA7(%>SYJW>7^CC%[^#KY82^,M*,N7E,+($/,%K]$K M^(:MR#C,&IYD+:(YM"Y%]*.LP=&)](:53_*@OD)RO[,YT6V?MC\&&,DC\,[S M2_Q]W!SIJVF:7QC\2$I(R!5XQ JF]+Y%L*1E&PO=V]R:W-H965T&ULI59I;]PV$/TKQ!8H6F"SJY6/ M./$!^$C0%G!BV''SF99F)3H2J?"PO/WU?4-*\CHGT'[9E3@SCV^&;T8\ZHW] MY&HB+Q[;1KOC6>U]]WJY=$5-K70+TY&&96UL*SU>;;5TG259QJ"V6>99MK]L MI=*SDZ.X=F5/CDSPC=)T984+;2OMYHP:TQ_/5K-QX5I5M>>%Y44K6DG3):6%H?STY7K\]VV3\Z_*VH=UO/@C.Y,^83O_Q9'L\R)D0- M%9X1)/X>Z)R:AH% X_. .9NVY,#MYQ'];F^:A*7Q_/#F:BI+4, MC;\V_1\TY+/'>(5I7/P5??)=O9J)(CAOVB$8#%JET[]\'.JP%7"0?2<@'P+R MR#MM%%E>2"]/CJSIA65OH/%#3#5&@YS2?"@WWL*J$.=/WDD?+ FS%F?!P>;< MT=(#EZW+8L X2QCY=S#VQ:71OG;BC2ZI?!Z_!)^)5#Z2.LM_"/A7T NQD\U% MGN6K'^#M3$GN1+R=_YCD,]#="70W@N[^K\K]!,-X$JM??SG(5_GAUX""+=G. MH7AO*ZG5/S()69<"36GC6_)!].3[D40M'V@0#UFT3I-<:]4YR,O7$-"]L2)X MU2B_F0O/36+:-FA5)-34]V#BV6SF,,M/-(B'0% MRF01(0#5@2ZY9')>(LN2.FD]VMD[3M%;J5UGK(_[+9AU9\V#*E& @*%!]D$5 MY(0W0HH2C6N=6BLJ8PLRP)@>-@F0G84;(*MD@QPM]SO(F"XFM!"G&#QWX**] MDHW@K;F8\'ZVG[03D7( OI3.X^\FN8C3RA*E/'[CFN?9X>7-:7Q:'?X^%WVM MBCKB5*1Q2DVS$2UFA'JQ(0F:4_A"?*@)=>;1R?M\BTJ"\."RMJ:=$G,"XUBX MC@H4I>!EG$5(Y#M9)MXMQ%M%30DX).OGXB8H%OJK M##U]POEQ! M-;Y<"B,BEW]84WY:1#-QK2!FWNAN:._Y=AMSF9^H6W*03.J4)VK1";#0F$&% M7IA>(V&6M2J5M.BXIT.^IMA==PT.E:JDU]'&NBN"M5C$3I.?&_V@C":@$WGK MVS@D #V:YW'Y#719;9;7T&?/P9,Y$%3EHGC&QK;T0#I09%19 WVA%];*I^89Z*;\>5)T 0)WX%E( MS5+VN'PXV#\'!8W?AS(%F-0I/,UXDU9J7%X2_??!/A6QE1N,3LOWIJV>+B(/ M-#S&%Q\8ZV7TNC<*^),OLYRF'#=HG")=0UOAF"$&HQ6=V'*IOS[,9XG/14$P M PH-9J91GXZ;2["US+FY&MU=)M7I$E4H/'K-<3^YP$,.)&41/R+C.E>KBQO' MA>>Q@]RQ$3WB5NGX"X&/":%6)4W2_=:W>;EUPT$YJGB/PTF9H'VZ[$RKTU7Q M--V0GMS3/?-26GRJG&AHC=!L\7)O)FRZNZ47;[IX7[HS'K6/CSSQR+(#[&L# MA0XOO,%T@3[Y%U!+ P04 " #NC0-3NVLD3J0# ."0 &0 'AL+W=O M2 FE?+%YFSIQS>/-B9]T'7R$&>*H- M^652A="\2E-?5%@K/[8-$L]LK*M5X*[;IKYQJ,J85)LTS[++M%::DM4BCMVY MU<*VP6C".P>^K6OE]FLT=K=,)LEAX%YOJR #Z6K1J"V^P_!'<^>XEPXHI:Z1 MO+8$#C?+Y&;R:CV3^!CPI\:=/VF#*'FP]H-TWI3+)!-":+ (@J#X\XBW:(P M,8V_>\QD*"F)I^T#^NNHG;4\*(^WUORERU MDZL$2MRHUH1[N_L)>SUSP2NL M\?$7=EULGB=0M#[8ND]F!K6F[JN>>A].$JZR+R3D?4(>>7>%(LL?5%"KA;,[ M*2CQ:I$&AI: M.AAUAU, M_@682WAK*50>?J02R_/\E"D-O/(#KW7^+.#/+8UAFHT@S_+),WC30>$,!G:ZAL&PU>2RE MY:W1I0K/WB@O(KH9)]MUOX"O;FA(>$.1<@R:! M?-]2=W!V.E1@6P>U]8$C"H:$&Z*6:]QC8UT CCJ@_3)F=&2,CN61CJ;N"A%( MKMZ2:DO-C,>L" *GV$:33++P6A'?",)]%*<.:&<85)BV1 _*&%#E>SXKG=AO MQ _M@Z:M8)%D&.'=.B=C)['? K$<[_DZ D:.M39*.VA.G6>0\&^2QH.W]U@8 MY;W>Z.)\X6[C:48GYHJ'KILN^F$OOBO:LYD(A3)(I7*P1_[9(B%'R_(\(K7( M=%00$U73./NDF0*:/+#Q>Q3XNCS'WVB ';*#PZ4'3'9C0>Z1_\$DFSGW\%K512VI9AH M90>[:![%S 9=W,M#W'DV_O[_DSM^ 3.QIM$-RO5S],AA MO]TYX9S[9,X+%)$GLE2?D#T7,WCVN7LU/7FCN.@VOL0>XNITS]4P.CSV-]T; M=PSO_BF\56ZKR8/!#:>RJ?,$7/?Z=AWV*KYX#S:PPMBL^&)#)P$\O[%\W?8= M*3#\!5K] U!+ P04 " #NC0-3FI@Q!70# "9!P &0 'AL+W=O2B*71W)??(48X*&IK5\E M50CM59IZ76&C_)1:M+Q3DFM4X*D[I+YUJ(KHU-1IGF6OTD89FZR7<>W6K9?4 MA=I8O'7@NZ91[K3%FHZK9)8\+MR90Q5D(5TO6W7 '89/[:WC63JB%*9!ZPU9 M<%BNDLWL:KL0^VCPC\&C/QN#*-D3?9')3;%*,B&$->H@"(I_W_ -UK4 ,8VO M V8RAA3'\_$C^KNHG;7LE<=SQ/0G0_4#,[,H#&V_ZN'(0]G#I?93QSRP2&/O/M D>5;%=1ZZ>@(3JP9 M3091:O1FR"XUW#?F%]AQIM@(W6U-E@[ %N'5D>:^34![], T<1VU0/ MB-L>,?\)XBOX0#94'OZR!19/_5-F-U+,'REN\VLE>S1\<)G_TY@5 AO-OLMF"\[QACL_L$'VD:=U_.\DET MS;/K&ZNI0;A7#^CACWMJC8;7B^S%%>Q,T]:F/$E803LCSF4%SATCUNQZ L?* MZ(J??4/?&$ZC"UQA !\TMO*TZ%3-#\9: 5=EX$2.&9U=Q&O,EUF8&,N;IH&6O\24CB943#Y4 MY/$)X)01N P7@D@VZHXJY.@F_>%*B6O4B4/WC/F@!DN'P9%O>ZX3:*B07!1/ MUX$EM&=3KG2&PW[&\>H(E.4JZP-35R["OU>VXU(.L_YQ3F1-_1>G%QN@, 58 M"E IWE%,5^2S1LXZ5V=QIL[%W%/-9R)12V/Y;,2H)6]$Y82)>ZZY'J@$;DY. M]?>!!6CE*RBYSS#SX3[_Z#&G9^6R07>(38'OF-S)OG*.JV/?V?3E]KMYW[0^ M*,N+!%S?"/I)H#86WST%+N5Q6''O1"<&O%\2/^QA(@'&;KS^ M%U!+ P04 " #NC0-3"&M=!]@% #1$0 &0 'AL+W=OL:;O/M'2V MN$BD0E)QO%^_YTA9EMLX;=&AP[[8?+N[YUYX=]3QPM@;EQ-Y<5\6VIWTNLB2S0%06@V0XW!^44NG>Z7%8N[*GQZ;V MA=)T986KRU+:Y3D59G'2&_56"V_5//>\,#@]KN2(7:O398WZI M*5SX%8MX-IGT1%H[;\J&& A*I>._O&_LT"%X/MQ"D#0$2< =!064+Z67I\?6 M+(3ET^#&@Z!JH 8XI=DIU]YB5X'.G[Z2RHH/LJA)O"'I:DNPN'?' P_F?&20 M-HS.(Z-D"Z-]\<9HGSOQD\XHVZ0? %2++%DA.T\>9?AKK7?%>-@7R3 9/<)O MW&HZ#OS&WZ+I!N=)RWD2.$^^W8:/,_K->!*3'W]XGHR2HRU8="*"U^/CN["E(LW=:*1:1D/=*"R#IBY129H4M9 M=D#N;BHE9):!QFV BW(8"&!+G2I9"(DSC8KKQ4+)J2J45R#WN?1"6@*V9XW MK,%:&>MYL@$*,Y)IWFRSKA5992(-R]9&/WM0_K=(Y205.%M*:QM,C(2C8):5 MSR^UF),F*XM^A]#!AYXLL@-83I?B-=U1(49P2E4#5NU(W-:&Y556I3C^M-8R M^PO)A;(==EU,C4@K]H;U8 55!H>H=*TT1\TA6?(36)RB@.Q-8J M9NK(WB'.""4!QI9N$V8?', 7L2BL]!3MNU149$B,]NY+0(Q7(%A>#4B:%<(3ILFB]%P19P MC2-G"F:ID9GMQWG#U%MNTI9(#G<[$]Z(:7MY'[@^R-[49N^8?"BE<@H XU%8 M'8JG"#V?F]IAV^V\:)7_7O];4Z47;]N+CZI*6SEE_1%C^RI> MP=7J[QPV7\0/QCJ+]_1-'";)D^ M;7++SFJ4M*/QSHH5+C("&CYSXO_UOQ,@G.>&_B9-Q MLM\_F$R^,DZ^ _BOC)7#?C+<^X)8B4EGG?65=M[6,?EIXY'ZN340(3U34WU2 M5#HLL^(R34W-9]&GD HYIK]>K.0R$ 2;-QT@-FU-V68'@1J'UN!A%$V74Z#F M5I4U]ZID W1*#+_$,NZ8@!"++D>Z?L8-@-#2(Y,']O"YM4O.XDV#-0OEKC!Z M'L]F-/5=">Y!$:DI*VF5PW"A?,[=AP5*+LAW$NJ ?U/C8Y_"^;4P4HQL)8,L+%!M]ZK3YV-;F)+B:U=: P"&?!1U (]01_MB$)KP$UW=$CH M$&HVBM# &.X![B!ZE&AKNJ_P1&[[ SZ.?_@U%!OXW5OT+HY+OEPU(1'%RH<\ M:7HAM&ZPA8+C:@_3_,WX,G0,J<=2IR;%OJS?M%.LRTI0C5!@YWR^_^OR@W5@ MAM)HB&FZR$ -:##S-9$(CZM13*6CT5'[8'JYUO5R'8$//0L'G6=V278>/B;@ MF<-FCB_N=K7]7G$6G^GKX_%C!TKX'/&.)FT&TN'NP5X/$1(^(,2)-U5XM$^- M]Z8,PYPD_,('L#\S4*>9L(#V*\[I/U!+ P04 " #NC0-3'K4OK@T, !< M) &0 'AL+W=O^6 M745KJ%O*V*ZRG7CC5!*[,L[F,T1"$F**8 AP--I?OZ\;/$ =$\]NROME)() MHX_7Y^C%WI2?[58I)^YW66Y?7FV=*[ZYOK;)5NVD'9A"Y7BS-N5..CR6FVM; ME$JF?&B778_B>':]DSJ_>O6"USZ6KUZ8RF4Z5Q]+8:O=3I:'-RHS^Y=7PZMF MX1>]V3I:N'[UHI ;=:O8S/)?L?=[A^,KD536 MF5U]&!SL=.X_Y7VMA^# (KYP8%0?&#'?_B+F\EOIY*L7I=F+DG:#&GUA4?DT MF-,Y&>76E7BK<IW\46FK24/VQ;4#15J_3NK3;_SIT873,_&3R=W6BN_R M5*7]\]?@I&5GU+#S9O0@P1^J?"#&<21&\6CX +UQ*]Z8Z8T?+5Z/W*0E-V%R MD_]26P^?_MDX):;_^-MB-!S=A*0$K<7C&Q$L"K,6[RI7E4J\S]>EM*ZL$G[\ MWF2ISC??^ M>_XVO'DFX/E"%D5I[C6\0&4'\6063P9SP#'+P&DD<@0/L)M(NVVO&PC0$-H* M*7#T3J>JI#VYR9^GVB:E(B&)68H<3N4R3U0$-R^D+B-1%9M2IEB0>2IT;IW, M,LEJL:J\TXFRPAGAMDHX1!D8"A.@?\22M@W]/Q= M&P(7;?_I]C5XNE-YI3B"#,0G8KR4N94^-J706.*@69GI#?"PUVX;LG$@!IB> MSD4FRPTTLT6\P;6TZK;M(SC88$^/$<^YEZO61J?&1!9R16M:V9HQ VV+HBJ3 M+9B%]4C4/32YKLC+H?725!M86D#O*YW+!J[J7EL'+'D@K&1&-@4/*U."20*9 M( HE,P*5[41FH-NU3 (+G=T,[9GLCDD#6MJU9P;BM16$I\I:1>85[&3#,;O% M<'@C:D#?.I-\W@+K,#"_FM^([X!4=ZAQWOH1JT"N,MB*4A9!LE06-K:,MU8O M"1R74.W%)];Y=:DRC3A-R%;0QHYQN :HQ9W,*B@Y$$!Q2D!V(6X!%KX'[W DPE6]PSFHHG96F<^R%)1LV+(EB2N?U1!37 MNK1._(&8X;QW4M @@P,^&FB$+#A'V)/P^<&T\7B\2"N/W)K2!:U0Z/ 7Y6"$ M\K.'1Z$)8G!#];PJV(82-"TRJ1>6P@;Y&OFCD.GOR(,[;P'O],>B_2\:CL3& MF'0/R9#- 2])0%H=3D)>%_!J'5_4( 0*6(9GFY+]QO/^UZ "P8L(P_[_[NQ9 MJ%(;?MIO=;+U% -6Z%2JR/,0N#SQ1&9)'2R!--T@+3%5SJZ\E5"&4CGY>I$I M]R>(#)W(&[VYKXT2G=0,CT25#AF@E?Q(8"#!5JO?$1U)?W6(KL'.F]EP*]7G MSQIR25MCQ9>N='VN$) L^2:(-2>\*.#U8#5?:%;$$:4PB %,RQUI X',:W4G M#P@YZS5'6P@'( (@Z]+LB)(]'P/H-'$*_X!>*W:J%=EPW9JBD83UQF8-)"F, MM1I!"=&T"F'.E\KL'%!:$M8E%+)+@+IHW:F!D@@JJ(&A#-\0H@,BOD M138ACL'YLHIJ%F%EICS=RE+0O@_I=V#\TL^/YX/84_8N4UE*HL_^E,JG?OKL MTVHV/1$S%&FCR;)=^1' [%=0)Y2?#N-H.IIV+/P,P_ 1%$UI2#N>1//1Y-$* M:!418 *\ [%KS1GQ2\/3(U7VEL7F:(0O!"&@@2-6)Y.7/:B4.41Q>%783MP= MDYU.HTD\ZFXYPN/Q]O$HFLUGH1)8K:B>T(.J,",E55FJ_"*AR6(<4'G 1TXY MGD?#@.,/!>,&2,\H+5VZ;SC&J4XU[W.'Z*@[>WUS6?'<8*K2.S6YUU879RX8 M+J(XCCN(4VV>R]VIRB?0>+?O VLK,_GF.9=[1_S/HF6@[]:BA3QXL$%5R$0H M$OH@.W&+T3P:Q;-GIX9^^!2L/>P.>;=-U>K4*D^7TV7@="9O[&^.[-.+;DU3 M5.\]Y\S+>>#,Q\IZD/E%-!N.CIGON2I=?P$OH\D"H:?3_#^;^N?$(V9SV'U\ M=,VC0UOS^1LE8Q1#*$*YX*#87ZN0FF!J>*EES)%:J'[]U37B6[4A=QETG$(R MDVBFPKT2D:+#8>)#NLL377!V9E:ML[Y-*5!.4)&G0VIU/OVU5BXJF%=E7':DOWPDF5(*1478^?\*VJ#2H M'KVCREL,I\^YLO"59;^^T\=QILL+%VU2VX&87U^*/GCS!!%G$+?U-FFVC3E^ MPV0P:5[[XN8"L:.C5-*L%'DLBKK2<4%3B[KG 1XE-3Q+5)>H*=95!C]C ML./RR@\*<..YJ9"OOI I#:%YKR#/DW@P[JGJR7 \6+0KZQXK]-[J^P=9"D7R M51JIK88HMQ=U4_TI&&'0MAYS35]=HQ1!.:4\FM(W:S*=\M9;AP_?G4#B]XQ$ M-+85ZFPO8M>-]K"#VG.-BHEF2)E8*V5]#42M:GJGK:GM5"?OL_&BC6,@]Q&W MF!*>0JY-'1Z-"Z@+;*I1A5[!')1JPQ35QW /\HR$O(^&$)2_.@S<5@7Z"Y(- M+/Z:2]2L=#\J L$#99K$M9W)8ZW4[[1,EO',A-0BF&BO[7DT\7;BX8U4RZ MA=MW&&\I\JGS&GBD5N.V2S]G(Q_$; B9\[8$8GU#[AM[']-KOL-";SF;+V^. M[]L55!9!C#KZM4WYF5@.>5(:?9';U+L>;/ANOOCRW.0@"W 0&-Q#,208C#H? M(;FVJ5-Q +P;/OLP Y3?%-IVS\0*I7R3^58,@R /AMUI1R 8I43AX*2RG%#X M JIL&.#SP?3OCW<\VC):#N)''XW[N;ECNL$NA?#:K6GT1&D_RRJ>+R/0!XD_ M)VW7,9^Z_V9F0B%8YRE7/7&=BDG91&S'ES,\\2]J;*4N]D'KW) M5B/3I1PJSE4*1T,G$_QWHQ&8DJRZE[0E.C)5"%:_CF=U!GS###[K7 $?A-5.,H:PFY) MQ?5PZ=GE)NUK?WYBQ(7_V.N0UN8V8/'A'2=-!\&;PV#W[:2MJ9HL^>PO6?NE MKJ6ZUF2Q&*)SBH.5Y7(1C4?S<-(0S>-)-%Y,>VOQ?!+%06/_OA' MW*<7CA?1= RME9=1-/XE+VO]?G;<E&_D6E2].(N\1B7#UW,O M]&9H]%JSCJ/%LM/R9!F-XT6(A?ER%KZ=S#JK?JLS;@D"B$QFO=V+80?(Z0BX M6H1OEP&LO_;G=[+,.7:VD>[_98$G(A[,EKW'>?]Q.>D]3CLE'EN@^>Q1[!;G MBS.+R_&9Q>FI95Y3W=7K]>HWYWZW&PO M=V]R:W-H965TPD\UGBFQ)="A289.CF?SZ/57]8%.D)N--=K/8+[9$L;NKZW'J5#4Y MK\Y-^[,\"-%Y]\>JEE_<'+KN]/GMK

TQZ_"UW=_*4RNR M@@<=J]LH"-+;8U;6-Z]?\;7OV]>OFKZKREI\WWJR/QZS]N%+437G+V["&W/A M?;D_='3A]O6K4[87'T3WX^G[%M]N[2Q%>12U+)O::\7NBYLWX>=?)G0_W_"/ M4IRE\]FCG6R;YF?Z\J[XXB8@@40E\HYFR/#?G7@KJHHF@AB_Z#EO[)(TT/UL M9O^&]XZ];#,IWC;53V71';ZX6=]XA=AE?=6];\[?"KV?), M;[R\EUUSU(,AP;&LU?_9O=:#,V =7!D0Z0$1RZT68BF_RKKL]:NV.7LMW8W9 MZ -OE4=#N+(FHWSH6OQ:8ESW^KVX$W4O7MUVF(PNW>9ZX)=J8'1E8.I]U]3= M07I?UX4HQN-O(825)#*2?!D].N'_]?7"BP/?BX(H?&2^V.XLYOGB3]G9:*;$ MSI3P3,FGZ^CQ@7]O.N&E?_O+.@JCEWH6C[X&\4OO)^'M12W:#/>T^K<>NFR] MS&NS>B^\9N?ET'%+GEOOO>[A)*3OE75>]05=V)7WHGAQ:LM<^!A:=N9SA[#Q MLKJ HW2B+;/*YV]Y(SLL51ZW?2NS;26\4]5+;R>$70?SBRP_T-+G0XD/ATQ" MGJ+<[40K:@POY<_>J6UV9246WAL$\U9V6=UA$>_4M!QI&-STK=U4*1$F+6*O M\'9M**^BR4')W=!OP1WAG2)H1&&2RJ;&# M!T](;)94V#4=1#!S>W=9U4- 1"X-EZ,=.H*U(F_V=?DK9&ONH'JE.]9*-@@EYNK+N&^@/T]82ZK'V0A!WC;J+ Q@_/8?QRCRK('$O MR7;815F?^LX[8B\]::&'MC/)1I)DY+YML2PF*I2'5!GA%\_,6S4[+_20K#/2 MD@UPFYD9UMJW0LK/E#IRT78 :U9M+*=R^Z /9'.L=638*P?MKCPWO)0:*79 MCG?O9:T)1+(.[5V6$&\'<\'?:=-TA[A'&B1Y]"HG>'136%D6;E@+VC.I GHE MW_6Z,]9MO2.Y\+"P/#1]18Y%=MM:%6=YWO0UV14N3WML:M@&/E/QJIR'ZQR. MN*W*?:92&UE&KY69>ZW6AG4F4[-$W0&:IT7F9T>4?WCKI4&JE4UX<$T.^LVL MVQ,B(-Y+J9S61 FA"7REAF3[!BJ$)%*T=P NNBVS,4/H8N;2#J=C+5,)G<&. M<:.JFIPC 1,P?-D5'E&8XX:9M/X)-=:^Q]KQC:'G9L"R$I_DKB3C_S_@3EM= MD95?^A)^./*DCWVQ/PKM4C1S(?)2ZEC5'H#M[]NF/[G0+Y6&3AEGBD&_\#T* MKP])W,!;WY3]QIO/VV03ZL9CQY)_T@0&+^_XJPJY=!E#N?.RNZRLZ#85"Q5H1,WYAZ :=M\"[@?(USGQVHST^Y/"\L)ZC@WBU]=M52^1LB=FS2I&$\&/V[WY.(GN I)1GCXB 8'>'\C M:3?@JL)R55_Y1^$]"Q=+;UM"!D6"6D%5$0MTS4%^,O+1EBPB*;GN>7]0^"K^ MZ\"I?F-*%\N*OC5VK\5]ATUB!KL1E0N81V+ST-_^!:SLTK.ROFNJ.Z'4J+G/ M'=(UDQZ1'^KREU[(D3%4\I\ZJ*&?.B9F5O.GH_P+CG-!<1A'-=F8Y4R4MXV[ M@'OE?>5R;9&U-6'WCS5A@11 .OJ%& $)6[9Y?R3?(N@ATLE!H#SJPN\U_R(4 M!>'77%CA:29EDY>\ XY^I,X,))E$:5T_GV-TAOSV<@ P%[*Q7^1)GX5#_:QU KE0$!BQ0B6S@!36?%V]D3::Y('*[=B3Q;F/'-J<$.9ZTGJ!TPO M:"3-KQ0E5<+@;(2;Q+',/6;XK$!EUA:[NRM;&."8/7@9:B *U,- J4EK&7W[ M*!Q\'GS4,2$-@WE) "?UZI!7&/-#HP&+G(AH&:S2EL I[>+6011I/38HRTHJ MDBY+ 44HN' A+R&6#C^!K@'@0%+M!'H:-@'-TK3#ODPA.I -J7+KF=(V-"@* M&H(<">RLFK,_MR.'6&B+*9W/!@&KF#AJ 1DEP9[2M\NM*1T@#5%1,^$?Q%4D ME:><#25E<4(BJID-;G':PP@)WM!J1QFJZ4$0UFNN\?2YIDY$BUJ-#556'N5G M<$D 8%FPXHOLF.VI/ =D]J@AD>H87W'%1>IM4\/%5!5/2 %2@?);A[HB+P2+ M4EF?(EN4?-68D:P$XJ@^LT]=HJ9**@:BYO=M>-B1O*HJ?V9U*UX(Y:G*_^RF M)AB&Q.TJ,L=/0JM-.)ZGAEO*-M.5?6#?9B%R3][42!B?BW!][72Q?..6O#,-5Q:0/#*]O-76W<7754QS6 M3@8JZ\RT.FR1U_PK6J$(5(4N@F$O;"6,Q($XY'I!NSHU6?+RQ-.Z+L4(ASV5 MM6K1TMS/#V!:P(Z<6C^<%77=0:D.08LY/E-JY'K<%O&6]M%N>NXIH*Z6W!89 MPO#M?*0 .,!M=8]G2$!#'0IGV=-'QIWSQ2JP2 MD5'.:XI(79=P1P/(IKC %H&FNQT*H4S4V.55A#]UL3,Q3_$S(RB[E_K&*%Q1 M^UGKQ,C$-W*PXR--8WYYH1/0T[17"(J 8;)A&FX6T3PT'3LU].FX3V93]V5O M!;ZC]L1%DJJ/E.;8%9G#V'TLO+=*3XH>2:4MFT/KIGYQ96>^I0B\KH=29\#I][RK%7J6 MM2:)_F-RD96G%:T"LE:,BE!_4J72'9/6#:500T#%/8_=>^/*22C"PAQE5C8R M]RPLZ7P$U#%-1$QBR<%.-56O57$V@W _@3Q1^A=]/VH4P66*CW /=BRN?A16 M$_ZY& Y1\\.+_J3:@JQX"9J2<( MRZGMJ[C/N!!URK]QXM'H5*H.FFGR*;M(X606U8<9KL?\8*J@RGLDG=!<.J M2_[E$,6SC8^:@FBP^=@EQGU5;E2-;C6]'HJ]]]/&%8;O>F:&:@8Y\H91OFQ' M?&#HC:CU''VRKW%\' " O)HL[V%A/O<2=.YUV0F8(1R,_=>J==M#5"40[$W% MM=G"&7'R+%HO8N^HNPHDP[-XLPC,%=_I=Y/9W^TH:5/%PT<9E^7JH)&1]U'? M+5>%13TB&E4CI8Y(/=(WUORHNBI\Q\24N[ZJ7'*M&O,#1S,E&6T7O&-T)$"" M^9=]]@L?F.G@0G**TBAX":QL>R,:UY74R>,?PY<&F^0H5^B1EME4I5)-*:09 MI[$2MQ3J) "?),I,Q?^_S"HV[@L;.':6HR:1]'X5;3,-# ?,NBN-K''[Z=DZ7BRM!RHR8IN%L MC\RQYP;19:J1G*OD59IU9AY2&Z_+==6]%>16M=@WG6(&^I::HHQH3=^JAM66 M AR#%MZ;\:Y6P2)R=S52X5@&TLF6&D3S9P:/9RQ"CZ;?'\:Z'JSPKF;Z3O P M BV5 H;.&HO'=-+)&4-G6Q<:VD%D=A0& ;)N--&(U3!@4,/9QKQU,NHPJ)*\ ME)+Z?)N!VENT V9[SMB_VPEC'=VY%6D#Q@P^,?M1'[68X$2N3^S]JAH7WH83+4H;W M%0OJ.Z5Y-2L786"72H=<0?.A&D#8T%A""Y? F%RCZ- H3REU$2<:MV"&-A;K MB$IYJGJ8F]BZ"XX_G*H6XD3I$LOU)XH6+L5>\&?WN)!;'SX%)=1!?(J;Z?5> M#F?!RNE5-13YQ2E$ON\-.O3S(*@(RON M5,>9Z[M3(TO3J!QK=ZN>AY@]5;\0K1 [P6WQ1T4S">]A;.H\.[&>+_,C[\2F MQO(34B/$.)&3DK.R>R/^FC-D_=PN_+>_;-+5YN55I6;14Q/U4&> 1.+9\8O)R(T KRK6PO+,#:XF=XV&64.51;1QTN M4!7&N'S=!I!JT@!SZ105W)S>4 G M5L[S'+)K>X6K-H3D2Z9*E_MRNJZFO;]SG@WYV&QMP\&YA?3W('3-2SH<+"+4 M@QXNG[83&-JFBTY]D*>>:-'WYJJ4'@YPLF&XQMN9_I/R0M6VD;;2L![E/6?' M!,6$"N1GKH/]OO]M)C<7OD+X'K>P6!P.%RG-TS\!:J6Q(]M;GGG13P61(_3D#@P+GG4I(PV/B;U69Z/5SZZ]7*:=59(SZ?6/&S8=C: M7VW2X>MJ]'60,5ZG_BJ(W"L1%DPV5VUD^M<<$\_28+&QW(O@/--F'RF2=3<\ M(E2HS'] 5N,.X24X#-7&LR@9*B3/E,DZGW[S[EO0[5]Z,.SQT>YC>#=3#_R; M0.\:7#/HZ2Z438NJY<5,1([(H^-K#H72!Z/^+"0\4H9,C.JHX[\_^KZZT*@; M?0%B+8I&\1CYJW5(Q^./:2(,_7@Y1&V8^$DR%RA1&/N)$Y^XDJ[\R GX69V: M$QX5+YJ#FC,!A">!RC@X=UA(ED'@ZMT4.G12EMT5FH1Z7,HPO4Z-@W;2F<4OB[ M#V\X*/[>U"_HLWT<+.,G*M22\M_FTK_UOWZ,53>BKAO%^R#4,V;NOLQGLS>K M2W[HX,?..)T#YLO07\5+Y\HJ]M-UZEQ(@/<)%OP:%'__5/^LK'$I>Q+[ MT6H]N1QM:(UHVJ4C M."(R"@+ZE*[])*1/ZW7HI_CTGS+G)YHUF#6K,>=U,T:KI0]^X:6)OTY3+TX" M@%W\!)-%@*AXJNH(;A%M9JZOUOXR3J8FBR-_'<[- _:0#":+UAM_N9R:BEPA M#D-\6JY@Y&")3YM@[4?A%&K_4Z9Z'!2MH9YFH#3:7-"H$#.MXM"-O#3PD_@I M5EN#@:7)Y'** EFG#M=KT 1YZR&>>:L#$KI@H+K%2D"^=)Z*UQ/TIALEB#0 MP&BQ/3_=@+#&4\+ZI]HM^$2[)6GH!W!@; @6#&)RS.4F\ ,P[M^V4[I$&$X! M<0G]AJLID"W7@1\',X"X0M2 <2=!B.B+O00@%JRG=D@#V"W>CMI #X/AXKI$?3= M^''BILPXB/UX'3A74.FE&S?-/CVKABDF2Z?>@J .TJESK1-_N9YBP-5DB^0< MAM/9-^DT]TO'+>&Q^!JMA?1JDN; +^E, 75I15GTX(PGA<[UM_2'SD MI\GE!$XX@V17>4*4^$&0>N$22(?D1\V+"%79-5X0!0GX24);V:S@I\:%UJG+ M$/YG7.AW4I$_R)&6I%^7JB#GL/DTALN4Z#*?7 M::UTRE*NLAIVFAGX(O(R)4V4)Z,9K+O"==(PPOWDAZL@\)< 8-4C2Y-DQ'K^ M9WSR$VG5'^2#2 ZP .=)XBZD6Y@[7D6?Q+_B@/+.O$O%ZYE,!D!9!M/[KQ*S M&)D?8D8H?\*4FE" L55PE: E$1%TSGX,A/0I 6E+DGA$U/YPY_E:O^D[?D%6 M/S/]^(N_/YC76=7K2E+2,\_\Z!/?QT>OSNO)[NI_WOL6L-2/\COORO)C5#8:Y@WH/.%N MCU-EO^43Z%X.+3[2^X+?ZFFI!TZ6X8[NH!!ZT%R_$]/S-&H@"\>_Z4.KIKYN M.OUDV/A]:NJ[:?W3*?X=O:U%[Y"I0UUE+;[HG#M7#\/[%\Y3'/1BGUS,O;-_ MZ_R-@R-"G/^2 S]65W?JSQW8J_:/1;Q1?R-AN%W]I8GO^.4O"0/M,#18K)8W MZJS=HT@Y($ Q#0 &0 'AL+W=OT"-)VP_ZDI;-$5!)=DIJ3??H= M*5N/.,E:H,,&&)9XO.>/=\?3E-H0G-5RRPKX"/KS]D;BRNFUY+R&1G'1$ F;\]F%=W89&G[+ M\!N'G1J]$Q/)6H@O9O$N/Y^YQB&H(--& \/'GW %5644H1M?]SIGO4DC.'X_ M:']C8\=8UDS!E:A^Y[DNSV?IC.2P86VE;\7N%]C'$QE]F:B4_2>[CC= BUFK MM*CWPKBN>=,]V=T>AY% ZCXAX.\%?.MW9\AZ^9IIMEI*L2/2<*,V\V)#M=+H M'&_,H7S4$G2]:'2IR'630SZ5=]"WWD'_X."E_ZS"7]MF3@*7$M_UO6?T!7W @=47 M_(" )P;"WD!H#80_#-'G]7T0&DCR\T^I[_FOGE=.#)<;O"*?2B!9B9M >$.* M@]#ZGB@HL*0TP7(F&KD4OR-U=V)@3HP@WM#C379,$?QM1(75J\@I:M.E:!6: M5R_.>GO_U?.SYA77'(;(KQN0Q;US"PWL&"(S[-SP+1AL!Y"$9A6Y9!5K,B!, MD]>00;T&20+/AN_VK"=D$=,@#$>$^"$A\FGH12."[T7442,2P5Q0EV4>2Q@//YOIA_TC**;'NS@9A@'&$GR7:%%J8^AQ9-\ MTP9NLC9M?M_B^5\(OPF2#XG*3**2C&DHA#0'9Q*9U:)MM*)D5_*L)$R"(4F- M"G)B6C=16C+37U_:$\0VS/]_R?A/S\RN%4N2*27EOLN4BR]JZK1"Y M2>5;0!&Z!F']?HE/DN70L!I,OKHT#-TCMT^]A'JA_^(XQZB_2$=)X<74#<;KN#7+2@,>Y_$,W+3-1;P,;*"@E@.J)"WQ;N8^%C#.XCMKV! M=RII)(*1MUX<[7L-8AP$-(K'Q78:Q32)D@E(24Q3;XRDYZ9T,<4V3.C"3\=B M,4;O#6!<=!5D\25PAU.< B(V1\6H;),_"><)SA=594XWL=EP3B58.9NPS3 M-DZ)!9:H:WC]X_S%\O52LS?<-IY/<9@WM'"4YS1,/4,;+@#/Q91=F*Z/WP$; MC:X-W N:QL?6CI+ZL4'+&8VQV!T*.ZPKDIG+H9MH>VK_/7#1C<$#>_*5+!!47>>1#,BNP&]6VBQM4/Q6FAL1?:UQ&\:D(8!]S<"QZ[]PACHOY)6 M?P-02P,$% @ [HT#4S 8-198 P ]P< !D !X;"]W;W)K&ULM55M;^,V#/XKA%<,&V#$KTE\O21 F]NP#;NMN-O+9]EF M8NUDR9/DIOGWH^38<=%=L0^W+[9(D0_)AQ*U.2G]R32(%IY:(%*@L;#-KA+ M;N]S9^\-_N!X,K,UN$I*I3XYX<=Z&\0N(11868? Z/>(>Q3" 5$:?U\P@RFD MU42\D,[I7XD]>VV09% #4>6"_L!W7Z 2_U+!U>I83Q7S@-MCE% MK'IC57MQ)KGEG%(?=Y#()_E.V;9;J/5";2S)C2W\*5Z M;TJ.2]>4CU;3+B<_N[NK*M5+:^"!G5DI$)BL@92ZQQI^YJSD@EN.9A-9BN9\ MHNJ"?#\@IY]!7L%[)6UCX#M98_W:R$CVUE>ZE13G#$C2J'!0WP,9QY>NZ4"EF5'[#)=A&]89BF&]O)Z0O]9_Z,RJ>M6=4^N:Y M7KG6:RK EZQ14 MJ0")"G=$Q)O' [?4 W$ 2+\-BG?&H_Z<78>EV&Z M3":I"+/5$O9*=XHR\(>.&@B6/9&+JT_9AG@8Y-$I68=ODFL221:NBPQ^]98S MFRQ=7LG+PSS.7^1] REYO\GGW-!;%Z[6V:CYM]$0S88Q';>C?W(,^ LTS.5) M.[UJ=\,POYH/3^)[IH_$%A%_(-=XL5X&H(=G9A"LZOQH+Y6EL^V7#;W,J)T! M[1\4C8>+X ),;_WN'U!+ P04 " #NC0-3BH\0A5H* !C'@ &0 'AL M+W=OW[]OF[PTF5G,K-5^\46072CN]']^@%\OC;V MFULJY<5=FF3N16?I??[T[,Q%2Y5*US.YRO!F;FPJ/1[MXLSE5LF8A=+D;-CO MGY^E4F>=J^<\]L%>/3>%3W2F/ECABC25]OY&)6;]HC/H5 ,?]6+I:>#LZGDN M%^J3\E_R#Q9/9[666* MQR\Z?3)()2KRI$'BWTK=JB0A13#C>ZFS4R])@NW?E?97[#M\F4FG;DWR5<=^ M^:)ST1&QFLLB\1_-^E=5^C,A?9%)'/\5ZS!WV.^(J'#>I*4P+$AU%O[+NS(. M+8&+0P+#4F#(=H>%V,J7TLNKY]:LA:79T$8_V%66AG$ZHTWYY"W>:LCYJUNK M8NW%M;4R6RA$V[OG9QZ*Z?595"JY"4J&!Y2L;_2S7FYH'==:QZQU_/=B]Z 2*KJG M+I>1>M%!53EE5ZIS]9OQ2ES^^U\7P\'P6;7,PJJPB* 7_=$S\=9D"^&539&' M,R]D%HLH3)[+2"?::^5$9%!!#E)F+OQ2B;E)4(D:DB!>K@9#':'9YTIQA^9ZQ? ("VA$<7W<%X MW'Z<7D[$9^.Q((=[6]WYY+([@2_;XZ/!M-N?7H@OF4RQE/Y3Q4&!=JZ06:2P M1<[O6GTR[DZ'P]/=<2QRVC*D*S+E6P$ZGT#P\K(U,AJ<=R>3J7BKG'L*5+&6 M8I63,:8)]LGYL#NZG)ZV#)@&"RC/GM1Y%M9#-AU2A%W#'HW[P];(\/RB>S&: MU".?D8EKADQ$0ZZ4I0W0&191S@LKD?_0Z)MHHZ$XCT2EQ)6^R2U.'\K\C>3B M?%I+)X:]RV-^/>I-C[MH(RY7W B2^UYMS':%U2_>9^*3RGW0.[PDO=A,&"X4 MFQJ3R0;ZA81<3*Y@*7)!DE]E,':*9N&7XO;US:VXD=DW\>73=5@C1JM T2..; M$ZX7;:6,(^9)@AXO9 WV^51Q@^=(6FI[')I&6$P:A7"<()FE%31[8K6NJ%7J\_3M1+Y$*L4%R27$$R5X?32])*+M\C0YM1Q@SWF)TPWH2[K>%K5J9 M9$6YLPF0,'--UL_NV=S2SK!C<->@U7Y3O*JC?)0M1> "VHFY-:GPH"DTF?]S MG P7-R25]Z20JJ522$V1^<.!\N!;G&[@-9&Q,4G/ ME?2%A25+%,C:% G>$]:+PK%%&4P @>&%Z[@)V$,#,V-M: N11#M":$1!P>"7 M'VNO2UM>E>$3"%SPYF@Z:1PY8#<5)-'*N$BJZ++!L+VIAN&HUZZ_-S(KP!;% M8!)J?;?ZR,!/"C%!";6J\&-5A3MF;!1"*?%PA9' OI*IBZ),G&ZH;L:H&@CH MR11VUX[#>X*H'HTW,J-$F06$%P2.N86HSE&%(5,HPXX N[U)+=)V\S?0X_VE M L7JSJO2#]X0VM>8$3@PAAW#.>G;.T9:MC;JO-G%US \AH;2#U*Y84^ BD,[ ML4-@U!V>**@_6N/BI(S"P31N=OO_& RZ)3!S[;N?+_V-V/^/RK_:^NNM3MT- MS0(U;(EO--1#50SF3"KC(N K#MU^9F[N(5Q.]:PV[G4,4F^ MDS9:5G1JT-O@;K C0E54.;]C/\>\<*%N F4(V2KUKXWBKXKB MK\'YF"0?C7O3NAHP=Q]IC@%7= BJ72I#3?,#-73.($>HC!HH/P0U7#XHY)EB M"*_I.H)2EY#Y2'-V\';!6^4:PDMQ:/9!4\P>Z:D;Z(A3/95V0:V^C#RYW0O0>G M!/4QIS(-U.#=P.;^D_%+&>^+VN^,QD3U (@&@%?A"0JMT",!S0:!]G#V]12JA/ M-D:&P]%?LN71U,ON [&.K5QG/Y)_J03TDS+%6 $+UDL#ZPPE))\+R%#22UVP MQ"9)]U84\*:D?$$>G> MQE"QX@5-BJ1;TI05E!B+WM;<:)RHNU*P->B*V1\X:%'YY? NL(1$ Y=.R]8& M9E!0'"Q.Q7I%J=,3M\H2=: PT**Q20$<.B)M3L=:6CK,+7$8#WPE%G\877KM MU(IK;H&TEAF?^J!H+E?&5M!7T27B- 1F(;_.,_K@!4MZ;S. (,(6)-0JUYIQY-IB=9CB1QJQ3T%C$&[ MW#@61NMC-IFAUHZKC G7,2&C-[HV=WO-E!6PR>VY;K9->.?F$5C9OM?I[;^( M&917)'LO8C;OD-Q:YLW]2^#P&6T.N8-.;ARSYL"_YTD1^4+Z*C:4.@RZ&SI= M(%"L6DP#$KCGFP,Y:;VR21 )#RGY1C\_HQM:#C5L9*U9$U>K.\#]OC#M MT<%>/%+PO3U)L3<;!OT?28?FEI.$M@-0)T:):1E]LB-L+VP M%GA0$N=JR\# MOI8:;DL-!ZX$]@5D\PS;3I36>;;I>X^L](.'T7T?K,Y:'_Z0R0O^O$F??-!Y MPS? >K3^@GH=/APVT\/GUW<,!PZ%,(=HOS>==(0-GS3#@S]-RC^7 M"H3)T@2\GQOCJP=:H/ZN?/5?4$L#!!0 ( .Z- U/7J8E_EP, &P) 9 M >&PO=V]R:W-H965T$N#2[J7#[E:DW>ZS8C.Q4%GR)+GI[=>/5!S7Z9I^N=L7ZX7DHX>D2'FZ M-?;!E8@>GBJEW2PJO:\OX]CE)5;"#4V-FB1K8ROA:6DWL:LMBB(852I.D^0\ MKH34T7P:]F[M?&H:KZ3&6PNNJ2IAORQ0F>TL&D7[C:7B47YI MMK]BZ\\9X^5&N?"%[4XWS2+(&^=-U1H3@TKJW2B>VCCT#";)$8.T-4@#[]U! M@>6U\&(^M68+EK4)C2?!U6!-Y*3FI-QY2U))=GY^C58^"HX,W&CG;4,!]VX: M>\)FC3AO<18[G/0(SCE\--J7#G[2!1:']C%QZHBE>V*+]$W WQH]A"P90)JD MHS?PLL[1+.!E7^'H ?"X QX'X/%71_!MG$_&(XP2^.&[23I*W\/KN$&<9._A M,X*P"/A4&X<%> ,Y6D]52+?#/E U6^D>'-6-$KZ5ET)OT &I2.W1HB,E$KHA MW!NHC);>6!"Z( 1-!0F^1(<'< /8(I2"*)&Q6"E)%Z\(HM:&.4)ME,PEG<18 MM34Y%HWE8XAS84 ;#\@$F(:A$NK\E#T_UX'+%Z@;RQZ"(3:6* D-=.9&ZLVA M%X'%$#X93;IK,(T]ALQA:SAF?(2WHF"L]A@BN0_PS1Y]R>C+@+Z775DLI'^Q M>5\B02IJQ4):>!2J>8UC3@5DJ4MQAG+54!EQJMCLRE!1 M::9,,T?1+4).%T()G2/<?*Z,V/I%.!DF(EE?1\M_8Z MW\/YX-U9TEN_&Z3)V3?W_O\:[TN+>- \.]&=?'I=\'+LHDR7ZN07Z@&GM.4< M+#$W&TVW[]FT2^+1C?U(<,\MR.T2%Q)VD,IC*>RVJ$'QU>WE9]Q/UB2;]%8G M:79Q>I#:]")[R>RUGAWW7L *[2:\\XY*JM%^]QAVN]VOQ(?="_JLOOL/^2@L M=1<'"M=DF@POSB+J+>%MWRV\J<-[NC*>7NEW""TKD'QMJ).W"SZ@^\&: M_PM02P,$% @ [HT#4Q\S\<23!@ +P\ !D !X;"]W;W)K&ULG5?;3R?-Q)949G)_&M0_N_-0V02M# M'YSP355)M[DD;5=G@^E@NW"KEF7@A?'Y:2V7=$?A4_W!X6W<6 O12O?>Q;LR<+:K_QRDY\-)@R(-&6!+4C\W-,5:>M]3?1=_BRD)ZNK/ZL\E">#5X,1$Z%;'2XM:NWU/ISQ/8RJWW\ M+U9)=CH?B*SQP5:M,A!4RJ1?N6[CT%-X,7E$8=8JS"+NM%%$>2V#/#]U=B4< M2\,:/T17HS; *<-)N0L.7Q7TPOF-R6Q%XJ-L-R"&SD/X;J*#)SGUKI -X M?EV5"KY@<2-LEB$::0&&\==X$O?2M?'=;-4?"$KA;-6915[:QQCM;O\4,HXV M.PSBE#HFS9&6'#/H-29K/8Q1L%[%K V%*J"T&0K)T8*A6!TQLHBX\33J%TEN MA;&!I7234\3\HP;';4&&"A7Z"%C84.@RQF+:>FP;@E.+)J0<\0XP:8*S6G.B M.M^ G:OJ@0V!/8;/A%2LG">8\"J')@(BO3\(I;/-LNP)F3QZ[9NL'/X+5]2/ M2%6 %RM##@7T\>'\V2ZF3U/4V"7.$JVW;X_XZY\)#+\(S*NUJ!+C$3.> %]1 MQU?1'!XF8@5W9L>CHR=IZ>5H\F2(%/@ZH=*;D7C3FBR40TA[AM&>L?OPNV=T M&(/>^9,K^.A\JDLV]&ET-Q(%(=)HDUT/NK;E9U. 0+>" YQ"S^0-;8L!E(+A MR$*LU@]_V[D(#)QM@)WCC8^U-4A?Q IR !:JMIGRNSI]#[Q[J'IY=10:9U*% M+)%8? 8H8U&)9DFNSX"TEF R&8=X3 34-RA>CXK .R$ZT^.4]^0V16!:52HD MK=.S=[8<&^,LML8[BKBLA0.:64HLHI M,8#NB*6B4-I\)*X)6>->8"^BH-^3W'9-C]*BSX28.T:6\DY@$=^A3'5DI,D4 MHNR("94KF(\KR3SOEMX0BT>VY>\Y]PEH*S+\CKX[TD!2[$]-ZZ0 M%<=B"U[J"!W(L570!,_?VA7=DQORF>G'$.R[; T2T58GK0-J#8\82ZG[*TZZ M5E^9^K%L(A7&[Y'E5TIK1MFA2(XU*-J.C+JZV TENL<'A'4H=OQ0-*A2M@3@ M7NK4G&OE8W0!/_'/0[D9;G5K9[_0-IQ1/G5!8CI-9AG*[4CN H+)Y-P&B5]) ME[?S=Y?(;G3ZP.E9QKFYH[V(TE%%TC?\8V)K/QCU[RH #,5'"G:<625#;)=\ MY##]2;Z?*=71:CLZV\,"!XK+B+?O,8(1[Z1#M^4:+RX4 MIL$M:47%, )\C9S92F7BCC"]N91L3>;04O M-HD:[\3O%BDT,1C*1"JV/%;:&KMZ_]?-]<'T)284NAB;M8>H-F1O;JXN4N3E MIHK$MQUB:=KE+5E/XO#6N.APO75\T&'D+*%^DUUT*D/]]7 ^.L+)'C.'+REA M?Z2D$"B_G?0QX!=9YAKZCC,@]AZ;N4B@!WSZV_MNT\R^8B8WW YX\E:K/)X* M+B5**B-QQ_<(M*K4Q;8F.[ ,O(ES])HRJA;8:C[MHV1I&R&4K/^X_&STT%%\ MW+O$5.26\:KF1:38=)_I5KO;X$6Z!.W$TU42-;94('5-!50GH^.C@7#I>I9> M@JWCE6AA RY8\;'$C98<"^![87%4;U]X@^Z.?/X/4$L#!!0 ( .Z- U,T M>I'HH00 "4/ 9 >&PO=V]R:W-H965TN M*B30Q#+EF1MXWM#-*>.]V=2N+>5L*DJ=,0Y+2529YU2^S"$3N^N>W]LOW+-- MJLV".YL6= ,/H+\62XE_;H.2L!RX8H(3">OKWHU_-8\,O27XE\%.=>;$6+(2 MXLG\_)5<]SRC$&00:X- <=C"!\@R X1J?*LQ>XU(P]B=[]$_6MO1EA55\$%D MCRS1Z75OW",)K&F9Z7NQ^P2U/0.#%XM,V2_95;1AV"-QJ;3(:V;4(&>\&NES M[8<.P]@[PQ#4#('5NQ)DM5Q036=3*79$&FI$,Q-KJN5&Y1@WA_*@)>XRY-.S M!=NR!'BB".4)N:62,[Y19 F2/*14PM35*,70NG&-.*\0@S.(0_)9<)TJ7 3\N^1]$GH.";S OX 7-B:'%B]\$Y-?B8@:$9$5$;VA M5R\CW@D-Q ]^_VT<^,'[[^$30^>%[\DCD(*RA,14I21IN))2(H-UJ$7 B4>H M(FN189:JJX;__XX+B#,JJ4U C$\@]Q +F51S^UD:]6YR47+=T?\CK&2)18($ MOE-IMT?\3&6C_DF/G@';_WQ)3;B^8,W71*S)NM0EQD(;MDR1&&L+ MAJZA* L,*E%*[ U;X"782(8Z%QP,^8)IFN'NMY)),*!5NA@6! ")FVO&*8\9 MSA X829.'9,(.VP39C3B)':.T@(I+9EM)C603O%4D$2A?E608VH!BDJ0.(,M M12U7+P3)R%Q0#'LT:H&Z8#Q(U7]EMJ:K#,C*-$F"W559;0UC+/*BU%4&(3MV M(!9;Z0G+2@VMQ:1 993-'NS5EE>G$BJW*/9,\JHL@RG+!V?5U( _&$#X49F,S%NRB!]1IK@1%8J\*4*E%!/&:&\5J8 M5,42DNQ+1ANF+?2)V?"2I'T50S%XN8R?2,F9;I$'@Q8GG'30)ZW^833Z$:=> M*%B-],@)QH.NWX;#<;N+41R.NKNC\:^+X=MC,\[EZL^+\;D-W#;/O7['?R=^ M._ZSNYU;1WU:K[9'%['\.IB[7:>+EAF-_:!9OHNMIGJ%=.L-F_ F^KI MTY)7#TB\S6P8=N ,ULCJ]4>#'I'5HZSZT:*P#Z&5T/BLLM,4W[$@#0'NKP5> MLNL?(Z!Y&<_^ U!+ P04 " #NC0-3NE4%9JQ8Q870W>)#_=3&B]7_!O*;:V]YL1DZ76GVEPEU\-8@(D M"I$YLL#Q[ZNX%45!A@#C2V-ST!U)&_N_6^OO/'=P67(K;G7QA\S=YFIP/F"Y M6/&Z=SC(HWS+';^^-'K+#*V&-?KAJ?K= "<5!>7!&3R5V.>N'YS./F]TD0MC M_\9^_E)+M[L<.5BFYZ.LL7(3K*1'K,S8;UJYC64_JUSDA_M'0-3!2EM8-^E) M@_^LU9"-XXBE<9JZ+)'1EE9VDW\()JVM1<[2:;0XGS.N1--T MPNR&&V&97K&LOU4JYC:"6?G(RA _0?%C\+[HO._MX >&L%$)7T;%+F(UUAJF M:\,*K=8_.F%*K'!"^7*K"J[8WPE<&E^\_WC//F#"#Y.+?PS91SHWH-H*(UA5 MFVR#ZLK9]A/&2_@VN' 8+(,F$\C%(Q6, MLTH;[RF !B9IL%G5O&!+K4"%E[H&.:QN7>-=?1 _[F FES;S2U=&EYX=U/4S MY+PR,A,'GMX[^75^\)$Y -K'ACW(O8DUE5ETM*C=7S@[?HGR<=+(X0?H)503KVT@^)Y0LAEVYOPU/R9;;&"%>E\_;3B3F49J<^R=) M'$VFR1&->%KT/&1S2^-+C8$P1$&7:!0L[Z4T4UK]*,JJT#O"YUG8]MF-YB:G MP5MI8%X;.^QS>G6%[ADELV@>3\*C>90LIO\/E(Z&BV">)@ED*'\'18#)\2*: MSR:$W"$Y*)]"UM=*(B=;G;U_^&1;C8V8$IX44G@EI*O)%93.CC]Z :4[!IAL M%#(]TPHY29:A.7U_^2+" K\J&4?39,;HH.,[VM3]!K;QWE5WBBRKIFWS4N\K M)L,E:&4;C'=WO_K@Z]4*N/).BC'/V@!9OU%7?D]?2?>)\;*F)E-6"9/1[=+) M:Q/D5^N1#B*3H_B[HM]3^(9DC] Q9YL>J;V0)5$\/H_&\>)HJK\^!TYGY M<-%>H;YZT/(2]D9'D>QZK;K(G$V'2?_"#>XX*";Q2+]1N2HKZCRHZ4?#\;CI MU9$N1@3=S+3==P"W&OY11!V_K"YD[M<\./SSR''^G<)98I]/#X"GD$VSX=)(*]''+^R9G:Z3GR]?(97^,]]8O"%I-MA$5OPE29 1>KBS.X*&% M:%*GPP&]B<@;3TL$UW2]+&06"@)H(\H36_/01&PW$C1!T'/P%>ME,U0F7HH8 M.L4XCN(X/II+4$GVE1?8=#;$NH1J)"Q^WL^U9>G-PT^AKIY W%?/V7@*DWV# MU&NMC;9(=Z,S0.YX%,AEE)C(Z\P'Z"!:;>7"7\0#=.<*)U )I$;#60 M5SCL4>)E#S<#.TNF\WTS&2 I7_,-H!?W3!;#\4$#ZE?5-C@=X>6[9\T?6@R# M5P^J1*J)VI#K]OWUFS+(PBVFI6-ONC1\(0]>ELI>-9![V;WHM- WL[V">">6 MIJ9J"?60??*,7)LJ+ZSQ M-8BH%7F$L"(VI$XDI8W<4B5[7HA8L!%2R <5A@U;<0\P"DXP)[6^D6CZPM$> M &V$4V'T:XBG$FOMI!<9MQ(^IHN$X$.A7;CQ6:Q3S1':M5VE7W74'4EL^%DUF$^?1&?1HR.=SI+ M_S3D\WYM_"_(\:RG*P?)0BF+TI4FO#QT+?(X>=),O/2./^I]+2F%6?MO0M3- M0"O"AY-NMOOL]"9\;=DO#]^L<'FL)32E$"MLC8?SZ8"9\!TH#)RN_+>7I79. ME_[G1N!R-;0 SU<:[_[-@ [H/L9=_Q=02P,$% @ [HT#4V;]JDET!0 M,@X !D !X;"]W;W)K&ULO5=M;]LV$/XK!Z\8 M6L"U+67!-50F[NT1EMF>C9-0*/LIUZ5DP M/3^MQ1JOT?]97UD:33N40E:HG30:+*[.1A?)R\LYZP>%OR1NW> ;V).E,5]X M\+8X&\V8$"K,/2,(^MG@:U2*@8C&USWFJ%N2#8??+?JOP7?R92D38Z&4&!*]$H_]%L?\.]/T>,EQOEPG_81MTD&T'>.&^JO3$QJ*2.O^)F'X>! MP&>U+![_H HM#^REQZ(BD+9'+]%' WQL]@6PV MAG26)H_@99UC6<#+?L"Q Z!Y!S0/0/,?CM#C=N^-1TCF/_]TDB;IJX@"/)IE MK^ S@F()B(*2*IVW@JL3A"Y@(ZPTC0/:>"PU6BA8B5PJZ26Z,6Q+F9<@+,(: M-:DHM0-E]!KMTW#PWEU((V^GDN=(Y*+!6V=/0Z,G<3=J) 7I(\![DB1&)E!3$)*-*!:+VD M$0'5O$ZP*\6FB\#:8C!P5/J^;*7$C@G$46ZJVFC6N=]]D>>FT1X+H#8%#FM! M5%'M)O#A%NM@2%Q40V5+'[?= N$<\C($:1M245(LN]#O6>6-M>SA;=N!+E! M36/AM:%8:D= ].6,DH5@FI="<63AFCZJX$F!E[W$]3KKI8$WU.O@-O &\\LD,6HB6SZX&W)6J0H7SH ME'%4_DO*<([6TQ%#>N0\&DO-OKPN'%3&>?:JX^.@,)0YSWMC M(PNN+Y!5K61.*W&M!*X-0;$)<;8A MZ)/;_5ZY-P/[Z+?QGD!H&>1CS?4#*VNJAU(30M5EG\D =Q0^D)YS6V+6\H$, M=I77ARIL3@J B$GMM5T,-%&2-OC9MBIVD2>M:=8E=7#NX\Y4P:^X7RNQ>Z04 M.E(N;."FYKDCV*&P%(A/)?:I)D2U#XR/=X/@/^>?/* =1DU).LI?+(8K)(:% MS+E-A!R[9MG:Y^A(32)-QLC@9"K)Q91F\_ZY# M>PP:P[G1ZG(,N;FW> E5PB+K2R/)CL0O$C&:7)T4%6S\8OYHI7< M=S.=#N[Q%=IU>*TX"'>;>*7OI-V#Z"*^ WKU^)IZ)^Q:4FM4N"+3V>3X: 0V MOE#BP)LZO J6QM,;(WR6]*A#RPHTOS)T?]T/>('NF7C^'U!+ P04 " #N MC0-3G(MPXAD# #I!@ &0 'AL+W=O))8Z]C!=AKX]_?9R8:" MCCZ<[B6)/=]\,_/9,]D.UCWZACG0UU8;O\N:$+I7>>[+AEOAE[9C TME72L" MEJ[.?>=8R.34ZKQ8K5[FK5 FVV_3WH/;;VT?M#+\X,CW;2OW!8Y3.+5"T;KZPAQ]4N>[U^=;B*^ 3XK'CP9]\4 M*SE:^Q@7[^4N6\6$6',9(H/ Z\1WK'4D0AI?)LYL#AD=S[^?V-^FVE'+47B^ ML_IO)4.SRVXRDER)7H>/=GC'4SW7D:^TVJL6V7&M_@Z MZ7#F<+/ZA4,Q.10I[S%0RO)W$<1^Z^Q +J+!%C]2JZPTA7_(+N)=V#H/'TQDB6/_KG M2&W.KWC*[U!<)/S0FR5M5@LJ5L7Z M]FKG>3^#;_I=[EA0!7U%:6_N!::.J<+9DES*,%[C/B7AAT7.0AY:DW MXJB9@B7A2W8!K4RA8<+%5KCW3&CFTK9X5V1A<%1JH=HQ!?USL%MJ[, G=@L2 M50#8\2EV9P27UGBPBM20@PH-=GJ#'DW6(!Y!0,H@DXA4DMT(=>CBDXC9PM\) M4S( "($BDB?LR%.B'66/-D([WG% N2!;H'WFZH^L%7+UJ%> /5 C M/+7L5+!.V=['!L<$B@"+P54VYZ7_Z!P5PUCT-JKYC3KK?4SD7+QS@D%I3<:& M!6J2ZJ1D+S3EHPSB)YMUYCK\>Q]=W^/@3N!>NQIGA5E5P72U_N\[(C8-U7 3; MI6%VM &C,7TV^!>QBP#8*XN&F18QP/QWV_\#4$L#!!0 ( .Z- U,GYB33 MR@D .D> 9 >&PO=V]R:W-H965T/Y#-$8F;@)0D: #6:_?5Y#?":0U[O)O&7 M[!>) S0:?;Q^#9#7.Z5_-ELA+'LHB\H\N]A:6S^=3DVV%24W$U6+"C-KI4MN M\5-OIJ;6@N=N45E,XS"<3TLNJXN;:S?V3M]2?P M3REV9O3,R),[I7ZF'V_R9Q<%RL>9-8=^KW8^B]6=&^C)5&/>7[;QL'%ZP MK#%6E>UB6%#*RO_G#VT<1@N6CRV(VP6QL]MOY*Q\R2V_N=9JQS1)0QL].%?= M:A@G*TK*!ZLQ*['.WKP7M=*6WQ6"?1 ;1-N:ZZF%8IJ>9JV2YUY)_(B2.7NK M*KLU[%65B_QP_10&]5;%G57/XZ\J_'M335@2!BP.X^@K^I+>R\3I2WZOEP=: MTUYKZK2F_UGLOJ[D'\H*%LW__*=E',579U0RF@J3*_9QJU6SV3*[%4Q4.5-K M"@^"M!/,B(T6&VX%AAO@M#'8QA@F*ZO8&KA' ?6:3:OYJ5/U3NV$#MB;*@?: MM.0%XU#^JMI @]"RVG3R@1>7M2 ?G-0GY%MO8!:>#Z0^65E(*X5Q8B\E:;YK M7!T>R'W4O#*E-*[&'Q>E&1)_(>]ET0U/8+,;74MM+/O2<&V%;L,2N;!D6UYM MVIB<"0#"PS)552U#[*3=0HP78Q][Z9P%"9C]U6H" IN"ZV./IGNC++0!_:UB,/)+%:UGQ*J,L M8]AQ>I4)QVMY:X41K *9=C&:C/"'@#9:DUOG@YD5#1EZD/^#=+^J )?]]+W M#K38G*:XQU>?Y;80H-_W( H^GA 827^!494;MN6&W0E!G<)85P@(&))+:^B1 M=(_\PFIX6EFG;O#Q%<^V76;.^FB@L\3.+EY(E"PE0CX47%-)B-DM!R)J08&6 MOPC"69]22'QI1&=2[^5+#6PC26UU_\WEV"%%Y,/^7 N6R_5:( ND3'K@"#BJ M2ID1W#0:'6)BK,PB.\AE+8+>74^0YK1BLH;GU% MC*R_Z@'DJ\ J#2^J>ZE57\MC4_N=.^..@4[&R[7,/-ZP&C4EJL;S'BC/N("M MI758[*SSF"$OZT;7BF*4<7 %[,91AFC@2R,1^\]-[A>TE5^#NVB3@5!\7?>) M+_F^J]@A8SQS=LB6NBDANI?ZK"314B=+5O:^$FY*G%MD78C1,TSXHU]-T[1JCV/TL#AVH'8Q /.J(@U<3Z"6_)<'&9SK6#*CD11P)S=P=DU M'#69EG677X^=,TURK.B$UUHK!-6\:\\X^'H&!!' VP_639+A Q^X^/-3NA\' MS]+!594EZ**+H?<>[%84XQ9$[:ER- Y51'$T+!Z( :#'%3OH?L.] G<>UJ"* MQOI0Y^..ZXIHW)/-WEA1'A7'HS3^&Z*!"+P V'/^C;'QG-KU&#$<3P+'1R"T MH8^ #7T[A@+<[H.U02"0$$.;8XE,U%J2C!]&Q@LKM3X%'1L0/ M0,A\^P\0>%2">,CX?3NP+I1R>V.[(F!-O=$ HB$#:HXC2H"N8E'=)CA)W$&5 MP@T/L9;<=1=FS%#]$V$@0O+,0Z5!B'"5<=@M/Y[IU_^S@JB[C<89.XYD,(CU7.+19G%" MIE]CU:-2HC9%C1U]#2EPX6K*VH7#TYK;B*B1;&EURTR$TVF]E MQ(X:9D6<[XO0=U6@E9WT"YQXR;3.7#9'Y00)M"\.RJU=@\T MZ3C0]0-+%P(T>R#A;M\G&31:J?X01:QNAM,LGG$O1@Y<\[[]\(+%RY#E2OA% M_G!*K:IM$ 1Q@]54 /U)M-O)[SWXWYT&W[=N=^/=[Y&1Y#DU%>>587]Q7JK& M(%+FKP.O?Z__/\!C=S[::H$FY6_,@F[,#/==X>Z[QVOH)C/^$7[S;I<$Z?^* M4%_M#@O?)G6G$5XL@UF2#E+A9'$YL%HW'.%&&2U6+$IHNE^\7 6SV8HE MT61U>12@)VRYC((Y#(C"<+SS$[8*ET$QDZIAM7[O&\LY?>+K) MU^-;T/\K[Y[%[F\"=!?C;Y4[EC^;F^/V^%6ALRR\#)8I0N$(1 MA YQZ0$246(+-)+5V)0^9+A+[F0QZ*&[%B]5XU]E;;II+3*ES[RTHU=./:8< MANA^@,&7(A/E'>X6211X/$DS.L>#J]T7B87;.(I\<.+P:K"(%+VI+.YJDNZ; MM^Z [J2B(92OA<+UM\8-!+G=T W+Z8L'TB$U/E1>PX&G)?^LW'6M?Q?K%TFZ M6FAY#TO76I6';[1.;YGNC3ZOT:(>)-V BCU+*=JT=T)XVM ]VEV!G+KN%H([ MJZ$WC.UKH4.E>:/[UYB/EG$?SIA06NM;+&]6<_O >9L-MS M*3O)5W#D4$*H\@ZM+H]W(@?&5SCW?LQ?NO*O>OF8D><^FTU'GQ^1BXW[R$HO MR@%6_R6R'^V_X][ZSY>#N/\(_);K#>[EK!!K+,51?';!M/^PZG]85;N/F7?* M(O'N<2LX,$$"F%\KH+?]01OT7[=O_@U02P,$% @ [HT#4\%V"AI< @ M+P4 !D !X;"]W;W)K&ULI93;;MLP#(9?A?"& M717Q(>D!;1(@:3ML [H6#;9=RQ83"]'!E>2F??M2LN.EP]J+[<86*?Z?2$G4 M=&?LUM6('IZ4U&Z6U-XWYVGJJAH53+M)G6-1<:C2,FTR+*3 M5#&AD_DT^N[L?&I:+X7&.PNN58K9YR5*LYLE>;)WW(M-[8,CG4\;ML$5^A_- MG24K'2A<*-1.& T6U[-DD9\O)R$^!OP4N','8PB5E,9L@_&5SY(L)(02*Q\( MC'Z/>(E2!A"E\= SDV')(#P<[^F?8^U42\D<7AKY2W!?SY*S!#BN62O]O=E] MP;Z>X\"KC'3Q"[LN-C]-H&J=-ZH74P9*Z.[/GOI].!"<96\(BEY0Q+R[A6*6 M5\RS^=2:'=@03;0PB*5&-24G=#B4E;J)&N;2 MJB4S9!2L4]I6;P+_-;J$8RS(RBR(G^'-QY* M'$?>^)]*?(6<#,A)1$[^8]?>)WPW'B$__?3AK,B+BS]Y#L)$-KZ 2^9JN!*/ M@J/F@_=6PZ+=T.V <;=-1^!KA*5AEH-9D\#2K3?6T06M)+/(@4$54'R/HJB/ MV2@[@0:I1VN*":[**$6]0M>NV@*U?#>JC>1(, H@KJ$U6#16V'A4)0'VQW4$ M#7MFI228!I*SDAX"N*5<0E1^W$6-_G8$Z<$E5F@WL54=9=1JW]WGP3N\!HNN M"7Z'=T_)#;,;H1U(7),T&YT>)V"[]NP,;YK8$J7QU&!Q6-.+AC8$T/S:T/'T M1EA@>"/G+U!+ P04 " #NC0-38-84IKWTSTS "A2N>R^V!2)Z>GIR^G3/7BU;_WGL+6V M+^YV=1->GVW[OOO^_#R46[LS8=EVML$OZ];O3(\__>8\=-Z:2A;MZO/+BXN; M\YUQS=F;5_+=!__F53OTM6OL!U^$8;O M.K.Q'VW_[^Z#QU_G64KE=K8)KFT*;]>OS]X^_?[=#9^7!_[C[#Y,/A<\R:IM M/_./'ZO79Q=4R-:V["G!X+];^][6-05!C5^BS+.\)1=./R?I?Y.SXRPK$^S[ MMO[95?WV]=F+LZ*R:S/4_4_M_@<;SW-->65;!_FWV.NS5U=G13F$OMW%Q=!@ MYQK]W]Q%.TP6O+@XL> R+K@4O74CT?(OIC=O7OEV7W@^#6G\($>5U5#.-73* MQ][C5X=U_9MW)KA0M.OB@[?!-KT16WWSH:U=Z6SX]M5YCUWX['D9);Y3B9;KSZ%=5O$RJ?CN\E&!?Q^:97%UL2@N+RZ?/B+O*A_Y M2N1=_9$C/R+W69;[3.0^.R'W)UO6)@2W=N41D7K2_T7"3*GKK-3U;XB\M%4)@^#YTIK2OSSK:S-_:LS<_VV)C&^M-3^FZRP"7^\(4WC0; M2Q.7" 7/S&LV17_?V; H7%/60\4OUN[.5D\Z[TJ[P%+7I\\]TKXP385 [ZUW MIE[(7V4;>FSE=JO!![.J;='50RC6UN9](-^:O" MN_"YZ'R[=K5=%F\!1JO0FZ;')D77>HE^+&X'GP^%8,&I@!U5L?;M;MP+6T!H M$4I ))\RE?UE@,;U/7$!-JQ4[YZ/ 3]ML8>FAF!F0MO@!/>%#3@L3=BW/51( MLHM;4P]0$,C#Y6%VPHEBT:V_0K?V%J97RP6!0OY>MKNNMCU^7MG2#$&< H$B MSC5#"_M!;!-@GNPO@%#?ZE,"0/CI&S@/05E#XR'0=SB%:[JA+W8XRT K#+"V M">*D0"NV=_T69Z+-<=3.2JT:C[@LWLM26*5=S4]?&)\2D=[AV8.#>L00 MQ#L/S2?L'B1:-^"\MSD^/2D>4?WQOO$\:/2F[-K1V#[[@V M"UI:C'HD+OB]:RIWZRJ&#F,C3((C)&1*ID"RN@KVA'VEEDEM:24'HOB0DC6; M#"==C.5DD42F<%D6/[1[&,4C LK2T#D""D ].=ZD<@%O?M/V$6__V*(%=TL1 M/=/^D21(<7\B6+7D4%:[HCG%7BS;E:D%74#J^42D#VY=F%OC:CZFN5"#1C12 M?PC5\/L*<#]"?JR)IR3R]]^5E@?NTI#3&G&/-C^YJ]-8(W*7 MJ4PJXS&(8[]AB'<(%6I&/'S$@B.\OQ7F"TIM,Z5>:'Q4Q9=/E]?%RD$')4'> MLJL3A4X%R,])/QXI(Y+J=2?G@\&?7WTU^-O>MQ2$C(!]%: M(#P2AX?]-D_@Y2D]<\UM6]]:-6/D/KW0X"6U$'I %K:.50S5N:JD'2)"PE-W A%UL<:RUH?, M9_?6$'"A9NU8_1IKJY#_JD!K[Y.>0/X8V3L7#2J)@,**%:)= B97RW$V).T- M]<'.WF[H8:DS'?IOF#D*:>XAWG(EY:NA@A8,J49XR.Y<60C#%P.J6SU.=^L\ M'+ S]X5!#\1$W8Z4FE8S_.N3G>#S&*,3%W(9W$L%)J5WTE8R"B)@,8A(R^ 5 M[X!3,<1S@"AIW;5HRQR;I,-60 F%-"Z,$K)TQ EL#0 'DL8@B&+$!932^O%< MJ1$=R4;0VKIGV88%;<4EJ)' SKK=+XZ=:$(LHL?4YD>30$Q,CEI!QT#84WM/ MN37+ H$7_'-%*E7;8,0TRZ> M2 %2@?8[IKJ2%\)B4.\SLZV3;Y,;Z2401_TL,76(FEI4$D0=/W?B83M&5>T^ MB[F5%\)XVOGOIZ4)CJ&Z?4UW_&RCV>PD\G1YIEQ'.0I72= MB)V&E" .,9RQ 8Q^*8)H\WOK4)_&4RH62R8$_BOPVMRXQ M_S063^0JB8P&;VHB8U\B$PT@FW*!%1(M3CL4H5+6Y.TUPW_O9GLR3_M9$%3" M2_\2%*XY/H\V23K)@Y+L^$@QZ9A346KF&-FWSY,3)%ID>> YC M\@DB68BT($UM#DG4"8CEAQVM IFWLR9T\:!+Y1,/1CJI[JX7$%DGL!(#(N#N1\'10B9ZA/"0P)+ MNA_%:N+?%,.A:KE],G0Z%A3#!X04N8<$DNU1E1)0GG !N47&_()M3PUZ03X_ MZ2>(Y1S[*O>9-Z*3]F]>>"(Z.9V@I2&?^B782671.G&$T-T>CS>4C,YZHRJ)H]FF8]S+V?'@ZNL'P]"#-4"6$6#;-Z MZ6=\8)R-Z'X3>TJL27YL 8"R6W!W\+!SQU. HX0#L'^4]UZGB%J"P1_ ML[E.1]@C3[Z\?+&\*G9QJD =OKSZ;GF1OEE,YMUT^X]K%FUV/'*5<=BNCA:9 M11_G;J4V%LV,:-1M"#$CX\I%\N8GG:K($P]DJN=3 _O 16^B&I)GTE)WGRX].7"9O"K%;$E9G9U$Y- MXVQ(ZR)6XI%*;P+P*:#-5/[_SM3BW(^\23Z8_!V+BGS;I/8\KK)>BL6H#*W6 M"SZ^\?$YAGZ"X\EV'!*%XE?KVX>),0&S_L0@:SY^^O+%U?(Z1Z"2B4S.CN/M M81DV&U2.C0R(#DM-D%H53M*LO?"0)D5=&;ONE658-7;3]LH,XB,-LXRT9O Z ML%HQP;%H6;R=G^KYQ?)R>JJ9">V=(2-8*-\SQR[-HP'M7'D&6% M7R@+&GJUO$J5)HRO%RC@LH.62S6 <**Q1(LI@4FU1NG0K$ZINR.?I=:&,/A9,2IB#?$J&Z^.LOOKMY_MW+DT8U,N43QR8#\#65C-!R@;D: M^BF0Y+'/2J.*S$_;@(+@Y.7&X.4#%;QE;)F-S0";FY_Q99=9Y="QCEXNL L> MXJ2 G47,+KJ(ZFUMK>U<9^XEX]/@.;TU(O?I7,%=@D5D,M55;VD/>&,U>9\C M]'Y07,TI%%X*53H\UV3JFL;[Z\F[(9_:51XX3!ZA_>YM['EIP]$C5E_TF/+I M+"#1MMATQHL\?:,E/EMJ*SU>X)AQ><3;9?'(ZUPW^76NFT=?YWJ?3 L#< #K M3[YI]F?D3.&O$8Y+$$,%!/@9#]/AGP?O?*4QW)QT75_(G9_>;\5'7Q;;=#V= M8- T+LT1^*>.OPG1;0ELUS]] MW(O#XU[GXUY?+)___XZ[_!.:R1L[KK,,S=%&&5WM(8U_>@T'B>2G=-4#90\Z MR6/)=CYY3Q:;;>1M8!EM-+V^,IN_S2\3EI9 P Z0H !D !X;"]W;W)K&UL MU59M3]LP$/XKIVR:0*I(FK9TL+9284-C&AJC;/OL)I?&PK&#[5#X]SL[358V M6D":F/:E/I_O'C_WXO1&2Z6O3(YHX;80THR#W-KR, Q-DF/!S)XJ4=))IG3! M+&WU(C2E1I9ZIT*$<13MAP7C,IB,O.Y<3T:JLH)+/-=@JJ)@^NX(A5J.@V[0 M*"[X(K=.$4Y&)5O@#.VW\ES3+FQ14EZ@-%Q)T)B-@VGW\*CO[+W!=XY+LR:# MBV2NU)7;G*;C('*$4&!B'0*CY0:/40@'1#2N5YA!>Z5S7)<;]!,?.\4R9P:/ ME?C!4YN/@[XA"O'&+/N[[(LWS/+)N,M%J"=M:$Y@0?JO)LPV2%>%0CQAL0]^%,29L;^"!33._[ MA\2NI1@W%(_BK8"?*KD'O:@#<11WM^#UVI!['J_WO)"W(/=;Y+Y'[F] GM&3 M22N!H#+(N&0RX4P ,P8IHTRF(#B;<\$M1P/+G"-ZX[@^5(CM;"YSA$P)>G9<+L"Z>@(]7.."[=")!F3$@+A:9]G>!#E' MS722WX' &Q0&>$H^/./$J:*B:IC.CN%2E3R!MS$51E7Z\7AM3O$\.5RWH\)C M6WB/]QX3+.9$H-?UV@AVN"1D51DZ-KN'\.85,>J]>[%UT_LA^A=8*FU=[NEE MXD:$&5](RFW"I'WTMJ^5LI2I<\T3RFBC_4+UTT_"HV1-_6<0SIB^8& M]8WOD4;U3:H_E!_S]XAXSD_N^2IS@VI)ZSY>OL7@-W>&PJ]'_O@F_)L^Z<7[G6&__\P^ M>0'RS^R5@TX<#39;//0O&:Z-'P7JA1^R#"2JDK:>1%IM.\=-Z_'EEWD]!-)G M:<&EH3^>C%RCO>$@ %T/5O7&JM(/,W-E:33R8DZS*&IG0.>9HB_D:N,N:*?; MR4]02P,$% @ [HT#4WJVY U7!0 .1$ !D !X;"]W;W)K&ULQ5A;;]LV%/XKA%<,"<#&NE^R)$#2RYIA78,D6Y]IB;:( M2J1*4G;R[W=(V9)LV6DT+H^GTY5 M5M"*J#-14PY?YD)61,-2+J:JEI3D]E!53CW'B:8587QR=6'W[N35A6ATR3B] MDT@U547D\PTMQ>IRXDXV&_=L46BS,;VZJ,F"/E#]9WTG837M4')64:Z8X$C2 M^>7DVCV_"0V])?B+T94:O".CR4R(;V9QFU].'",0+6FF#0*!QY*^HV5I@$", M[VO,239()R.B=-J>_%ZA-=ZV,%S$2I M["]:M;01$&>-TJ):'P8)*L;;)WE:VV%P('$.'/#6!SPK=\O(2OF>:')U(<4* M24,-:.;%JFI/@W",&Z<\: E?&9S35]?9]X8I9BRDT,DCF954G:*WZ./MIXNI M!@:&;)JMP6Y:,.\ 6(0^"ZX+A3[PG.;;YZ<@6">=MY'NQCL*^%O#SY#O8.0Y MGGL$S^^T]2V>_P^T/0(7='"!A0L.P#VTD8S$'.F"(I93KMF<&2,BHA35"J(. M.$J:(\)S5,(G5@)[JLSWIMHU4FN3XTQ__BGQ'/\7]-+SKI%9 ?&*,E 61)/$ MIL$)XR"L:!0(!)Y^">51:%*B>C_6AN@-BMP0>T':[?Q.E4(9445O@%WD$]?! MH1?V(OP!)<@>J0G+A]A.@&,O>%'4@X:0M&20.L93_\9%/VJR=U9MP++*4 !? MDA+8JH%.K>[=QG66B<902)I1(#?2[<*&(0XG^='S:\+9>@$3C[HNU5BGXXJVFLMJ5/\+IP-Z=1VORW 8;F(IDF6SH M=I"-TL*+L>=$IV-''S\%WG;[0VW:YG0V]LI)&J:#I!-\XW^QXY\!/XPX)">4 MN0WMOF1.XT$R[QKKJ/ )CEQO5_BM5#7L#\2+%R10>GK+_RI$OF)E.#Z032FE1U M2;'M0R-,E O$A39#E)F&(!:?!]ZF\SG+&.496Y<%,+3(&-$0J9E0&BFR!#H% MV$2C%84Q!"8=5) E1'56,+H$PA73A6%7&WPMK!RD[[;;-12#O!FM-0(9D"J( M!-K*ILOIX>Q^K>=C(2G=&F00C"'4CB$;F@?V] +%*$IA@#$_SN!ME <-)TW. MP.ZG_\G>/7B&-W00RTGB0JHY@YTT3;#OQXY1F4 M6C2C$&@VXI;,SNFP1*S]ILG3GF0/7>R[XV8>!C@)W-$VI*SGIZ/MP,%NV MM M)HGZU=PXSN2PAF1>FAE45.,&FE$)P!U/0/'-(WM=+JQNB6-:[U<=)VELY2+'O M),-8B--H^#6(>J^^9V6C!X,CA$@0;5$G;A^0H0=QE0R_IH.P?NWG!R*YK9E= MA?N_// &.6=1NK6,MY=IL+4,>R/N>F#SW$+L-^-DSV;J[]GLY$'JS, RZ?TNN_@902P,$% @ [HT#4\]P M_9I5!@ 3QD !D !X;"]W;W)K&ULW5EK;]LV M%/TKA#<,*<#&?(F4NB1 FK98!W0(DF;[K-BT350/CZ3CY-_ODK9LI9)=!\VZ MKE]L\EJ\?)QS[SVB3Y:U_>1F6GMT7Q:5.QW,O)^_&@[=:*;+W!W7QJ;4E3-UA:R>G [.Z:O7,CP? M'_C3Z*5KM5'8R6U=?PJ=]^/3 0D+TH4>^> AAZ\[?:&+(CB"9?R]]CG83!D& MMMN-]W=Q[["7V]SIB[KXRXS]['20#M!83_)%X:_JY6]ZO9\D^!O5A8N?:+EZ M-E$#-%HX7Y?KP;""TE2K[_Q^?0ZM 2G9,8"M!["X[M5$<95O]TM=#HZ&-^6VCWXF3HP6OX;3A:>WB] M\L!V>)#H0UWYF4-OJ[$>/QX_A-5LEL2:);UF>QW^OJB.$2<8,<+H'G]\LT4> M_?']6]SC26P\B>A)[/!T#2$Q7A0:U1,T@DU;X!3*G=/>]9W;?F<7CQT$A\XX M'WS[F4:3NH" ,=44'9D*+/7"Y=78O7B%?ODI983_^M7?<,XZGG-C>*-'NKS5 M%G&Z-080P@=!-]6M*0H]AEA<<:9YY&?$$H4SIEH6FC%,E417VNO*KR)XI,U= M8%EG)91D.%-9UTX3G"J%-D<%4:BMR0N'CJK:HP=(6J9R/@_+>K$=EF*5R6U7 M/>INU\A3B15A;0N#"46VARK)ABK)TZE2F!R.T'BC>_FRW^-%CY?OGS1O]$1; MVT\: A1A[!&-&%8I1>>CD5W F*)V#LUM?6=B#=C2 O-D2S8JL!!]^#+*L6C1 M"BQ28<;4'GSE!E]Y,+[-UL;&Y=.IU=,\$O[V =WEU@ &: 2\G=9V!^[[9_IP M?8X 1/1'7;T,[6:V9>X@=:PA=_\:X%_ZAMH8J>=G5FM4KDJ!#J5@RY5(AVL] MA6+N-P/#7IIVL[>F_[&&F$8WOJ%Y*T(3BA5/6A;%L4QERR @B 5,^+;2=OHP MO-*57L;BUEF[X)BIM&-F69B#=>R<)YA0@B[-7 >4V@F'IJKS/ 6"9UG7#V44 M#<#2-3"8:B@:3 J92( M"P*I@!\ &8, YMVC9D +EO7858H3+KJ0<893VN<'2H+80L;2#"=)%ZI !4XI MM!(%(),$6AE),:/=1/2MH'+F_I#X.PP@R;+/:B,%3XK3=N1)@@4_!+44RJH4 M';.$ "$]Y):I@KK?AQKXZ4,9=$([*;19(2&0/T=/@5U('C 3$&@@4V![6&:@ M0GA7A?RGN)$GXB8DQ00(#!L"! D/Q$PR@@G(J"_C)!,(PVY"3.!\J>HFLB0E MF).>A*@@:D2&!*$0?1P)2&(D[>(@">!&LWCZ1$!;D!42 9]DBT3SD@(5=:.E M_,/\NZF!SUX;WYE[/7XYMV:T/=.;ROC/3!S=FU)'==:\ MF<3.J(/+O 5. $2-/QUQ_\7=G9+?)N=+5;VLW%/JN(X87(M^TEL">"""E7U M<$% ^>.7N T?!(;ZU#$+(&%/)MNI$YC A$A$$\AT4/S"&RF#=Y9=NH 1 ?I$ MA*UD"GC:4"B5;87PPU#H*Z7(,Q$I">?;EBI0*=F@8>*$)Q M EY=?$@A'JF>'X:33Y15S\1!* Z 0*R30;N$LP6XN6)/TE^]E0R M2"@)Z3Z_4YAQJ/RP3 :O/U2&*QI(8XKL%&B"!8$>JU],A*$E0+0)P1\)M>FK\QO:^_K,C9G.A]K&QZ WR=U[9M.F&#S'\K9/U!+ P04 M " #NC0-3+DH[9GP$ '#0 &0 'AL+W=OZZK1YY/2F-5KS]-9"377 M9W(%#9XLI:JYP4]5>'JE@.=.J*Z\P/<3K^:BF5S,'>U67 H(+,6 T<'U_@&JK**D(8GSN=D]ZD M%1R_;[6_=;ZC+PNNX5I6?XC3Z83DL.1M9>[D^A?H_'$ ,UEI]TO6':\_ M(5FKC:P[8410BV;SY(]='/Z)0- )! [WQI!#^88;?C%70]!]DB#+=*KX*C"7]OFC(0^)8$?L"/Z MPM[ST.D+O\OS(P:BWD#D#$0O&+C?Y#F12R(&]=RJ)QDW4$@E0%/":]DV&&N+ MPY3(\044UH.E*R.^]*U!"YOK0/1Q'\8 :LQ*M Z(@Q=;IQ1/14&!U&8*5 M[>QJ\4CJS9V!O3."$8<^XF3-$:)&[@H+&3,#M9E2MAIAZ]/7Y*TI-PVHXLF[@P;6+HO[DUNQ ANGGO @#:_(%:]XDV'@#7D#&=0+ M4"1DSGV_9_V1S!(:1M&(D#PGQ &-6#PB!"RFS _)D'/9YU8HC''>*M$4+OZ; M*^ZEPB2E/LH<K+9 X-K\'F MJT^CR-^#?<)2RJ+@=#_':#";CI*")=2/QC5SPB*:SL+3,0\-,-6NW8A#GQ54 MKM/I4JPT%@P>!^D^@C"ETR#>1\#2D$9^T'_/&":]/Y)C>.P/ M9;)>@<%@% K =D2-V&;^(??1!_^ ;3;P[DI:B7"$EB5QUVLPQF%(XV1<;"=Q M0M,XW0E2FM I&T>2^5,ZVXUME-)9,!V+)>@]"X[,L+B?8?'Q&89+8-YBIN 0 M VU$[3)HV9I6/1M0\(A[H@8W39X7^<&Q==SPS?<;(^)?&50#HNW9 M,$!80'%5M[1HE+HTFC)+&WHZ\S$+9[:1XY:_- AMX)[1:;)OK<_30QGGC993 M+/3"K>":9+;/;_;4GMIO^9>;Y79@W_Q%^,!5(1I-*EBBJ'^68@ZIS=J]^3!R MY5;=A3385=QKB?]40%D&/%]*:;8?UD#_W^?B+U!+ P04 " #NC0-3%L'K M1=0" "?!@ &0 'AL+W=OY-A:.76QG7?\]9Z=-BT;W!;XDOO,] M]SQWCB^3C=(_38-HX;$5TDR#QMKU9129JL&6F7.U1DD[2Z5;9LG4J\BL-;+: M@UH1I7$\CEK&93";>-^MGDU49P67>*O!=&W+]/8:A=I,@R38.^[XJK'.$[3?UK>:K&C(4O,6I>%*@L;E-+A*+J]'+MX'?.>X,4=K<)4LE/KIC _U M-(B=(!1869>!T>L!YRB$2T0R?NUR!@.E QZO]]G?^=JIE@4S.%?B!Z]M,PW* M &IO4L+X)VSZV#P.H.J,5>T.3 I:+OLW>]SUX0A0G@*D M.T#J=?=$7N4-LVPVT6H#VD53-K?PI7HTB>/2'1)9H'3BJ=A37/45Z@F(,GY6TC8&W MLL;Z3WQ$<@?-Z5[S=?ILPH^=/(ED]KB7D,1Y6!;ID:=,PK@L8=YIC=("S2O-K&N'0+JN0_';)U+' M19@7Q1-WD85QEL&&PO=V]R:W-H965T T"J%)FRK-L*'_B2V&<_SSUW9Y\G&Z5OS0K1PGTEI)EZ*VO71T%@BA56S!RJ M-4I:62A=,4M3O0S,6B,K&U E@B@,1T'%N/1FD\9VH6<355O!)5YH,'55,?WK M!(7:3+VA]V"XY,N5=89@-EFS)5ZAO5E?:)H%'4O)*Y2&*PD:%U/O>'ATDKC] MS8;O'#>F-P87R5RI6S?Y6DZ]T E"@85U#(Q^/_$4A7!$).-NR^EU+AVP/WY@ M_]S$3K',F<%3)7[PTJZF7NY!B0M6"WNI-E]P&T_J^ HE3/.%3;LW&7M0U,:J M:@LF!167[9_=;_/0 ^3A*X!H"X@:W:VC1N5'9MELHM4&M-M-;&[0A-J@21R7 MKBA75M,J)YR=G6HLN85CK9E<(F7;&CBX9G.!9C )+'EP^X)BRW;2LD6OL(W@ M7$F[,O!)EE@^Q0>DK),7/<@[B?82?JOE(<2A#U$8#??PQ5VX<<,7_WNX>UB3 MCC5I6)-76*_HJI2U0% +$$HNWUO4%9V-N04F2RA:IPM6<,$M1_-28O=[."-6 M^ LK%(KNBJ$"D@R[0E@H07>.$_* 2[*HVA#0#([@W9L\"N,/_^U/9<*F3 ^& MCUA@-4<-\?#1Z&KH/B%PMIG/KA..E9AN/(3\,03E55H2XX$X!W M-5^[LH%4ED+>%9*/_"B/GYM3/R/SN=)V2:UF!QSG_C!)^M-LG,*ULN2P2?0^%D4#9[;REM_=)I>(Z*J48V2,.I9HE'NYW'ZTK4*>GV**KILNK$[M[6T;+=1N ZTO M%)V![<0YZ)[!V1]02P,$% @ [HT#4Z^JM@$2 P U @ !D !X;"]W M;W)K&ULK59M3]LP$/XKIVR:BL1(FE HK*U$82], M0T.4;9_=Y-I8.'9G.X3MU^_LM"&%4C&I7VK?^>[Q<_;C7 >5TG(T#$V:8\',@5J@I)69T@6S9.IY:!8:6>:3"A'&4704%HS+8#3POFL] M&JC2"B[Q6H,IBX+I/V,4JAH&W6#EN.'SW#I'.!HLV!PG:'\LKC5988.2\0*E MX4J"QMDP..N>CGLNW@?\Y%B9UAQ<)5.E[IQQF0V#R!%"@:EU"(R&>SQ'(1P0 MT?B]Q R:+5UB>[Y"_^1KIUJFS."Y$K]X9O-AT \@PQDKA;U1U1=UB>PVL2XF5"['G7&WF6%\RRT4"K"K2+)C0W M\:7Z;"+'I;N4B=6TRBG/CBY0\WOF3@8NI;&ZI .W!CJW;"K0[ U"2YNXT#!= M HYKP/@%P".X4M+F!C[*#+/U_)#(-0SC%<-QO!7P:RD/((GV(8[B[A:\I*DX M\7C)?U6\!?BP 3[TP(*3DT:GN/XM:(P7?5,K\AV&U[/35-B+2AT6-QH*FHL!4;-&L?Z?B-0@EY^\II@#! MV90+;CD=YRKF+1SMG_2BEGVR'T>]E;U% FB6VGLNLKW?5XFVO$M6]3LS3A#YL7GHZ-9.B<.I^IX^V1RQBX MP53-)3VE[+DB7W2L1H)[_"296H5>?6NZ?$F/C0L?%NYN6V([;"NOG_1;5B=. MCO?6=!H?)T^9;=)GV.HT!>JY[Z>&O@^EM'73:;Q-RSZK.]5C>-WOKYB>DU!! MX(Q2HX-CTI>N>VAM6+7P?6NJ+'5!/\WI;P=J%T#K,Z7LRG ;-']D1O\ 4$L# M!!0 ( .Z- U.-/(JG3 0 ,0. 9 >&PO=V]R:W-H965T,]\7E--%S,IMD0::40S'1NJU4;G M&#>;6@/LX\C>:, MDI?LH*]JZ/ ,](A\%5QGBMSP%-*W^AZZV?@:[GV]"GL!?Z_X@$2^2T(_#'KP MHB;VR.)%[XR]QT3"&[Y>J)(F,'>0D KD,SB+1ZB1#ZREE<3@;.9LM-CQ"55D+7+DI;H@O_PT M"?WHU__=7MMPJ*4<5B20.TB$3.N^_2R->Y>%J+CNU-EG6,D*CP42!F[MW1[Q M*Y5)1J+#Z0;49#0^$.AF-#B9T3-@/=0:-M0:_G=JB:*L=%UT.,1CFB6VS%.65QI2 GMR MEYA5=4SNFF[]!A\R(-HV#S:V[H^@C:DA$D;= M+W'8VFS83+2]VZH /'>$_'9GV;^UMWAI8ARW'C.NM62KJJX/+!.XKB[FK<$;XVS,4K(X'U&N^0 MQN#.%:94A0[B-C.LU])0%?]E*9,H)F2[Y^W.Q2=ZHSY+: 8+*C%YP#M@\D0J MSG2+/!RV.-&T@SYM_8_B\7N2VG-@-=9C-YP,NWD;C2;M*E9Q-.ZNCB<_KH9O MCL,XQ]7O5^-7MG!;GON#3OY.##OYLZN=J\)NM]XLCWNQ@C-8I_[)7N=E@O^_PZK%A7)$:%': M=\I*:'SUV&Z&STR01@#7UT+H_< 8:!ZNBW\ 4$L#!!0 ( .Z- U,I?",! M)0, )@( 9 >&PO=V]R:W-H965T;DQY' 0ZS:&@^E"6('!E*55!#8IJ%>A2 :50"AJ4C!4@-)."*%A.O)/H>-:W]L[@)X.U;LV)S60AY:T5SK.) M%]J @$-J+ +%X0Y.@7,+A&'\V6!ZS9;6L3W?HG]VN6,N"ZKA5/)?+#/YQ!MY M)(,EK;BYENLOL,G'!9A*KMT_6=>VR9%'TDH;66R<,8*"B7JD]YMS:#F,PA<< MXHU#[.*N-W)1GE%#IV,EUT19:T2S$Y>J\\;@F+"7,C<*5QGZF>DWP)0TV;^A M"P[Z8!P8!+5+0;H!F-4 \0L W(AA1C2+.P&_5N*0 M)*%/XC"..O"2)L/$X26=&78 ]1J@G@/JO0 TKWE+Y)*DLBBE &&TE;C=@< ] M%HJ&YTZP$]>6W;$N:0H3#^M*@[H#;WJ30]?69L[N_V.Q'2T#VD*XJ]E9N2Q!4$>B2,_&HS:BL2/^DE+T8O]4=QK*P9^E$3D]RM_;L-SD?(JP[K2 MN53F@P%5U&%ILLY9FKOK8T@G7&&4'Y(.>O8;>O9?2T_YZ"PXHPO&F6&/ZZ"F M9S?N9:6Z %TJ"DK,$Z]26AH".95XL7CZF9UIR5E&[>J,J+&MTTE3-TX&FW3=D_J;O-@7O?L"ZI63&C,;8FNX>$0J:3J M/E@+1I:N]RRDP4[FICE^.H"R!KB^E-)L!;M!\S$R_0=02P,$% @ [HT# M4UI:#S[] P -0\ !D !X;"]W;W)K&UL[5=M MC^(V$/XK%H6J)UF)7_.R99%NK[UK*YV$V+OKYP &HDMB&IMC]]]WG)"0A;#+ M2=5^Z4F 8WOFF1G/XR$SWNORJ]DH9=%#GA7F=K"Q=GOC^V:Q47EB/+U5!>RL M=)DG%J;EVC?;4B7+2BG/?$9(X.=)6@PFXVIM6D[&>F>SM%#3$IE=GB?EXYW* M]/YV0 ?-PBQ=;ZQ;\"?C;;)6]\I^WDY+F/DMRC+-56%27:!2K6X';^G-G7#R ME<"75.U-YQFY2.9:?W63/Y>W ^(<4IE:6(>0P/!-O5-9YH# C7\.F(/6I%/L M/C?H[ZO8(99Y8M0[G?V=+NWF=A -T%*MDEUF9WK_ASK$(QW>0F>F^D7[6E: M\&)GK,X/RN!!GA;UF#PM>ZQQKT[]BS@7[O"0YQ@Q BCS^#Q-EQ> MX?'KPWT&5;2HHD(5%U#OX:HL=X"I5T#4;ZK8*9042[0NM3%H6^I5:M'\$9G: M9-^YOF"@5D2S _C//T6,\%_;^1$;[1.#X+/2&=PWR&5:(+O1.P/^F#9K MC7!UP+Z";ZD4RFMV*,<.!+E556Y/=5RNNQ-RM;61R\!_(M2,G[1-LBNE3K-T M:?QLTRRUJ3*M_A ))K& L$7D\5%GG0N"*>.(AYX8P;52Y?K1GZE"[:L[>N8) MYQ(3>CPQ'GED='["880E%TCD@(8HBB@.P %*2-?R$,4DPHP&IQNO3423/OR@X44:A@'!@G,D1#?C0R1C M@DD8(B[=^LLT#*(01^&18()X\CSG,B*8DPY9I4=[:,@D4(HS1(47'4$$$(U$ M#+'88^;'_IK^O^K[O9R][L( MW9SQM7*G\KVY.?U[?%:HMPI'.!+ "]IE*[!?XHB'B ;7UF#,@*[--'9E\E2& M1IAVF!\X@V?$AR3%0@+_N^ZP$!-. )7WL)YR3!C46-:]*4-'=!P'H0N,_BB] MK\/4)^1K2->[V%N("9:!K+-\7 T8II)".ATA7B9B*'%,CD48LM]3[00')AZ% MJO>,,R:* (<\ M9ZP:BK*1D#'TD/$V.X!*1BG'C"1+AB(?R1.*6^-V^_T\KD M$%_5L!FTT+O"UEU-N]KVA&_K5N@H7C>4'Y-RG18&96H%JO"&(P>HK)NT>F+U MMFJ,YMI"FU4];J"O5:43@/V5UK:9. -MISSY%U!+ P04 " #NC0-3GQ:+ MGAD" 9!0 &0 'AL+W=O;(- ))G*91=10UB>TNI+1J0S,YT"\JM5-I(ALXT-;6M 58&D10T MB>,;*AE749Z%N9W),]VAX IVAMA.2F9^KT'HXRJ:1Z>)!UXWZ"=HGK6LAD? M[^W..(N.E))+4)9K10Q4J^AN?KM9>/_@\(/#T9Z-B<]DK_63-[Z4JRCV 8& M CV!N=\!-B"$![DP?@W,:-S2"\_')_JGD+O+9<\L;+3XR4ML5M'[B)10L4[@ M@SY^AB&?I><56MCP)-_T0D:*SJ.4@=A%(KOH_>Q[J<"9PG,N"9! D?PMN MK@C209"&1/O(0EI;ABS/C#X2X[T=S0]";8+:9<.5/\5'-&Z5.QWFWQAV!HBN MR+JS;LU:\FH+R+BPK\E;8J%V1X891;>75]!BX*Y[;G*%>T/NM<+&DH^JA/*" M?C.MGR<3 .J2'#--3IFNDTGBUT[-2!J_(4F/QCTS-5>6"*B<-)Z] M<_N:OA%[ W4;[O)>H^N,,&S&UL MK5?;CMLV$/T50D"!%BBLF^6]P#807XJVP!;&)FF?:6EL$2N1*DFM8R ?WR$E MRY?*]";9%UNDYIPY9S@2J?%.R!>5 VCRI2RXFGBYUM6C[ZLTAY*J@:B XYV- MD"75.)1;7U42:&9!9>%'03#R2\JX-QW;N968>&;;7)L)?SJNZ!8^@OYB,$RHX]^6U.MR&N#I]8']-VL> MS:RI@KDH_F&9SB?>O4;>$6 M5-/I6(H=D28:V!'SWV*72G2X)!$/SDZ(J[3O>=D^CYH/ KZ>\\O/')K?W4^N'J[>0O=#EG<#EDZ0\Y M26=(H\X_.<=AIJT]0"LL9LUULY]WL]TA_8,]FE[,S\+'>=@SOS"'>GMN/-(W M7P1/5&X95Z2 #:;"7D>=LCED-P-\M]E3Y%IH+(.]S/'#!*0)P/L;(?1A8!)T MGSK3_P!02P,$% @ [HT#4P!'F/JC @ 6@8 !D !X;"]W;W)K&ULC55M;]HP$/XKIV@?6FEK0GC)J "I!55C:E56UNZS M20YBU;&I[4 K[O"'=_DUBV$D]&6;7")]GZ[T.2%#4O&"Y2&*PD:U^/@ MHG,^35R\#WC@N#<'-KA*5DH].F>>C8/()80"4^L8&'UV.$4A'!&E\51S!LV1 M#GAHO[)?^=JIEA4S.%7B#\]L/@Z^!Y#AFI7"WJG]#ZSKZ3N^5 GC?V%?Q29T M8EH:JXH:3'[!9?5ES[4.!X!.[P@@K@'Q_P*Z-:#K"ZTR\V7-F&63D59[T"Z: MV)SAM?%HJH9+U\6EU;3+"6&"B1+A!9DJ-U")KX&2&EG%A3N$;W&%: M:LWEANS[Y0Q.OIS"%^ 2?N>J-$QF9A1:RL4QAFE][F5U;GSDW)^E/(-N]!7B M*.Y\ I^VPV>8$KSCX=%;>$@*-#+$C0RQY^L=X?M5*HL9+#1/T;C2+OSU@ANF M'Y'DH.<"\XR4X2D3<&&,6SRYQAT*Z)RV)-!M$NCZ!+I'$J@H6XAZ#5&OM9(I M,SE03R!U!CZ5?,>$:^EG/:JH!I[*O??=I),DPV0X"G>'O?@8UHT'2:_7A+W) MM-]DVF_-="XM:C06-+,(9L^V\!>6?"/YFE26%FYMCAIN5P;UCJT$PEQNRT;W MN$WV09/#H%7V:\Y67'#+L4W[I&%+6BN:H2:U_<41-?'+9[(G'_0<#/O1.]$_ M!@WCJ/].\O#@Y;NI2_=UPZ4!@6N"16<)M4!7DZQRK-KZ8;!2ED:+-W,:_JA= M .VO%3V$VG'SI?D[F?P#4$L#!!0 ( .Z- U.4_.MGNP8 H> 9 M>&PO=V]R:W-H965TI7^MM:UM)9XX<8O)^],D M2D8#=MR_;S'+-F99,(I+GBMTSXN50'**2G"":RV,!M)!>$ID@=#BC8TX&-J5 ME-DZ+XJV@HL;4<5#@J-D$U45?'5;O..VR_VT735O(SC&$6U?RF039A(,\ZOB MI>9UGR@S:#<%-R)#J=2F;:M?)(V@V#!Z$7C2(MN^;\$?W]=F:J^P 7>0ZE2NX MGBJY0+]Q]1T\G:@\%0=HLE+I'(00M O1MD/#WN'X*(I^"82)(]]YHJ"JR^N/ M(3U;'0S_#(1ACT1,@H[=B&Q5;0!H<\NG]4I!?9X)Y9+1VG5(8R<<)G$4M5X2<,D8@/2T=^P M9QT>O!IYL,<;'@;C&[N5!>J[( 5H!I.V\%IC'39B#2VRYQ\.(^8L=?#2T'I2 M 0[<%6V<.J^U/.NF,8M(NWGBL43"6!K+TBAH@/4"MYFN-6R;IB3IZF?$DXS@ MH.F)$K:PD'BPU(?&9E,AS5PH. HH90D?< JW-.*.88!LC8=A%DX4G'J5>3Q MRX);^^"1K8NEY5&K&TT*Q@/EXTTY0X6P# HL1!."F$)E=GC@ M(4C"$/SB$E'(P9W&'?@Y&$I\"J-67BKKT: M!TVKH[BC#1'/21+FY&=9/FU(^:(NMY;AP'$:<%W?V^I@$Z+0JD:#KFKU%"5A MBKZLUEWI:=+T<)C@CFU+/4UIF*95>F!8*$T^S5W5^N;5Y@AMLI6P(6$=A4H] M7&D8KH'SVWDMNCVO4#LW=>"3>GS2,#Z?C*)<.ZJG]B@%0]R=@))U4Z9=D:E4 M,&JF'C>! MC:,6CYMC+8DZ)WSJP4[#8/_79V[://O3E]Y^:+D)TV&GMY[X-$S\__N NL.] MG2=4ZGL+#?<6.*&BO]'8/84%F+JTV%/F/%\&MY7O(_3UGB=0WPIHN!54"44 MMAOT([YXV0F?*_6,9^%'J#^21.8)S,($WB^)K/E\E742E6T]7@T3=5<*P]+8 M93"T"IZ4;,<(7*WLUB.?_[)!F6<=2W[&LR7FD<+"2#FK:\(^6K*G[;:W'[6* M9VV&=B;1PX:]'FR8APT+PR9<*N,=TH&9I;_UDLN^)86N,*PNC%RZ]UYWTD!YN(]S 3M?V1O@]ZF4YNG"ODK;O/X]_0=02P,$% M @ [HT#4S+F<8T'! IPX !D !X;"]W;W)K&ULI5=K;^,H%/TKR.I(K30;/_"S2B(UC]5VI5E5[73F,XE)@L8V&Q &]Y5O")M1-B?V_;?+W#.>(CNL>% M?+.A+$="-MG6YGN&4:I!>69[CA/:.2*%-1WKOB#7 /_:#$$-T-+M2KLV M;H$$FHX9/0*FHB6;>M#N:[3TBQ2J4%X$DV^)Q(GIP_IG23A1D\;!'^")4: G M #P6516JV;Q=8(%(QN]DQ.O+ MS>W($;8 .^0PQS0 KP6A#!/[7JY .*N:@-:3 A:[?\<$0Y<>^V[&A'Q5&'DPZ)O2C?,<-(K,%46-!-&C!/_+8 M4$M%0C"R*@5:95(WE=LVR2DC1O51;T)@!+V.KKDA*DY@QZ-%/\J/(S_LJ.]' M>7'@)&;U<:,^'MQGONM//DX!.F FCS! &I'+ J@_.?(,Q(7\OI!B>S^PK)(F M6S+H]0QQL@:WY,1_9W(VZ5>,-*WK;#_*3Z 3=YPU<+E1TG76Q.6'%^K*==[/ M ,Z@V@7)2F7M;_36+.=+Q \[@YP;POPD=F%'L8G-@V['F*61+?$N:6Z=>]S! M>EHB5LABX6"/625ZJ&Y<[YW7N[)R4IIEB+42F$VMZ.*6/F<4QLG97]=A$R9* MN@:;HA(XQ+PT8H+X@MGO9P077EU@5]H"/V"+"1-U5YHQ*H%=(TQ1O1W<;AV\ M<\RV^L;#Y=94%J(Z0C6]S:WJ0=\E.OTS]W[N&OH7ZA:F#_KO]-45[@MB6R+/ M[!G>R%12IUPAK+H550U!]_K8OZ)"7B+TXT[>)#%3 ?+]AE)Q:J@$S=UT^B]0 M2P,$% @ [HT#4UT$M0G3 @ L@< !D !X;"]W;W)K&ULI55=3]LP%/TK5L0#2*/YHBU#;24HF[9)2!6([=E-;A(+Q\YL MIV7\^ET[:99"6I#V4G_DW'//\76O9UNIGG0!8,ASR86>>X4QU97OZZ2 DNJ1 MK$#@ETRJDAI26AM9ML&H MH&2B&>ES>PZ]@"@\$!"U =%' ^(V('9&&V7.UBTU=#%3C\"O#.+.XAPV(&L@Y68%RET(D0.2:LYS:<];D]!8,95R?D1/"!+EC MG-O]F6\PO27QDS;539,J.I J)G=2F$*3+R*%="!^>3Q^1]N=]VCG_28Z M2OBC%B,2!Y](%$3AX\,M.3TY&Y+UORQ[XN*N,+&CC8\7Y@C31<=TX9@N#C+9 M?S,3.:F&2SQ4RH9RXBAM)]@LPG$0S/Q-_V#> >VI'7=JQ^^H;2ZD@D3F@KU M2C(ERT/:B<919PQA>#FQD6V8K+5%,YD..FO2AT%/=70YBE]9:U#C'BC^/&QL MTAF;'#5V7WHOX]'XE:G)6^M[J#U?T\[7](.^:D&K2LE-7_*^Q5Y1J5TUI;;= M''M=67-J>SI!=%*OA49MJ+?ID-UN M]R!=NS[L_X,WK]D=53E# QPR# U&4[P9JGDAFH61E6NR:VFP9;MI@8\J* O M[YF49K>P";IG>O$74$L#!!0 ( .Z- U.\HJK@7@( -8% 9 >&PO M=V]R:W-H965TQTZ_ODI)5!W#5E[Y8/':&,T-S9SMC'UT%@&RO MI';SJ$*LIW'LL@H4=R-3@Z:=PEC%D::VC%UM@>072[.;1.#HL/(BR0K\0+V8U+V$#^*5>6YK%/4LN%&@G MC&86BGFT'$]7E[X^%'P5L'-'8^:=;(UY]),/^3Q*O""0D*%GX/1Y@AN0TA.1 MC)\=9]0?Z8''XP/[N^"=O&RY@QLCOXD(!GD WP,[9&FRX8YT!,ULI2NYC<[23)NF8O;X% MY$*Z-[30@Q^7@UPD.@.-U!*\+MN;J4_^08^"-&P+5)^94HM?M""T MQPB3G_(SK.%Z,DJ25Z?,Q$=O38$M0T=Q+#.-QO;9]:M]TUJV;_5/>=OQ[KDM M!;TP"05!D]$U:;)M%VDG:.KP?]GLP" #>!P &0 'AL+W=OI3;> M!7QGL--';6)7LI3RU78>\HD76"#@D!GK0/&SA1EP;HT0X^?>TVM26N%Q^^!^ MY]:.:UE2#3/)?[#<%!-OY)$<5K3B9B%W][!?3V3],LFU^R6[.C;&C%FEC2SW M8NR73-1?^FM?AR,!^K0+PKT@/!4,/Q ,]H*!6VA-YI8UIX9.QTKNB++1Z&8; MKC9.C:MAPOZ+ST;A+$.=F2Y@"Z("\IG,I# *JTJHUF TN9R#H8SK'LZ]/,_) MY46/7! FR+="5IJ*7(]]@P36Q\_VV6[K;.$'V6+RB%D*3;Z('/+W>A_)&_SP M@'\;=AI^K<05&02?2!B$_1:>6;=\#AG*^TX>=. ,FFH.G-_P [\7L62<0X[[ MVY6UK4*U0^P<[!G;3L,H2<-D[&^/P<_#^FG83^(F[!W@L $<=@(NP( P]0G, M@&WIDK="UB[1-N[/]/^'U MR_=(U1JW*>&P0FEPE6#I5/V:U!TC-^Y"7DJ#U[MK%O@ @[(!.+^2TAPZ-D'S MI$]_ U!+ P04 " #NC0-35"U EHX4<7]* A2OZ),>(N9NW>G%C/9&,X$W"FB MFZJBZN4:N-S/O= [W+AGV]+8&_YB5M,M/(!YK.\4[OS>I6 5",VD( HV<^\J MO%Q.;;P+^,E@KX_6Q%:REO+);FZ*N1=8(."0&^M \;*#)7!NC1#C=^?I]2FM M\'A] MR1MM9-6)D:!BHKW2YZX/1P+T&19$G2!Z*TC>$<2=(':%MF2NK!4U=#%3.GDP@A/W+8V=7SS> MTA&GI'=*G%/R+MD&E(("C\N 9=N:UB%U#O;([A:V"U$T\W?'+1@(FT39-.S# M7@%.>L#)*.!5GJL&^;C4FM1*[I@]W4.8K<_D*'\8QI/L#>5 5)(DZ3!DVD.F MHY!#?^PAQ/0D>13&2?;Y#6-ZVLDTBZ)L&#+K(;-1R!N1XQ#68,]6_I_ V0GP M),Z"8!ADVH-,1T$. T%!+K>"_<&WRT3.F\(M3ME>"#5D#5LF!!-;(C>D!L5D M,00\/6U=& 0GQ/[1.*M ;=V4UYBZ$::=;/W=_D-RY>:G_R^\_0K=4H5DFG#8 MH#2XR+!;JIWL[<;(V@W'M30X:MVRQ(\A*!N SS=2FL/&)N@_KXN_4$L#!!0 M ( .Z- U.8P*6OK0< %,L 9 >&PO=V]R:W-H965TPNT$713&>>E9A)A-J25Y*3 M%M@?OY2MFC)YQ;@:O226=.Z5R",>7A[QZJ6LOM9/QC3)M^VFJ*]G3TVS>SN? MU_=/9IO5;\J=*>R5A[+:9HT]K![G]:XRV?H0M-W,&2%ROLWR8G9S=3CWJ;JY M*O?-)B_,IRJI]]MM5GU_;S;ER_6,SGZ<^)P_/C7MB?G-U2Y[-+>F^;+[5-FC M^2G+.M^:HL[+(JG,P_7L'7V[4M &'!!_YN:E[OU.VJ;77]N!?Z^L9:9_( M;,Q]TZ;([+]GLS";39O)/L=_NZ2STSW;P/[O']D_'!IO&W.7U691;O[*U\W3 M]4S/DK5YR/:;YG/Y\D_3-4BT^>[+37WXF[QT6#)+[O=U4VZ[8/L$V[PX_L^^ M=1W1"[!Y\ #6!3 _@ \$0!< E]Z!=P'\TCN(+N#0]/FQ[8>.6V9-=G-5E2]) MU:)MMO;'H?]/Y??=H[X^/Q@8>#9*/]AY/=;(JUF:-Q"_C\3(2 M/[?==.HK]J.OWK-HPG_OBS<)D'\DC#"*/,_B\G""->?OW7TU^NYGG0&G%P<. M^6 @7_BZ=*]2)#<_Y>:'W#S^4F*OS#%0'@);$7R^T9I*:EOTW&XU883E N'.ZLG>+43A%MYX?\FUDGNRJ_C_6:/&63DS.B3KG5 M6$:.@:+7-TR#9CXC"(QP!MQC)(1)RA13'B$AC#-&*.!\Z%,K=;257XJ\>96. M])0LG9P.2IQLD[&$=)']SH&4-R_?'V7:S/G!I2,3TC3AVI',V(#'N&@JVU?49" M'( 2GU&0IRRTX4$GY$0)XE0=&!:H4ZM:5RN_U,6O[_"BM-$JJ=GQ8DD34>S MDH:L2,V#N1[!"<52$HR3$)=RS97T60EQE'"A.,%I84ZT65RTOS3Y)F]R4\>* M42>+C$Y.#'/RR-A88KK(\]E7<.8-@P6" TXH\X;!$L$I23CXPP7!B900I09X M<6+-XF)]XB7Y7W)93<:<.#(^/4M.,EF\@HRQ),+I(P4N?9)"& ?!_$H9@=D* M0#*?HA"F*1-T@"$GWBPNWGV&+JK2F--*IJ8GR*DGBY>4,8)T.#P(@/;U#<$Q M85=Q 44A3@ $PVV%X.S8Y8(/D.2TG,6UO$_2S]1LX 04R.1<@1-4B->9$:ZZ MR+.Y@\G4FV(6"(S;F<.O#Q 8581SOZ)&<%J!8CA1X+0=XMK>)RI>)D#/#IC> M#P"GHC#:$>@BSX:1H H";D(<4X()?[F#X"1+%?&E#L%Q:0N%(7:C,-HA@'"UKL!.'CY!R-J?VX6,ST\(HT 44)\?!&>KPMY[ M<=Y2)^D0E_158:K'[_//IC OK;+%JCEPX@G3VP7<"2,#/Q54==PK*IS<') MOHC+/L98O)P03F;%]/:#< (K1ML/ K$?P$Y%'D<(C"D&?KF'P+30TI^M$)@4 ME V,*>&D7L2E'F/H]:)/.'D5T]L/HO?]:K3](##[P9;E_D2%X6S'I@%/(4X2 M%I0I*P1GYS,ZM&@23N=%7.<_Y3O3GDMN3?5LIZ98V2>T(Z515CK8C9&@+I'['+A 0%03\->P2PTE_Q;5"4 P8E4,\.7F7 M<7G'>/J9@D_VMBY,[TU()[)RM#ROR1MFWJCKN8#T> M-.7NL$7SKFR:B+_N\;D?/MSQ1LAGE0!H])8RKB9.HG5VY;HJ2B EZE)DP,W.2LB4:#.5 M:U=E$DA<&*7,]3TO=%-"N3,=%VMS.1V+7#/*82Z1RM.4R/<9,+&9.-C9+CS2 M=:+M@CL=9V0-"]!/V5R:F5NCQ#0%KJC@2,)JXESCJQD>68/BQ&\*&]4:(^O* M4HAG.[F/)XYG&0%L(8CZO< .,623#XZ4"=>H[K6%[O$7_5CAOG%D2!3>" M_:&Q3B;.T$$QK$C.]*/8_(#*H;[%BP13Q2_:E&?#@8.B7&F15L:&04IY^25O M52!:!CX^8.!7!G[!N[RH8'E+-)F.I=@@:4\;-#LH7"VL#3G*;5866II=:NST M]+L0\88RA@B/T3W7A*_ID@&Z5@JT0E]1?>#L%C2A3)VC+XAR]"L1N3)&:NQJ MP\.BN5%UYZR\TS]P9X@>!->)0G<\AOA?>]?PKYWPMT[,_$[ GSF_1(%W@7S/ MQT^+6W3VY;P#-JAC$Q2PP0>QZ8#JU5"] JKW =0%FL&:M5*C'%@MNR10^6;E44&T2O3 ( M>H,#)/R&A-])XHZ#7+^[C\!A0XQ*=E4.;E0&?UIF<*,S^*1"4Z&U0Q5VE$^C M-/@XJ3DJ7;L"T\6A$1C-D9/A!I8J,0@Y4Q]2X'QG]9-EOE1(NL:'"60IMVJ1@FID$%:0^8_940>CNQ M%]0M[_0O4$L#!!0 ( .Z- U.N9^AA7 4 ,$; 9 >&PO=V]R:W-H M965T59LVA8JB1Z2CM-^_5"R(EHB3@&7B4XJ QJQ#\9V?&#:U!1>:+T1W7S97$]OWI.:O"3SE'(RI?F_V4*LKT?1""S( M,MWFXAO=_4D:0G[E;TYS7O\%NP;KCL!\RP4M&F.909&5^__I2U.( P/IQVR M&@/4-_".&.#& ^-X#4&WM (?F/@#S4(&H-Z,)U]L>I*SU*13L:,[@"KT-); M=5$/5VTM"YR5UV_ RP^PD@%T%#/M/AYJZ) MSN]%O_N]Z(G=?$;FTAR:S#NUQ.TFU/KW:IW=LWC+* M.9BFC/W,RA6X*>BV%*9YMW<3U&ZJ-OL\01C[03AVG@_'8Q@LT6'0C6+/;6$= M,GY+QK>2N9G/M\4V3P595$R8R'ZE5=\U\=E[\@\RN)1I^GT^PV") >:%,8K, M?(*63V#EHPWX)U 2X^@$6GP8!A%T>VR&P1(=%D 7(C.9L"43V@?G8$ >9&2 MS@F@2]GPK+-ZSR_4,O)"MY?V-#3,O3YHIGN*HC[H3O?4"=?A'[7\(^O7>\=% M5M13<[D56R;9F@HBUSBG*M*)'K?18VOUJP8(/C)2+9*J#YUG+Z"H6_V%J=ZQ M5J48Q?U2G@!U\H2N$E+W5*;(*'RN/GDQ@E$OJ9.P;EH'^@Y/I86-:4$]'D+: MM#L)ZZ:%5%KH5%J>,2VDQX->!/MIG8)UTU)*!?&IM'QC6EB/YX9^W$_K%*R; MEA([:%>[QS61VX:E(,R8G&P1Y8N2)D6Q-;#H)(0&+[9"@BJQ@RCMUD#-7X.JX1ZL]9!4&]AU_"$'K:E!^&2XPXN1+"9E)(J0*RJ\+P3P/I M H!1W)>)0:C$@(+("X^045J"X#LL!9 2#607C3.*J>N#J9A#4(D!92FFDAID MEYIIO;DG##"2UP7DZVQCK9.2"^2]6;M!JLLC>YT2<4[KP:KQ8WOC']QZL*%7Q]JF9A J M.87J]\_I.EC?3\CEB[:A'09+S##L'V&DY ;;=R?#/Q!LVH%H; : M$A,H.,9$21SVWZ'58*5(^*U^.&L?@A$&N65;U61 '\^H[ MW/\0W#YMSYMNZE.6WO-;>#6%AN'6W/TU2[O>'6U]3MLI*#G*RE*'>J) +JOIR3>3VC54 ^7Y)J7B]J0*TIW:3_P%02P,$% M @ [HT#4\E<]ED5 P ^P@ !D !X;"]W;W)K&ULI9;9;MLP$$5_A1#RD !MM%F+ ]M XJ!HBQ8-LK3/M#RVB5"D2E)Q_/<= M4HKJV(H:H"^V*,V=.7/%19.M5(]Z V#(<\F%GGH;8ZH+W]?%!DJJSV4% I^L MI"JIP:%:^[I20)=.5'(_"H+4+RD3WFSB[MVHV436AC,!-XKHNBRIVET!E]NI M%WHO-V[9>F/L#7\VJ>@:[L \5#<*1WZ79#$/ RMP$3\9 M;/7>-;&M+*1\M(,ORZD76"+@4!B;@N+?$\R!DU&,JX M/B,?R^ :!;%J_:(M?-<6C-XI_K<4YB8,/) JB ML$<^'Y9?0X'RT,F#UW(?;>B\B#HO(IH6#(AF'I=- M328*7B^Q$+-SNP6I&I ^9YO\JP)RI*]Z)>P8\Z^-&_ M?'*6\'=9DG19DT%+T'0E.7>F*^#48 4H*RYW &0! E;,],ZQ)FVRWV.0Y%ET M8,5Q6!X&>=YO1=I!IX/0\UHI?)$$MU5%#1-KP@$WED229DF6'? > M1V5Q$,?]O%G'FPWS4EU3;G8XRW2MJ"@ O=:@G@Y?84.:'3$D41(>@!X'Y7&: M]'/F'6<^S"E5)=%1L.M"ED ,?<9-R,X-:3:@FG$?&AN3U2##P:I[J6AW&XIPVNVW:^# MHPTC"N/QZ' Q]<7AAT-VZ*"_=S+9SX+O5*UQZN$J6:$P.,^P7=6],_L#4$L#!!0 ( .Z- U.5['?, M,0, .,* 9 >&PO=V]R:W-H965TTX>)9K@A1X*W(F1P[*Z76%ZXKLQ4IL#SG:\+TFP47!59Z*I:N7 N" MYQ94Y*[O>9%;8,J3'?.QXAA')2:9,"JP?KV1*\MQDTCQ>ZJ1.LZKL9,X8$X6N,S5/=]\)[4@9/)E/)?V%VRJ6(0@#/P]' -CH].P!&@##RN>"DQF\N1 MJ_3>)H.;U?M<5?OX!_;Y6;)S$'BGP/=\V .?#L.O2:;AT,*]7;BK%3>R_4:V M;_,%P[)Q2_9 UJ#)&MBLX8&LCUSA7!^BF>HSJ,)&%FMNU^LD0BDR;KRVC=@/ M"V#LQ4D3MD,M;*B%@]2>&"ZX4/0OF5N"@$I98I81D''9%5_QK1*B%I&S,/;] M#MV>J+:F';*H(8L^Z.,I8*373+2W;83".$T[[/;# A@A%/?SBQI^T2"_:2F$ M/C)@;1S5M8@O0,[9\DP141S\_-&^49$?I'&'<4]8&+=MWV$<-XSC0<8W._2L MJX9UMBNDCW:\QP>E?NAUC\%^F!\E28#Z:2<-[63X(!C&-QRS@\)0W K;);>MI7"XF-[JZ[+4 M3NZT.Q+1_MU@L*9,@ M)PN-\\YC;8&H.JIJHOC:-B4SKG2+8XF#ZGZ6LG_P!0 M2P,$% @ [HT#4R,:T36F!@ JR$ !D !X;"]W;W)K&ULM9IM<]HX$,>_BH;IS;0S+5BRA7$GR4R )J%-[G))>WVM@ !- M;8N3!4EN[L/?^B$6Q+8P&:XO&@S>OU>[VI]6@I-'J7XE2\XU>HK".#GM++5> M?>[UDNF21RSIRA6/X9.Y5!'3<*D6O62E.)ME1E'8(X[3[T5,Q)VSD^R]6W5V M(MRL?3#NZ\O'$G%DN=OM$[.UFQ!;_G^L?J5L%5KU29 MB8C'B9 Q4GQ^VCG'G[]1FAID=_PE^&.R]1JE0WF0\E=Z,9F==IS4(Q[RJ4XE M&/S9\!$/PU0)_/B[$.V4STP-MU^_J%]D@X?!/+"$CV3X4\ST\K0SZ* 9G[-U MJ._DXQ4O!I0Y.)5ADOV/'O-[?=)!TW6B9508@P>1B/._[*D(Q)8!P0T&I# @ MKPRPUV#@%@9NVR=XA8'7UH 6!K2M0;\PZ+@BQ\W-FYWXLFIFJEZ#ZL]L(> SQ#9( M79YT ^>WNDGQ-K.O=C.WZ[\VVPF*5P;%L^K\B%DDE1;_0%S&_$&C29*L63SE MZ,L3-!@)KQM1+MG/)-/N8G/F^82<]#;;_E=OH@27]^PX2TMGJ=79.[YBSSE- MY1Q=RWCQ"3(898[7 8967/ #BNFNHQ?5NUSB]8-Z5_NEJWVKJ^>+A>*+=%ZM ME(BG8L5"!)%>QW6.7N5:=,N%/O7\('@5TG[54]RGU*]WU2]=]?=$=2/#C8@7 MJ*B["S85H=#/ENDU*+4'1ZSDH%0-K![?L"<1K2/T(!58IIY/V0JLD1@^1GHZU=P9U*MGW: M[,]6SX&M_@Q?H@'5L=:)AH8"+FJ7*5SQH.GI!MF86)\^DE$$[$S#$7(-99G5 MZ#3+OR7EV- ;NT><2M@ $-L)>-ADPE6L66>301NVL^WZ==#V)I%6DN@-@D9' M#+BPG5POO6O]%-X5-8C!_C&39_""!_]'#8X+V7[+&C1@PG8RO64YG> JH3R_ MR1=B^$3V\"EO9=).QTRJ,BH?(4C0_"QE.$-I$Z1$OAN'6[74Z6J5)/QUEO(: MV/-U43Z%]TP6?0189HOH9]6]9!VD9L*$>.23EB*$?LE!NR1"0H/R!* [AA2K"' MD+?L?8=[Y)TNM:?<<)#8.5@3ZKR$/-\P$6:9;N7(%:F2$5.,&QTQ:"1V--8D]HT]@VL0Z#K'W$@:+KEV+AV6 M6[<*)5MN78,EUXZE[^GFYUJRV#:HK>WQ,='C&O2X=C;<[M\ C=V:MHI80F1P MXMIQ\N>:*9A8X?/6/JQ84NHPY]9L&;U&+PQC7'M/-=DY:4@>V_GD&;Y[]Q*RLP8BIA:A+V.4>!5*MNN(\ M[&"[W3%L'=;943IB,9L)"'C[1L@SJ/3H,0-OX.?9:7708GGI50^YO(:):B#G MV2%T8 ]T6V_OA#Q#+2\X8G*I01&UH^C08XO+ M0F\GMDZW(<74L(C:6?13JE_9#H&M1+I[;5\@U)")'I-,U)")VOEP6($48MNK M"FY .35@H7NVAVW/#B\+H19GAW3K6-_>I!U:G[3:I55"T-OZ]C;]&<--1OT$ MRFL.1D[7!PV5_S(@O]!RE7VA^R"UEE'V<@F;9:[2&^#SN93ZY2+]CKC\?<;9 M?U!+ P04 " #NC0-3?L1/9(L" #=!@ &0 'AL+W=OGN^?">=8(^:H*1 UO)>-J[A5:5W>^KS8% MED2-1(7 M'^B?7.VFEC51^"#8=YKK8N[=>I#CEM1,/XOF,W;UC"UO(YARO]"TL>/(@TVM MM"@[LB>(+@GB3A#_K2#I!(ESIBW%^9 13=*9 M% U(&VUH=N',=&I3/N6V[2LMS5MJ=#K-4-(]L=[#(U=:UJ:E6L%UAII0IF[@ M"BB')\J8Z9*:^=K<:97^IN,O6GYT@3^!)\%UH> CSS$_U?LFUS[AZ)#P(AH$ M?JGY".+@ T1!%+ZL,KB^NJ%]YF<2?!CF9;@QO-#Q@HYWAI(-4U98C2",+26\ M/4LY*3;NNQ,[;/Q/W1D )STX<>#D OAK7:Y1@MB>=+U6F(,9): ER2G?P2\8 MM';17C)VE]@!LT^#F;\_D]>XSVL\F-E#3#OMT+HP\9>T'_1TM]02P,$% @ [HT# M4^E7R:KK @ & D !D !X;"]W;W)K&ULK59A M;]HP$/TK5K0/K=0V(8% $2 5 EJG5:O:=?MLDH-836QF.Z7=K]\Y"5F -&+J MOI#8?N_=^?DX9[05\EG% )J\I@E78RO6>C.T;17&D%)U)3; <64E9$HU#N7: M5AL)-,I):6*[CN/;*67V MCK69L">C#5W#(^BGS;W$D5VI1"P%KIC@1,)J;-UTAHN!P>> 'PRVJO9.S$Z6 M0CR;P6TTMAR3$"00:J- \?$",T@2(X1I_"HUK2JD(=;?=^J+?.^XER55,!/) M3Q;I>&P-+!+!BF:)?A#;SU#NIV?T0I&H_)=L2ZQCD3!36J0E&3-(&2^>]+7T MH49 G6:"6Q+<0T+W'8)7$KQ3(W1+0O?4"+V2T#N5X)<$/_>^,"MW.J":3D92 M;(DT:%0S+_EQY6PTF'%36(]:XBI#GIX$(-D+-:=+;KG2,L.BT8IR],@=YA K,N<11 W\H)WOM_!M=*RRS=W9-G5;!;]D M_(IXS@5Q';?3D,_L=+K3M)V/19]_+/JBG1Y B/1.$WW/2Z\J02_7Z[ZC5U4. MO&*[5- BV:TDN[FD]T]5W2+I"+CFH@52812V%E#L>;L-T0$NV14 M1547A(-NJO-"WL_E3=-_F731PY=ZZ1Q#!MY@'Q,<8RY=K[\/FA^#?+?O5: ] M _S* +_5@&\Z!HF;Y^M+/+64)(PN6<(T@S9[^Y5Z__^>VZ 2'K2F_;5,\ZW6 MUQK[T.#8L^O>P0D%IX 6QZ!KU^D=N&_7.G<*[@8:+')[XVE MT'@+Y:\Q?KJ - !<7PFA=P,3H/H8FOP!4$L#!!0 ( .Z- U/?N,$]S@( M !X( 9 >&PO=V]R:W-H965TT M2:VT 8&\K4HB-4FK=5*DJEFWSRX6NOB(@A4LL:<*%\4R,U*)F1.M#'E*E"%1)(Z4,Z" M* S[04XH]R8C-WK[XE8:*VA84IHC5U1PD)B-O6UPAHQ9(A/&[YK3:UQ:X/'XP'[MM!LM#T3A3+"?--7KL3?T(,6, ME$S?B>U7K/7T+%\BF')/V%9[!WT/DE)ID==@$T%.>?4FNSH/1P##H6_ M#PO!]5K!%4\Q?8X/3*Q-P-$AX&G42OBMY#[$X2>(PJAS(I[9^^%A2SAQD[_8 M\<7OR%\+7;>AZSJZ[BMT5UF&[F"#)CN01".8LTZ=DU/);V>+!GXO_'@J26_@ MOOCA2]PS.;U&3J^5Z-Y?^I!ABI(P4)KH4@NYK_4\23PC"@@4*!/D^OR4SG8W M4>?O>"N=_XY[IK/?Z.RW$BTHIWF96PE4I""R6BS:(:,Y-9:]/X<5!,)3,#78 M5!D.OTI)54I=73MYQ=J=Q[!'(MM.WZ"1,6B707;_4T:[\]Z;,H:-C&$KTQPS ME!)3N+Z97;I35I"]Z3Q:F;ZC4&Y.7J6*LU,52MO\-I-N[/=&P>8XE."HU.8H M5ZX#*4A$R755Q)K9ILE=NMK^8GYJFE_5JYYHJLZY(')%39(99H8R] ?F$,NJ M&U6&%H4KZ ]"F_;@AFO3P%':#68]$T(?#.N@^268_ %02P,$% @ [HT# M4S$XB I&ULK5C; M;MLX$/T5PLA# G2M^RUP#&SBI+&-!D&S:9]IB[:)2**7I.SV[WNYY2A"@?A& MR5[4KI$*9<'8FQI,XYN!J69$$K*4R@2&GQVY(TFB+,$\_BV-#BJ?BEB_/EI_ M*(*'8!98D#N6?*>QW-P,P@&*R0KGB?S*]H^D#,A3]I8L$<5_M"^QY@ M%X)0$IR_!+0EN7X)7$KR^,?@EP>_K M(2@)05]"6!+"OH2H)$1]"99Y7#FS-Z5:[$/2';*D2+$)EG@\XFR/N,*#/751 MY&G!A\RBF2JI%\GA*06>'$_HCL8DBP7"68SN,<]HMA;HF7#TLL&=]]F?>Y[_MW8#RJ&K$ MKFK$+NPYOUDC'2Z.A&4"=F-T"=43LP0& FW!75%C M5[HR.I@/"_/J&-V-S:'ICXQ=O5KZ@"9]0/=]0 ]]0)_[@![[@*9]0#,=R+)/ M0?,/0"$HXEX]<=Z>)5QKS.='F"7NLR80)V99HM64H0EI+3 M12[Q(B%(,O3,:P4&MR/-"@;44@\1:T+9I MME(]'%TBYH1TT9)QI;%F^XS;$UMER:QY/ MU DK=<).=28TR57SB\AJ!=VP4N%XX N1@VJ04JV9(%W-TOG9> M8\;3,^Q[A1(YOF&CMNH(_=,M\;1?/_JH]8"07(?A52^CV1QK5#KR&. M!N:&OA\V]-%9LRTG:$BDM1:$+5N256NGKH.RNVYBKQUA^[:NZSW%L6R M.U?GMF5+ZM]"/)8>3H^]IK[37JB9%A4VSUF]K98E>&^EK.Y>:M*:?;\BAJX' M\(.F&%K4F1@Z5&B9]3^K*8W6ISZ ?,%\33.!$K("ECD,(+WYX9O" M82#9MG@57# )KY;%Y8;@F' %@.&PO=V]R:W-H965T>/<.,^QG)&&]R_-B[%9)[0 ME*\O>FYO,W"7+&.E!_J7YRNRI/=4?5O="GCKUU*B)*-,)IPA01<7O0_NV8WG M:X:"XGM"U[+QC+0I<\X?],NGZ*+G:(UH2D.E11#X>Z17-$VU)-#C1R6T5Z^I M&9O/&^G7A?%@S)Q(>L73?Y)(Q1>]40]%=$'R5-WQ]0VM#"H4#'DJBU^TKFB= M'@ISJ7A6,8,&6<+*?_)4.:+! '+:&7#%@(]E\"H&;Y=AT,$PJ!@&QZ[@5PS^ ML2L,*X;AL0Q!Q1 MN_=*P&P"?.KR7O'P(>9I1(7\$\U^Y(EZ1B=3JDB2RK?H/?IV/T4G;]ZB-ZB/ M9$P$E2AAZ!M+E'P'@_#\->:Y)"R2YWT%&FFY_;!:?5*NCCM6=]$7SE0LT8Q% M-&KAO[+S>X?X9W;^H86_#YZLW8DW[IQ@J\ O1)PBSWV'L(/=-GOL['_E#-B= M3O;I\>Q.FS=>MOKURU;_:&>?TK!V71O[C9W]FLY/$1ZWL6]%TJL3PROD>1WR MKGB606TM\L,B;E"+&Q3B!IWBV".DF"[7?('NJ%0B"16-R@4V^<0 K&"ZRK-U MHN*8IA$"B$**/,'0">1;.?NV;7N4.OB%#AJU'B]=SW>'Y_W'9A@/46T9Z-<& M^E8#;P4/*8TD6@B>H43*G+"0:FO"TI-RWY/EIBSE#IOJ!*/ Q3M:[Y/YP:A= MYV&M\_! 4$R,WZ%;(A X^EX1'9?O),TINJ4PH/W=ELNE\*"AD7/J.(Z[K?CL M.+*/!\FV3 QJ$P/K-BZ4AR9CE8LP!HQ'JY0PRWX>U7)'5M=]6"X%78*GD)$, M.YJB?(441^LX">/-/@X)0W,*;0J@BP#7YE!L13FYI9G@2T&RMM0?[<4>^^"; M=M>,:Q/&5A/^SK,YZ&'R;:/);V@X'>_EE!\$WDZ,KUNHW+$_Q.V&N(X!<<<> MC8SG3*$52+RTIX5HY'7%Q6WT).[+S(%N0^^J$%K>@\:A MD]5FMK5F5KJ,FO5G>#K8+9KM9$Y'U72QL15;;9UEJY0_4S /-N)UKG(PXA-; M" ((D8?%ZPVT9PE; CY\_GQER5W78)O[*N#F&G1S[? V362H8P;1*,M @0(J MAJP'V(-#$ )XIT6^P1'I 6"N)"-JNU28$,^?(?Y")6&R(DP53>?GKW?H%LH7 M.B$2$01A#2E3;4&='5#7]:&T_F&SW,">:\>]3PVD*XVH8;P&P9!+L.#DOA.X M9]4B6YCL>)!+XX[]92#.M6/<[^-R)7BKZH[&G=EM$,D-#J$NG+PE*8^],;!<+#3TAPDVS;2%'YL+_R;#+=YS%16C%\E!*9J8L^J79F_NZE3Y%2- M0KKDI9PMWRLJ(-V8KE#)8UO;57G2V_,D]L>C8 =]6LB\@8^['&[J-K87P@II M(?LH:!GI*DN?H (SJ-@-Y-TUN;25%):B8RT=[.?P7D/10C3LRG-L:C0^<#8I MD4+#$%BR0:0*B,*42T#7$I DRF7IAHAJNQ*FIUC=*6YY0<4 7P![D&!SV@U= MKL X=$$/W)XH")]UJ0&E&"&5JT9RHK.I1"I M\WO"B8CT2XX9L(QL&SF W??;)< GC(X$ M,FB&[4>E>T!G%A'Q#%8OJ("XYK+#FHONP.95-*/O;;P##)Y=F0J M+R[*4X)N6B*>I@1RT'J8FWC[^.%U['[/P(?W*U=;S3W6=![Z*+ALO0/W6FZX M_,#?BUV_<8V?4;$L/NE(5!RLRHO+>K3^;/2A^%BR,W[EGDW=EO&9>W9=?A0R MXLMO5%^(6"9,HI0N8"GG- "51?G9IWQ1?%5\1)ASI7A6/,:40!>@"6!^P;G: MO.@%ZH]OE_\!4$L#!!0 ( .Z- U/JI*<1SP, #L/ 9 >&PO=V]R M:W-H965TDG2RXRHO2M6+DR%T 2"\I2U_>\T,T(9_< MFB6A&3!).4,"EF/G!E_/<6 -N(;A8T\N$:FE07GW\W-'\G8\4Q%D$*L# 71 M?T\PA30U3+J.?RM2I\YI@(?7._:Y;5XWLR 2ICS]BR9J/78&#DI@28I4/?#- M[U UU#-\,4^E_46;*M9S4%Q(Q;,*K"O(*"O_R;82X@ 0!F< ?@7P3P"X>P80 M5(#@T@S="M"]-$.O O0NS1!6@-!J7XIEE8Z((I.1X!LD3+1F,Q=VNBQ:"TR9 M<=:C$OHIU3@U^01Z6B3Z#4UYEG,&3$G$E\@.H]E6&UC_$Y:@SSD(HBA;5<\^ M4;*@*554H]]'H A-Y0?-\_4Q0N_??4#O$&7HRYH74J/ER%6Z6)/2C:O";LO" M_#.%!>B.,[66:,822!KP43L^;,&[6J1:*7^GU*W?2OBQ8%J?5A MDR[M3$H4T%)0MRZH:VF",S3'[K?%Z,JL^UO8>S5[[Y5V=^]."W/IP9(HM$3F MJ_ T\3$.!R/WZ=!J#5$![@7'4='+J*X_\+O'4;.&J! 'N(XZZCBL.PY;]3SM M.-VO%BUZ]FOV?JN>-W&LISTYSUIJV7_16=CO]?LG*ET4-7\9U0^\(&A6:5#W M,;C0%W9-[=2+ZG,'30LAM!\[Z%$1!?I;KHPSYY01%E.2HGLNJ?TV_STS;Y"D MB]0LRE+]TR1%>QT[/0_6]+J IE?R3=GF;\5V- 7#>@J&K?1_2/W MO5++F\]!]*L3SG]APN,)/]CGX?_U#7IE[:S8CHPWQ#[NG=CXPKAY0YR/O6$W M/&-D?]^7W]K7'=G2K,C:--KO2G#[9N(!&&RTNQ6(K%&4=G@//0,1C9N8'T&6 M3;@'>_L,Q,J>PB2*><%4N>&J1^N3WHT]WYR,W^+K*6X8C_#UK#S'[>G+8^4= M$2NJ=VDI+'4J[ZJOMPJB/*F5-XKG]F2QX$J?4^SE6I]N09@ _7S)N=K=F 3U M>7GR'U!+ P04 " #NC0-3_[L8/% " !7!0 &0 'AL+W=O/$EING^_D^R8-$O#&!C[)-USSSTGWQ5;I9],!V#)B^#2S(/.VOXFBDS= M@: F5#U(/%DK+:C%I6XCTVN@C0<)'J5QG$>",AF4A=^[UV6A-I8S"?>:F(T0 M5/^^!:ZV\R )=AL/K.VLVXC*HJ? QN:EF MSM\[?&>P-7LV<4I62CVYQ9=F'L0N(>!06Q>!XN<9*N#(_6&.[>7 =D ;6=,/M@]I^AE'/I8M7*V[\FVP'WZLT(/7& M6"5&,&8@F!R^]&6LPQX@F;T!2$= ^J^ ; 1D7NB0F9>UH):6A59;HITW1G.& MKXU'HQHFW2TNK<93ACA;5DH(9O%:K"%4-J12TC+9@JP9&/*>?(.6X\[ANE>@Y M^%]XI61C"#-F \,9=IFQ:"#QL8(.!,EPE:X]G\LTS(OH>;]L1YRR,)V<7N4^ MFW*?G9 MY^'U@8S!+=_SRC_D!RJBO=_>C9P[JELF#>&P1E0<7ET&1 ]M/"RLZGTGK)3% MOO)FAY,/M'/ \[52=K=PS37-TO(/4$L#!!0 ( .Z- U/P/.!&004 $P: M 9 >&PO=V]R:W-H965T;!\(@<2XUQ]B%U%27-[F=BCVU48+PPCEMI?_P.CX -\_"FS9<$\#EG9NX< M[KW [,B+K^6.,0&^96E>7D]V0NRO'*=<[5@6EU.^9[G\9<.++!;RM-@ZY;Y@ M\;HF9:F#(?2<+$[RR7Q67[LKYC-^$&F2L[L"E(>9T*NLD8WF9\!P4;',]^82N;K%7$6K$7PD[EB?' MH%K*$^=?JY/?U]<36,V(I6PE*HE8_GMF"Y:FE9*'K^HW]:+ MEXMYBDNVX.G?R5KLKB?!!*S9)CZDXIX??V/M@FBEM^)I6?\%QP;KT@E8'4K! MLY8L9Y E>?,__M8&XH2 D8: 6P*^E$!: AD2 @W!;0GNI2/0ED O)7@MH=Y, MIPE6'>DH%O%\5O C*"JT5*L.ZNVJV3+ 25XYZT$4\M=$\L3\GNUY(>*GE($' MMI66$27X$#$1)VGY$;P#20Z^[/BAC/-U.7.$'+'B.:M6_:91QQIU C[S7.Q* ML,S7;*W@1V:^9^/?FOD(&P0<&:HN7O@E7C?8J/C'(9\" G\!&&+T^!"!#^\^ M*N:UN%P%ZE6B_S^7LME$A=CRITSIUJP2L95408V*=2TDM2S2RK35E M*JOLB=6 +YI1ZCOA_+E?O@7Z*,:-<*T M%J[2^/.LV>6'YCJ=FR(WLE808 \!,^GM!C# M0AA@Y)W#HC$,>6$8DO ?;&'^\7(A /MG^A@$$8 M>O[ )0I82# 1I(E(6&G00K!O'>";9&5TTIR@UV:ZEGGJ)Q=3%Z.!B14X MXD*$!UDZ4N!\#[ID@%LJ<#2$4.=CA/NUXI^0[2PB;C E:D-;B,37.#.RC>A. M?;6E;2/2,?$\='UW@,@/Y;N6?N:5('##H57&,$H#,LQW"I@/J4>'1AG#/(PH MTOBD;U60N5>Q93P+7:8@JG&(A>AI'6(FAAI++FT#PO%,SV/6-TS(W#$MV^2_OHXC@J7-I&RC(B'?<0 MYZ'KJSHREW5K_@L57L$$#ZTRAJ$ 03ATRACFRQ(X,LH8YA)T CM__NZ[#@Q_ M*/]9Z.$T5!O$PO,TVQQ9>#+?:IX&+$1%03Z/6-]%87,7=9?L674-/+#B.5D9 MLQ_N^Q6,WR3[X;ZL8W-9-VWRN+@BC) _+.D*' Y"2@>X2(6CR!O>(DL%SI6W M2( UKNZK.KZ@JENSGT4$$4T26UB(!&GNBL@VHJMY@%I:B#B<8K.]^^*.S<7= MEOWP^/4$@:%+AU89P[ O"]O0*6.8Z_DD&!I% 2,4ZWS2]QSX@G8Z9CJ MNC\+4=?$118>"J:>QB"V 36/O,[)R^Y,MG7U9XD2K/@A%\T;Q>YJ]^GC4_W" M?W#]!ETMD.)ZA*Z6S8>-7K[YSO(Y+K9)7H*4;>10LF.0FUPTGRZ:$\'W]:OV M)RX$S^K#'8O7K*@ \O<-Y^+EI!J@^X T_P]02P,$% @ [HT#4Q]#8#^^ M @ Z0D !D !X;"]W;W)K&ULO99K;]HP%(;_ MBA6ITB:MY$I@")" P-9)G2I8M\\F.211'3NS36G__6PGI+0*:=5*^T)\>][7 MY_@@>WQ@_$YD !(]%(2*B95)68YL6\09%%CT6 E4S>P8+[!479[:HN2 $P,5 MQ/8<)[0+G%-K.C9C-WPZ9GM)<@HW'(E]46#^. ?"#A/+M8X#ZSS-I!ZPI^,2 MI[ !>5O><-6S&Y4D+X"*G%'$83>Q9NYH-=3KS8+?.1S$21OI2+:,W>G.53*Q M'+TA(!!+K8#5YQX60(@64MOX6VM:C:4&3]M']96)7<6RQ0(6C/S)$YE-K*&% M$MCA/9%K=O@.=3Q]K1*M#OP;Z+X%S084QFJE21I\BD#@GXO/8EFI#6M:.:_-Y9>Z=,??1-:,R M$VA)$TA:^*B;#U_C5]V\ZW4(V"J333J]8SKG7J?BCSWM(=_Y@CS'J#QF[PD5./NNG@W ET8W[/[\S_L-G\\/7- MG^:H+8)N";\7M$:P>@W[VAZ!?7(5%EA4'&PO=V]R:W-H965T]%*N^$8 MFE8$J4V;GE=5J]V]=L(D6#4XM4W2OOW:AJ"T"M3:PPU@^+_?'F9&=K)A_%GD M !*]%K048R>70X'%@*V@5%\6C!=8JB%?NF+% 6<&*J@;>%[L%IB4 M3IJ8=P\\35@E*2GA@2-1%07F;V= V6;L^,[VQ2-9YE*_<--DA9?P!/+'ZH&K MD=NZ9*2 4A!6(@Z+L7/JG]S%6F\$/PELQ,XSTI',&'O6@^ML['AZ04!A+K4# M5KPJEAD6,&'T%\ED/G9&#LI@@2LJ']GF M"IIXAMIOSJ@P5[2IM5'LH'DE)"L:6*V@(&5]QZ_-?]@!_*@#"!H@^ B$'4#8 M *'M#%$#1+; L &&MD#< +%M#$<-<&0[PZ@!1K; <0,(&_!Y_TX_?X#7E1)WW>3T]A-D#^<2=^T8]_9VNU]J'!O3WXM!^_J>@ A7XG M?FD1>C=]91%ZT(U??[;V4JW=Z_QS-_;XOMEO_V[VNS^>W55]T39'T#9'8/Q" MR^;HL0Q;R]!81AV6$RQRE)$UR:#,U'8QIZJ],G1 2I0QJ@8"K8#777>XKVUJ M^Y&QUSOL.O4&7IRXZ]WNL!%=V(BF-J)+&]&5C>C:1G1C([K=)_*#]Z*[3T3O M,ARU&8YZ,_RQ:$1/U0Q;S^&_*L2XM8S_:R&>Q?U9J!?E[NQ,^E!WC_F2E )1 M6"C,&QRIN'E]4*H'DJW,9C5C4FU^YC%79TO@6J"^+QB3VX'>_]K3:OH;4$L# M!!0 ( .Z- U,B5\@S+0, X3 - >&PO.Z:"_?CX[A)?Z4-"B7Y75IZFBFEM*,2+\U1?[Q)1^1;OJ! M1)YNHG(V(O?G;W\NE;EZ$_GGV?NSL\[]NZM#^[D#WI$X2-I_!NE%QUXHLT,Q M^O1Y],?(,>K+?>IFN&7:>&*.@V=I.B+)$<=-TL;#0LEM[A+B#38R+5GT0,6( M3*C@4\W!JZ E%VMO[H%AIH32D;%%8Z5TP5(_>KCK>U!/#4_)I=(NMH_@OZ?- M\ -@TP.!7(A68(]XPWA846.8EM>VXP8[XQ,H:MIWZ\HJG&NZ[O;Z9.O@'C;( M5.FU 1F7;M(*:IJ?Q'>#?9?/Z/M0*N]&L MX"O77Q6M (R]B[/3JA+K3X+/9&RZ:WX'G.Y).3@J4W=&H/^WO\=GS."KH4YJX%1V3;_L9ROBRS M=M0-+$0S:MO^"M/KINTYT,;B,F61;.-A8'/+ L8+4#\<-QH*;"/DD"6<6T86\PCF09AD MAFLT39'5 M2>$.YP=[2Y(DR\((8&$%28(A\#;B"*8 -&!(DKA]\& _BC?[5+S]!VS\&U!+ M P04 " #NC0-3EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P M#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TX MI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606 MIW.D5XA-/E M_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU M@LD/['X 4$L#!!0 ( .Z- U-J%4Z.]P0 %&PO=V]R:V)O M;VLN>&ULQ9I=;^(X%$#_BL7+=A^Z0#Z8F6H8B18Z6ZE#4:GZNC+)!:PF-F,[ MM)U?/W92M$Y)K_;E+D])'&-.[-CGVL[79Z6?5DH]L9>RD&;I-W^PT\-QL 6Q9]*/!8-0ON9"];U\/92UT/[Q0%C(K ME'2)/N%1P+/Y][Z_9'MAQ$H4PKZ.>_5Y 3U6"BE*\0OR<6_08V:KGO]66OQ2 MTO)BF6E5%./>L+GQ"-J*["AYZ2$?^,K4*9:O[KD#&?=& U?@6FACZQQU^=PQ M[L%E;JXJJZY%84%/N87O6E4[(3>^&/<4_> QZGHX')M*O-#_I1K5>BTRF*JL M*D':IAXU%!Y0FJW8F1Z3O(1Q[Y"%<9FSF;2NDMB-;(IR>?V3NK^^R9NGM@XW MJ$-](=P-?9/7X'205W?SZ6R^G$V9.UO>W=Y,)P_NXG)R.YE?S5@ &2&0T0DA M_XD"R!B!C$\"N7QPAQ^S>0"9()#)"2%;-9DBD.DI(>,

$3 /(SPCD9UK(.;>5!J;6[+(R0H(Q =<7A.L++=C=H# M;-@>T,+=0^;5,LDR53FUR(VC5-*=9^!_&6*B=B'6RS47FCWRH@+V [AQ[>Q_ M$#;P$//*D%@LD^QGY?ZT3@^9,(T,B3UR#WN0%80XF#"&Q,;XKE3^+(JBCF)N M7"^0&T_ )L9 NR$Q8PR)E?'6#PQ;\%?N\3RM2]05Y.Q6A)B8,X;4TM"0"]=K MM7;5>-P5,%,,B54Q!2WVW(?2KI6-U=41'::((;$C;F2F2F /_ 5:3)@>AL1^ MF(J]R$'FI@GPN99N&'9O(&BVW'(=ALZ8*2)B4RRMRIZVJLA!FS_8S UX]C5D MP_00$>OAUCFAU: 1.LN@GF:HLA2V?N_K)KU2M5E!9J(-B>DA(M?#3FE;CW%+ MV+SOI!&FBHA8%!GY>.2V;X=A$28'")B.70&M#H.H[I:/,9D$A/+I#N>ZL1$%ZV(=8(&,>T6Q]02$ZNE M"10Z:P\S2TQLE@X9=S)B6HF)M7*\O,+.IF"Y*-J,F%-B8J=\8.@N3,PN,;%= M/C1T QIB8K*)B673,O0YBP;1D 5IX4HT)IN$7#8MS(56[-J7\[9)$F)BLDF( M97,(*<[]H%B7(#/7G5:%V/C,(2;FFX38-RAF:R!/,-\D_\_JEL/TLRO-,\MX M$P/5G2C$1+=)B'W3@5D(7N]TNAE#&*\EF'\2H?14\Q! M*;&#NB#/V9R[:Q^ZAYB8@U)B!WTTF7BKSA 3UJA$6:> M$?6VS+O%\LZ*'&'2&37?M!T^9,MA[6;W^=R5;EQZQHMLH9D_--OL2>IWR]95 M45RYM#MYJWA^^"[N\$W?M]]02P,$% @ [HT#4_5)DLP! @ 7B0 !H M !X;"]?]"2J,T(%XO*+P2<$/#SG0S?M^U/9 M[8>R^#@>3F75[*9I^)526>_RL2LW_9!/YR.;?CQVTWDY;M/0K=^Z;4ZZ7+9I M_#ZC>7SX/G/Q\CGD_YG8;S;[=?[=K_\<\VGZQ^#TWH]O99?SU"Q>NG&;IU63 M/@[7W25=-G)SGMPLGEY7S?CT*DVJ':00I/6##(*L?I!#D-@^_I!LD09EP1),ZP)M!;D6@B\%@1;",06)%L(S!9$ M6PC4%F1;"-P6A%L(Y!:D6PCL%L1;"/16U%L)]%;46PGTUMG#-H'>BGHK@=Z* M>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z&>AN!WH9Z&X'>AGH;@=XV M>UE"H+>AWD:@MZ'>1J"WH=Y&H+>AWD:@MZ'>1J"WH=Y&H+>CWDZ@MZ/>3J"W MH]Y.H+>CWDZ@M\]>=A/H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z!VH=Q#H M':AW$.@=J'<0Z!VH=Q#H':AW$.@=LX^5!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$ M>K>H=TN@=XMZMS^I=YD^#[E<>[[6>/V?I'HZGYNOE[\LOW;.;L(%YP2_$SW^ M!5!+ P04 " #NC0-3UDS DN ! #C(P $P %M#;VYT96YT7U1Y<&5S M72YX;6S-VLM.PS 0!=!?B;)%C>M7>8BR ;;0!3]@D@F-FL26;:#\/4X*E4"E MHBH2=].HM3UWXI'.JITZ_1P:V\]S3VW(L^O-QB%K MGAOGVJ8T,:VSE[[ZEC+Y2"C2R7%/6#8NG*0-.=N9,*S\'/!Q[OZ%O&\JRA;& MQSO3I5ULW;(0WUH*Q?X2.WJT==V45-GRN4M'BN \F2HLB6+7%INB)_N38[IA MVGSRH_/',OL"T\Z%MRZDB7DZ/.YS),/IB4N%R,=F_RMN$U/IH]^/AFE75/TR M.UWOJ_6K<1Z!C8_C[_CKC+?U#^Q#@/0A0?I0('UHD#YF('V<@O1Q!M+'.4@? M?(K2"(JH'(54CF(J1T&5HZC*45CE**YR%%@YBJP"15:!(JM D56@R"I09!4H ML@H4606*K )%5H$BJT215:+(*E%DE2BR2A19)8JL$D56B2*K1)%5HLBJ4&15 M*+(J%%D5BJP*15:%(JM"D56AR*I09%4HLFH4636*K!I%5HTBJT:15:/(JE%D MU2BR:A19-8JL,Q199_\IZZ.UJS^.'Y]%9YK^,Y^-_^VY>@=02P$"% ,4 M" #NC0-3!T%-8H$ "Q $ @ $ 9&]C4')O<',O M87!P+GAM;%!+ 0(4 Q0 ( .Z- U-/3$V>[P "L" 1 M " :\ !D;V-0&UL M4$L! A0#% @ [HT#4T/P\;HV!0 F!4 !@ ("!#@@ M 'AL+W=O!@ & M@(%&% >&PO=V]R:W-H965T&UL4$L! A0#% @ [HT# M4U>\:Y@G!@ _AD !@ ("!^Q8 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ [HT#4S@\%U^K @ 8PD !@ M ("!=BH 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ [HT#4[MK)$ZD P #@D !D ("![3H M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M[HT#4QZU+ZX-# 7"0 !D ("!@D@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4S 8-198 P M]P< !D ("!#&X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4Q\S\<23!@ +P\ !D M ("!^G\ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ [HT#4V;]JDET!0 ,@X !D ("!WI( 'AL M+W=O&PO=V]R:W-H965T 9 " M@=F; !X;"]W;W)K&UL4$L! A0#% @ [HT# M4\%V"AI< @ +P4 !D ("!VJ4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4WJVY U7!0 .1$ M !D ("!Z[L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4Q;!ZT74 @ GP8 !D M ("!N,P 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ [HT#4XT\BJ=,! Q X !D ("!1-8 'AL+W=O M&PO=V]R:W-H965T M !X;"]W;W)K&UL4$L! A0#% @ [HT#4Y\6 MBYX9 @ &04 !D ("!5^( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4Y3\ZV>[!@ "AX !D M ("!%.L 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ [HT#4[RBJN!> @ U@4 !D ("! M3OD 'AL+W=O?]GLP" #>!P &0 @('C^P >&PO=V]R:W-H965T;^ !X;"]W;W)K&UL4$L! A0#% M @ [HT#4YC I:^M!P 4RP !D ("!V0$! 'AL+W=OQWS#$# #C"@ &0 M@('7%0$ >&PO=V]R:W-H965T&UL4$L! A0#% @ [HT#4W[$3V2+ @ W08 !D M ("!'" ! 'AL+W=O(@$ >&PO=V]R M:W-H965T&UL M4$L! A0#% @ [HT#4S$XB I&PO=V]R:W-H965T&UL4$L! A0#% @ M[HT#4_^[&#Q0 @ 5P4 !D ("!CC@! 'AL+W=O&PO) &@ @ '/3P$ M>&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " #NC0-3UDS MDN ! #C(P $P @ $(4@$ 6T-O;G1E;G1?5'EP97-=+GAM 7;%!+!08 10!% -H2 95 $ ! end XML 74 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 75 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 76 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 250 361 1 false 49 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 - Recent Accounting Pronouncements Sheet http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements Recent Accounting Pronouncements Notes 11 false false R12.htm 10401 - Disclosure - Fair Value Measurements Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 10501 - Disclosure - Acquisitions Sheet http://www.primoriscorp.com/role/DisclosureAcquisitions Acquisitions Notes 13 false false R14.htm 10601 - Disclosure - Revenue Sheet http://www.primoriscorp.com/role/DisclosureRevenue Revenue Notes 14 false false R15.htm 10701 - Disclosure - Goodwill and Intangible Assets Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 15 false false R16.htm 10801 - Disclosure - Accounts Payable and Accrued Liabilities Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities Accounts Payable and Accrued Liabilities Notes 16 false false R17.htm 10901 - Disclosure - Credit Arrangements Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangements Credit Arrangements Notes 17 false false R18.htm 11001 - Disclosure - Derivative Instruments Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstruments Derivative Instruments Notes 18 false false R19.htm 11101 - Disclosure - Income Taxes Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxes Income Taxes Notes 19 false false R20.htm 11201 - Disclosure - Dividends and Earnings Per Share Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare Dividends and Earnings Per Share Notes 20 false false R21.htm 11301 - Disclosure - Stockholders' Equity Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 21 false false R22.htm 11401 - Disclosure - Leases Sheet http://www.primoriscorp.com/role/DisclosureLeases Leases Notes 22 false false R23.htm 11501 - Disclosure - Commitments and Contingencies Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 23 false false R24.htm 11601 - Disclosure - Reportable Segments Sheet http://www.primoriscorp.com/role/DisclosureReportableSegments Reportable Segments Notes 24 false false R25.htm 11701 - Disclosure - Subsequent Event Sheet http://www.primoriscorp.com/role/DisclosureSubsequentEvent Subsequent Event Notes 25 false false R26.htm 20202 - Disclosure - Basis of Presentation (Policies) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies Basis of Presentation (Policies) Policies http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements 26 false false R27.htm 30403 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.primoriscorp.com/role/DisclosureFairValueMeasurements 27 false false R28.htm 30503 - Disclosure - Acquisitions (Tables) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.primoriscorp.com/role/DisclosureAcquisitions 28 false false R29.htm 30603 - Disclosure - Revenue (Tables) Sheet http://www.primoriscorp.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.primoriscorp.com/role/DisclosureRevenue 29 false false R30.htm 30703 - 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 30 false false R31.htm 30803 - 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 31 false false R32.htm 30903 - Disclosure - Credit Arrangements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables Credit Arrangements (Tables) Tables http://www.primoriscorp.com/role/DisclosureCreditArrangements 32 false false R33.htm 31003 - Disclosure - Derivative Instruments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.primoriscorp.com/role/DisclosureDerivativeInstruments 33 false false R34.htm 31203 - 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 34 false false R35.htm 31403 - Disclosure - Leases (Tables) Sheet http://www.primoriscorp.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.primoriscorp.com/role/DisclosureLeases 35 false false R36.htm 31603 - Disclosure - Reportable Segments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables Reportable Segments (Tables) Tables http://www.primoriscorp.com/role/DisclosureReportableSegments 36 false false R37.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 37 false false R38.htm 40201 - Disclosure - Basis of Presentation (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails Basis of Presentation (Details) Details http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies 38 false false R39.htm 40401 - Disclosure - Fair Value Measurements (Details) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables 39 false false R40.htm 40501 - Disclosure - Acquisitions - 2021 Acquisitions (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails Acquisitions - 2021 Acquisitions (Details) Details 40 false false R41.htm 40502 - Disclosure - Acquisitions - Pro Forma Information (Details) Sheet http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails Acquisitions - Pro Forma Information (Details) Details 41 false false R42.htm 40601 - Disclosure - Revenue - Performance obligations (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails Revenue - Performance obligations (Details) Details 42 false false R43.htm 40602 - Disclosure - Revenue - Performance obligations - 2021 (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details Revenue - Performance obligations - 2021 (Details) Details 43 false false R44.htm 40603 - Disclosure - Revenue - Contract assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails Revenue - Contract assets (Details) Details 44 false false R45.htm 40604 - Disclosure - Revenue - Contract liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails Revenue - Contract liabilities (Details) Details 45 false false R46.htm 40605 - 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 46 false false R47.htm 40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 47 false false R48.htm 40702 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 48 false false R49.htm 40801 - 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 49 false false R50.htm 40901 - Disclosure - Credit Arrangements (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails Credit Arrangements (Details) Details http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables 50 false false R51.htm 40902 - Disclosure - Credit Arrangements - Narrative (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails Credit Arrangements - Narrative (Details) Details 51 false false R52.htm 41001 - Disclosure - Derivative Instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables 52 false false R53.htm 41002 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails Derivative Instruments - Derivative contract and instruments (Details) Details 53 false false R54.htm 41101 - Disclosure - Income Taxes (Details) Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://www.primoriscorp.com/role/DisclosureIncomeTaxes 54 false false R55.htm 41201 - 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 55 false false R56.htm 41301 - Disclosure - Stockholders' Equity (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.primoriscorp.com/role/DisclosureStockholdersEquity 56 false false R57.htm 41401 - 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 57 false false R58.htm 41501 - Disclosure - Commitments and Contingencies - Legal (Details) Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails Commitments and Contingencies - Legal (Details) Details 58 false false R59.htm 41601 - Disclosure - Reportable Segments (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails Reportable Segments (Details) Details http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables 59 false false R60.htm 41602 - 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 60 false false R61.htm 41701 - Disclosure - Subsequent Event (Details) Sheet http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails Subsequent Event (Details) Details http://www.primoriscorp.com/role/DisclosureSubsequentEvent 61 false false All Reports Book All Reports prim-20210630x10q.htm prim-20210630.xsd prim-20210630_cal.xml prim-20210630_def.xml prim-20210630_lab.xml prim-20210630_pre.xml prim-20210630xex31d1.htm prim-20210630xex31d2.htm prim-20210630xex32d1.htm prim-20210630xex32d2.htm http://fasb.org/srt/2020-01-31 http://xbrl.sec.gov/dei/2020-01-31 http://fasb.org/us-gaap/2020-01-31 true true JSON 79 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "prim-20210630x10q.htm": { "axisCustom": 0, "axisStandard": 25, "contextCount": 250, "dts": { "calculationLink": { "local": [ "prim-20210630_cal.xml" ] }, "definitionLink": { "local": [ "prim-20210630_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "prim-20210630x10q.htm" ] }, "labelLink": { "local": [ "prim-20210630_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml", "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "prim-20210630_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "prim-20210630.xsd" ], "remote": [ "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", "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 471, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 10, "http://www.primoriscorp.com/20210630": 2, "http://xbrl.sec.gov/dei/2020-01-31": 5, "total": 17 }, "keyCustom": 44, "keyStandard": 317, "memberCustom": 21, "memberStandard": 27, "nsprefix": "prim", "nsuri": "http://www.primoriscorp.com/20210630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Basis of Presentation", "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation", "shortName": "Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Recent Accounting Pronouncements", "role": "http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements", "shortName": "Recent Accounting Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Fair Value Measurements", "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Acquisitions", "role": "http://www.primoriscorp.com/role/DisclosureAcquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Revenue", "role": "http://www.primoriscorp.com/role/DisclosureRevenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Goodwill and Intangible Assets", "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets", "shortName": "Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Accounts Payable and Accrued Liabilities", "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities", "shortName": "Accounts Payable and Accrued Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Credit Arrangements", "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangements", "shortName": "Credit Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Derivative Instruments", "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments", "shortName": "Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Income Taxes", "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Dividends and Earnings Per Share", "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare", "shortName": "Dividends and Earnings Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Stockholders' Equity", "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Leases", "role": "http://www.primoriscorp.com/role/DisclosureLeases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Commitments and Contingencies", "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11601 - Disclosure - Reportable Segments", "role": "http://www.primoriscorp.com/role/DisclosureReportableSegments", "shortName": "Reportable Segments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11701 - Disclosure - Subsequent Event", "role": "http://www.primoriscorp.com/role/DisclosureSubsequentEvent", "shortName": "Subsequent Event", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Basis of Presentation (Policies)", "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies", "shortName": "Basis of Presentation (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_prim_FutureInfrastructureHoldingsLlcMember_VO3fkfQfM0aprrFf5U4KBQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Acquisitions (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "shortName": "Acquisitions (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_prim_FutureInfrastructureHoldingsLlcMember_VO3fkfQfM0aprrFf5U4KBQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "prim:ContractWithCustomerAssetTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Revenue (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureRevenueTables", "shortName": "Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "prim:ContractWithCustomerAssetTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_d2LpIovuMU6JTtmWfKvN1w", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "INF", "lang": null, "name": "us-gaap:CommonStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_b9vYKjL2wkCvRIXvrTA5Kg", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Goodwill and Intangible Assets (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "shortName": "Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables", "shortName": "Accounts Payable and Accrued Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Credit Arrangements (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables", "shortName": "Credit Arrangements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - Derivative Instruments (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables", "shortName": "Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DividendsDeclaredTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31203 - Disclosure - Dividends and Earnings Per Share (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables", "shortName": "Dividends and Earnings Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DividendsDeclaredTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31403 - Disclosure - Leases (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureLeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31603 - Disclosure - Reportable Segments (Tables)", "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables", "shortName": "Reportable Segments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_6Aec1xyM1U6OtRAd-fp6YA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Nature of Business (Details)", "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "shortName": "Nature of Business (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R38": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "prim:ConcentrationRiskNumberOfTopCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_1J4r4tSQ2EuPk-TA3sz2rw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Basis of Presentation (Details)", "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails", "shortName": "Basis of Presentation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "prim:ConcentrationRiskNumberOfTopCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_1J4r4tSQ2EuPk-TA3sz2rw", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_rZdBy67PdEypUwfpbTBQ2g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_rZdBy67PdEypUwfpbTBQ2g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Acquisitions - 2021 Acquisitions (Details)", "role": "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "shortName": "Acquisitions - 2021 Acquisitions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_us-gaap_BusinessAcquisitionAxis_prim_FutureInfrastructureHoldingsLlcMember_WUjpulLU50So3iVucPSczw", "decimals": "-5", "lang": null, "name": "us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "span", "td", "tr", "table", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "3", "first": true, "lang": null, "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Acquisitions - Pro Forma Information (Details)", "role": "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails", "shortName": "Acquisitions - Pro Forma Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "span", "td", "tr", "table", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "3", "first": true, "lang": null, "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-8", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Revenue - Performance obligations (Details)", "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "shortName": "Revenue - Performance obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-5", "lang": null, "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2021-07-01_HAxf6HAyy0SbTcWHxA2ocA", "decimals": "2", "first": true, "lang": null, "name": "prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Revenue - Performance obligations - 2021 (Details)", "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details", "shortName": "Revenue - Performance obligations - 2021 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2021-07-01_HAxf6HAyy0SbTcWHxA2ocA", "decimals": "2", "first": true, "lang": null, "name": "prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40603 - Disclosure - Revenue - Contract assets (Details)", "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "shortName": "Revenue - Contract assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40604 - Disclosure - Revenue - Contract liabilities (Details)", "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "shortName": "Revenue - Contract liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40605 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)", "role": "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "shortName": "Revenue - Disaggregation of revenue by customer type and contract type (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_vsnt7S_FzkSEC5LEHHH3gg", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_-_3vBHrQM0a0QKEYBRJ0dg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)", "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_-_3vBHrQM0a0QKEYBRJ0dg", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-5", "first": true, "lang": null, "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Accounts Payable and Accrued Liabilities (Details)", "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "shortName": "Accounts Payable and Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-5", "first": true, "lang": null, "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "lang": null, "name": "us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Credit Arrangements (Details)", "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "shortName": "Credit Arrangements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:DebtWeightedAverageInterestRate", "reportCount": 1, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - Credit Arrangements - Narrative (Details)", "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails", "shortName": "Credit Arrangements - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_-_3vBHrQM0a0QKEYBRJ0dg", "decimals": "3", "lang": null, "name": "us-gaap:DebtWeightedAverageInterestRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "prim:NumberOfInstrumentsUsedForTrading", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_instrument_csOZmR14FkW222_M9noOYA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Derivative Instruments (Details)", "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "shortName": "Derivative Instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "prim:NumberOfInstrumentsUsedForTrading", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_instrument_csOZmR14FkW222_M9noOYA", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_FrQz_tj9jESCRoP1diyyhQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)", "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "shortName": "Derivative Instruments - Derivative contract and instruments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_FrQz_tj9jESCRoP1diyyhQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Income Taxes (Details)", "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_5_4_2021_To_5_4_2021_w6NyyWdqHUGO_PGEs-qB9g", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_d2LpIovuMU6JTtmWfKvN1w", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Dividends and Earnings Per Share (Details)", "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "shortName": "Dividends and Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "-3", "lang": null, "name": "prim:IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_b9vYKjL2wkCvRIXvrTA5Kg", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2020_To_6_30_2020_0ydP-3zXekS1b5Z_oG9IuA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "reportCount": 1, "unitRef": "Unit_Standard_shares_b9vYKjL2wkCvRIXvrTA5Kg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Stockholders' Equity (Details)", "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "shortName": "Stockholders' Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_2_29_2020_kIIU12hJN0yM7qcHIYqrxA", "decimals": "-5", "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "role": "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "shortName": "Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-5", "first": true, "lang": null, "name": "prim:BondsIssuedAndOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Commitments and Contingencies - Legal (Details)", "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails", "shortName": "Commitments and Contingencies - Legal (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_BLtSZpX6uEeoYccsGavA1w", "decimals": "-5", "first": true, "lang": null, "name": "prim:BondsIssuedAndOutstanding", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_6Aec1xyM1U6OtRAd-fp6YA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41601 - Disclosure - Reportable Segments (Details)", "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "shortName": "Reportable Segments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "3", "lang": null, "name": "prim:GrossProfitAsPercentageOfSegmentRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Od_hTcNUKEaBjcmYG_uL1Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Od_hTcNUKEaBjcmYG_uL1Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_vx2uHODLvE-nUMbn7PMaxQ", "decimals": "3", "first": true, "lang": null, "name": "prim:RevenuePercentage", "reportCount": 1, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41602 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails", "shortName": "Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_1ezEbK7ri0KwtYsWrFg8zQ", "decimals": "3", "lang": null, "name": "prim:RevenuePercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_4Q_hh3uKOk6wgCybiTE6BQ", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_5_4_2021_To_5_4_2021_w6NyyWdqHUGO_PGEs-qB9g", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_d2LpIovuMU6JTtmWfKvN1w", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41701 - Disclosure - Subsequent Event (Details)", "role": "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails", "shortName": "Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_8_3_2021_To_8_3_2021_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_-TR772M_DkWdx9yC7a-lJw", "decimals": "INF", "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_d2LpIovuMU6JTtmWfKvN1w", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_5_4_2021_To_5_4_2021_w6NyyWdqHUGO_PGEs-qB9g", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_d2LpIovuMU6JTtmWfKvN1w", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R8": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__j0HNSN9FEqakFKmTxH_eA", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Nature of Business", "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness", "shortName": "Nature of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "prim-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_7-uuQ2hOT0-2uco0BzUe7w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 49, "tag": { "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r483" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r484" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r486" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r485" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r481" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r482" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "prim_AssetsAcquiredMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents assets acquired.", "label": "Assets Acquired [Member]", "terseLabel": "Assets Acquisition" } } }, "localname": "AssetsAcquiredMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "domainItemType" }, "prim_BondsIssuedAndOutstanding": { "auth_ref": [], "crdr": "credit", "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" } } }, "localname": "BondsIssuedAndOutstanding", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "xbrltype": "monetaryItemType" }, "prim_BusinessAcquisitionProFormaEarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Earnings Per Share [Abstract]", "verboseLabel": "Earnings per share:" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareAbstract", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "stringItemType" }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [], "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)" } } }, "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "sharesItemType" }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Weighted Average Number of Shares Outstanding [Abstract]", "terseLabel": "Weighted average common shares outstanding:" } } }, "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "stringItemType" }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [], "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)" } } }, "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "sharesItemType" }, "prim_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes": { "auth_ref": [], "crdr": "credit", "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" } } }, "localname": "BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "monetaryItemType" }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsContractAssets": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 8.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of contract assets expected to be realized before one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Contract Assets", "terseLabel": "Contract assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsContractAssets", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesContractLiabilities": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of contract liabilities due within one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Contract Liabilities", "negatedLabel": "Contract liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesContractLiabilities", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "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" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 13.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "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" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "prim_CanadianCreditFacilityCibcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Canadian credit facility with CIBC bank.", "label": "Canadian Credit Facility Cibc [Member]", "terseLabel": "Working Capital Credit Facility" } } }, "localname": "CanadianCreditFacilityCibcMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member": { "auth_ref": [], "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 Financing Due June2018 To August2022 [Member]", "terseLabel": "Commercial equipment notes" } } }, "localname": "CommercialEquipmentFinancingDueJune2018ToAugust2022Member", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "xbrltype": "domainItemType" }, "prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers": { "auth_ref": [], "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" } } }, "localname": "ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "percentItemType" }, "prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue": { "auth_ref": [], "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" } } }, "localname": "ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "integerItemType" }, "prim_ConcentrationRiskNumberOfCustomers": { "auth_ref": [], "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" } } }, "localname": "ConcentrationRiskNumberOfCustomers", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "integerItemType" }, "prim_ConcentrationRiskNumberOfTopCustomers": { "auth_ref": [], "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" } } }, "localname": "ConcentrationRiskNumberOfTopCustomers", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "integerItemType" }, "prim_ContractWithCustomerAccountsPayableDueToSubcontractors": { "auth_ref": [], "crdr": "credit", "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" } } }, "localname": "ContractWithCustomerAccountsPayableDueToSubcontractors", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "prim_ContractWithCustomerAssetTableTextBlock": { "auth_ref": [], "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" } } }, "localname": "ContractWithCustomerAssetTableTextBlock", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "xbrltype": "textBlockItemType" }, "prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0 } }, "crdr": "credit", "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" } } }, "localname": "ContractWithCustomerLiabilityAccruedLossProvisionCurrent", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "prim_ContractWithCustomerLiabilityDeferredRevenueCurrent": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0 } }, "crdr": "credit", "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" } } }, "localname": "ContractWithCustomerLiabilityDeferredRevenueCurrent", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "prim_ContractWithCustomerLiabilityModificationOfContract": { "auth_ref": [], "crdr": "credit", "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." } } }, "localname": "ContractWithCustomerLiabilityModificationOfContract", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "prim_ContractWithCustomerLiabilityTableTextBlock": { "auth_ref": [], "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" } } }, "localname": "ContractWithCustomerLiabilityTableTextBlock", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "xbrltype": "textBlockItemType" }, "prim_CostReimbursableContractsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for cost reimbursable contract.", "label": "Cost Reimbursable Contracts [Member]", "terseLabel": "Cost reimbursable" } } }, "localname": "CostReimbursableContractsMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets": { "auth_ref": [], "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" } } }, "localname": "CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "prim_CreditFacilityWithCanadianBankMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to credit facility with a Canadian bank.", "label": "Credit Facility With Canadian Bank [Member]", "terseLabel": "Canadian Credit Facility" } } }, "localname": "CreditFacilityWithCanadianBankMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the credit agreement with Private Bank, Bank of the West and IBERIABANK Corporation.", "label": "Credit Facility With Private Bank Bank Of West And I B E R I A B A N K Corporation [Member]", "terseLabel": "Credit Agreement" } } }, "localname": "CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "prim_DebtInstrumentIncreaseInPrincipalAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of increase in aggregate principal amount borrowed during the period.", "label": "Debt Instrument, Increase In Principal Amount", "terseLabel": "Increases of term loan" } } }, "localname": "DebtInstrumentIncreaseInPrincipalAmount", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "prim_DebtInstrumentPrepaymentPayable": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of prepayment to be paid on the debt instrument.", "label": "Debt Instrument, Prepayment Payable", "terseLabel": "Prepayment to be paid on debt" } } }, "localname": "DebtInstrumentPrepaymentPayable", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "prim_DebtInstrumentVariableRateFederalFundsRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The federal funds rate used to calculate the variable interest rate of the debt instrument.", "label": "Debt Instrument Variable Rate Federal Funds Rate [Member]", "terseLabel": "Federal funds rate" } } }, "localname": "DebtInstrumentVariableRateFederalFundsRateMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "prim_DeferralOfFicaTaxPaymentsReserve": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of the deferred FICA tax payments allowed under the Coronavirus Aid, Relief and Economic Security Act.", "label": "Deferral of FICA Tax Payments Reserve", "terseLabel": "Deferred FICA tax payments reserve" } } }, "localname": "DeferralOfFicaTaxPaymentsReserve", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants": { "auth_ref": [], "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" } } }, "localname": "DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "percentItemType" }, "prim_DividendEquivalentUnitsValue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the value of Dividend Equivalent Units, as defined in the Equity Plan, that have accrued.", "label": "Dividend Equivalent Units Value", "terseLabel": "Dividend equivalent Units accrued - Restricted Stock Units" } } }, "localname": "DividendEquivalentUnitsValue", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "prim_DividendsAndEarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Dividends and Earnings Per Share" } } }, "localname": "DividendsAndEarningsPerShareAbstract", "nsuri": "http://www.primoriscorp.com/20210630", "xbrltype": "stringItemType" }, "prim_DividendsAndEarningsPerShareDisclosureTextBlock": { "auth_ref": [], "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" } } }, "localname": "DividendsAndEarningsPerShareDisclosureTextBlock", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" ], "xbrltype": "textBlockItemType" }, "prim_EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition": { "auth_ref": [], "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" } } }, "localname": "EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "percentItemType" }, "prim_EmployeesOfFutureInfrastructureHoldingsLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to employees of Future Infrastructure Holdings, LLC.", "label": "Employees Of Future Infrastructure Holdings Llc [Member]", "terseLabel": "Employees of Future Infrastructure Holdings, LLC" } } }, "localname": "EmployeesOfFutureInfrastructureHoldingsLlcMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "prim_EnergyRenewablesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Energy/Renewables, a reportable segment of the entity.", "label": "Energy Renewables [Member]", "terseLabel": "Energy/Renewables" } } }, "localname": "EnergyRenewablesMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_EquityIncentivePlan2013Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This element represents the 2013 Equity Incentive Plan of the entity.", "label": "Equity Incentive Plan2013 [Member]", "terseLabel": "Equity Plan" } } }, "localname": "EquityIncentivePlan2013Member", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "prim_FiniteLivedIntangibleAssetExpectedAmortizationInYearFiveAndAfterYearFive": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 6.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "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 fifth 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 Year Five and After Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetExpectedAmortizationInYearFiveAndAfterYearFive", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "prim_FutureInfrastructureHoldingsLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member is pertaining to future infrastructure holdings, llc.", "label": "Future Infrastructure Holdings Llc [Member]", "terseLabel": "FIH" } } }, "localname": "FutureInfrastructureHoldingsLlcMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "domainItemType" }, "prim_GrossProfitAsPercentageOfSegmentRevenue": { "auth_ref": [], "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 Revenue" } } }, "localname": "GrossProfitAsPercentageOfSegmentRevenue", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "xbrltype": "percentItemType" }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum": { "auth_ref": [], "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" } } }, "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "durationItemType" }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum": { "auth_ref": [], "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" } } }, "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "durationItemType" }, "prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent": { "auth_ref": [], "crdr": "debit", "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" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAssetNetCurrent", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "monetaryItemType" }, "prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": { "auth_ref": [], "crdr": "credit", "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" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiabilityCurrent", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "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" } } }, "localname": "IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Represents the additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of shares issued to independent directors under share based payment arrangements.", "label": "Incremental Common Shares Attributable to Shares Issued to Independent Directors under Share Based Payment Arrangements", "terseLabel": "Dilutive effect of shares issued to independent directors" } } }, "localname": "IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of debt outstanding in which the interest rate was effectively exchanged", "label": "Interest Rate Swap Agreement, Percentage Of Debt Outstanding In Which Interest Exchanged", "terseLabel": "Interest rate swap agreement" } } }, "localname": "InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "prim_LesseeOperatingLeaseLiabilityTableTextBlock": { "auth_ref": [], "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" } } }, "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "prim_LongTermRetentionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This element represents the Long-Term Retention Plan of the entity.", "label": "Long Term Retention Plan [Member]", "terseLabel": "LTR Plan" } } }, "localname": "LongTermRetentionPlanMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "prim_MasterServiceAgreementCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for MSA customers.", "label": "Master Service Agreement Customers [Member]", "terseLabel": "MSA" } } }, "localname": "MasterServiceAgreementCustomersMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_NonMasterServiceAgreementCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for Non-MSA customers.", "label": "Non Master Service Agreement Customers [Member]", "terseLabel": "Non-MSA" } } }, "localname": "NonMasterServiceAgreementCustomersMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_NonUnitedStatesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents regions excluding the United States.", "label": "Non United States [Member]", "terseLabel": "Non-United States" } } }, "localname": "NonUnitedStatesMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "prim_NumberOfInstrumentsUsedForTrading": { "auth_ref": [], "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" } } }, "localname": "NumberOfInstrumentsUsedForTrading", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "xbrltype": "integerItemType" }, "prim_PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes": { "auth_ref": [], "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)" } } }, "localname": "PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "durationItemType" }, "prim_PipelineCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents a pipeline customer.", "label": "Pipeline Customer [Member]", "terseLabel": "Pipeline Customer" } } }, "localname": "PipelineCustomerMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "prim_PipelineServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Pertaining to the Pipeline Services.", "label": "Pipeline Services [Member]", "terseLabel": "Pipeline Services" } } }, "localname": "PipelineServicesMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_PotentialIncreasePerAccordionFeature": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount that the debt instrument can increase per the accordion feature.", "label": "Potential Increase per Accordion Feature", "terseLabel": "Potential increase per the agreement" } } }, "localname": "PotentialIncreasePerAccordionFeature", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "prim_ProceedsFromIssuanceOfCommonStockGross": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of gross cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock Gross" } } }, "localname": "ProceedsFromIssuanceOfCommonStockGross", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "prim_RemainingPerformanceObligationOnBondedProjects": { "auth_ref": [], "crdr": "credit", "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." } } }, "localname": "RemainingPerformanceObligationOnBondedProjects", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "xbrltype": "monetaryItemType" }, "prim_RevenuePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of revenue to total revenue.", "label": "Revenue, Percentage", "terseLabel": "% of Total Revenue", "verboseLabel": "% of Revenue" } } }, "localname": "RevenuePercentage", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "percentItemType" }, "prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage": { "auth_ref": [], "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" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingPercentage", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details" ], "xbrltype": "percentItemType" }, "prim_SecondaryOfferingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to secondary offering.", "label": "Secondary Offering [Member]", "terseLabel": "Secondary offering" } } }, "localname": "SecondaryOfferingMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "prim_StockholdersEquityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders Equity [Line Items]", "terseLabel": "Stockholders' equity" } } }, "localname": "StockholdersEquityLineItems", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "prim_TopTenCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the top ten customers of the entity.", "label": "Top Ten Customers [Member]", "terseLabel": "Top ten customers" } } }, "localname": "TopTenCustomersMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "prim_TotalAssetsPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of assets to total assets.", "label": "% of total assets" } } }, "localname": "TotalAssetsPercentage", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "percentItemType" }, "prim_UAndDSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Pertaining to the Utilities and Distribution segment.", "label": "U And D Segment [Member]", "terseLabel": "Utilities" } } }, "localname": "UAndDSegmentMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "prim_UnitPriceContractsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member stands for Unit-price contract.", "label": "Unit Price Contracts [Member]", "terseLabel": "Unit price" } } }, "localname": "UnitPriceContractsMember", "nsuri": "http://www.primoriscorp.com/20210630", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r176", "r246", "r252", "r459" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r272", "r274", "r408", "r409", "r410", "r411", "r412", "r413", "r415", "r457", "r460" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r176", "r246", "r252", "r459" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r262", "r272", "r274", "r408", "r409", "r410", "r411", "r412", "r413", "r415", "r457", "r460" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r262", "r272", "r274", "r408", "r409", "r410", "r411", "r412", "r413", "r415", "r457", "r460" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r173", "r174", "r246", "r251", "r458", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479" ], "lang": { "en-us": { "role": { "label": "Segment Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r173", "r174", "r246", "r251", "r458", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r178", "r401" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Title Of Individual With Relationship To Entity [Domain]", "terseLabel": "Relationship to Entity [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Basis of Presentation" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accounts Payable and Accrued Liabilities" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedInsuranceCurrent": { "auth_ref": [ "r6", "r7", "r31" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Insurance, Current", "terseLabel": "Casualty insurance reserves" } } }, "localname": "AccruedInsuranceCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r19", "r48", "r49", "r50", "r443", "r465", "r468" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r47", "r50", "r51", "r100", "r101", "r102", "r341", "r461", "r462" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "Accumulated Other Comprehensive Income [Member]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r17" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r100", "r101", "r102", "r287", "r288", "r289" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid In Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r276", "r279", "r293", "r294" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "verboseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": { "auth_ref": [ "r214", "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.", "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs", "negatedLabel": "Share issuance costs" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities (net of effect of acquisitions):" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r279", "r285", "r292" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Compensation expense recognized" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r87", "r190", "r196" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r94", "r154", "r161", "r168", "r179", "r336", "r342", "r374", "r424", "r440" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "terseLabel": "Operating lease liabilities" } } }, "localname": "AssetsAndLiabilitiesLesseeAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r41", "r94", "r179", "r336", "r342", "r374" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r281", "r286" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r350", "r355" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-us": { "role": { "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.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r271", "r273" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r271", "r273", "r320", "r321" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]", "verboseLabel": "Acquisitions" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "auth_ref": [ "r318", "r319" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "auth_ref": [ "r318", "r319" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Abstract]", "terseLabel": "Pro forma results" } } }, "localname": "BusinessAcquisitionProFormaInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r318", "r319" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of pro forma results" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r318", "r319" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net income attributable to Primoris" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r318", "r319" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.", "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Revenue" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r316" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "Business Combination, Acquisition Related Costs", "verboseLabel": "Transaction and related costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r329", "r330", "r331" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 1.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "terseLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r332" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r317" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual", "terseLabel": "Gross profit since acquisition" } } }, "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r317" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "terseLabel": "Revenue since acquisition" } } }, "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred": { "auth_ref": [ "r325" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to items of consideration transferred in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred", "terseLabel": "Reduction in purchase consideration" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "auth_ref": [ "r323" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets", "terseLabel": "Acquired in Cash" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsProFormaInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, 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.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 9.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable and accrued liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 10.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangibles assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "auth_ref": [ "r322", "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Total identifiable net assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]", "terseLabel": "Fair value of net assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt 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, Long-term Debt", "negatedLabel": "Total debt" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of other 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, Other", "negatedLabel": "Other long-term liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 11.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other long-term assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r322", "r323" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 12.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "positiveTerseLabel": "Property, plant and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Acquisitions" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CashAcquiredFromAcquisition": { "auth_ref": [ "r70" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": 2.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "Cash Acquired from Acquisition", "negatedLabel": "Less cash acquired" } } }, "localname": "CashAcquiredFromAcquisition", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r24", "r89" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r83", "r89", "r91" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of the period", "periodStartLabel": "Cash and cash equivalents at beginning of the period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r83", "r379" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r35", "r208", "r429", "r449" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "verboseLabel": "Commitments and contingencies (See Note 15)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r205", "r206", "r207", "r209" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r219" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends per common share (in dollars per share)", "verboseLabel": "Cash dividend declared (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r100", "r101" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r15", "r214" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r15" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock-$.0001 par value; 90,000,000 shares authorized; 53,731,206 and 48,110,442 issued and outstanding at June 30, 2021 and December 31, 2020, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r53", "r55", "r56", "r62", "r433", "r452" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income attributable to Primoris" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income, net of tax:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r53", "r55", "r61", "r335", "r346", "r432", "r451" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r137", "r138", "r176", "r371", "r372" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r137", "r138", "r176", "r371", "r372", "r469" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r137", "r138", "r176", "r371", "r372", "r469" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r134", "r438" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Customer concentration" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Customer concentration" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r137", "r138", "r176", "r371", "r372" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk, Percentage", "terseLabel": "Percentage of concentration risk" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r135", "r137", "r138", "r139", "r371", "r373" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r137", "r138", "r176", "r371", "r372" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract": { "auth_ref": [ "r225" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "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" } } }, "localname": "ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r222", "r224", "r247" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Contract assets", "totalLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "auth_ref": [ "r246", "r253" ], "lang": { "en-us": { "role": { "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer.", "label": "Contract with Customer, Basis of Pricing [Axis]" } } }, "localname": "ContractWithCustomerBasisOfPricingAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "auth_ref": [ "r246", "r253" ], "lang": { "en-us": { "role": { "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts.", "label": "Contract With Customer Basis Of Pricing [Domain]", "terseLabel": "Contract with Customer, Basis of Pricing [Domain]" } } }, "localname": "ContractWithCustomerBasisOfPricingDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r222", "r223", "r247" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "totalLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r248" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contract liability at beginning of period" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "auth_ref": [ "r232" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Revenue recognized from performance obligations satisfied in previous periods" } } }, "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r65", "r416" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Services, Excluding Depreciation, Depletion, and Amortization", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r136", "r176" ], "lang": { "en-us": { "role": { "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.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer concentration" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Credit Arrangements" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r213" ], "lang": { "en-us": { "role": { "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.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Credit Arrangements" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangements" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentCarryingAmount": { "auth_ref": [ "r12", "r211", "r426", "r439" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.", "label": "Long-term Debt, Gross", "terseLabel": "Total debt" } } }, "localname": "DebtInstrumentCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r389", "r391" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Credit arrangements" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "auth_ref": [ "r33" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments applied to principal.", "label": "Debt Instrument, Periodic Payment, Principal", "terseLabel": "Quarterly principal payment" } } }, "localname": "DebtInstrumentPeriodicPaymentPrincipal", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r33", "r96", "r215", "r216", "r217", "r218", "r388", "r389", "r391", "r437" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r295", "r296" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r295", "r296" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Tax Liabilities, Net, Noncurrent", "verboseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r87", "r149" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeBasisSpreadOnVariableRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage points added to the reference rate to compute the variable rate on the interest rate derivative.", "label": "Derivative, Basis Spread on Variable Rate", "verboseLabel": "Interest margin" } } }, "localname": "DerivativeBasisSpreadOnVariableRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Derivative Contract Type [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeFairValueOfDerivativeLiability": { "auth_ref": [ "r42", "r45", "r353", "r414" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, before effects of master netting arrangements, of a financial liability 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. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.", "label": "Derivative Liability, Fair Value, Gross Liability", "terseLabel": "Derivative liability" } } }, "localname": "DerivativeFairValueOfDerivativeLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFixedInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fixed interest rate related to the interest rate derivative.", "label": "Derivative, Fixed Interest Rate", "terseLabel": "Derivative fixed interest rate (as a percent)" } } }, "localname": "DerivativeFixedInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r352" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "Derivative, Gain (Loss) on Derivative, Net", "negatedLabel": "Amount of loss recognized on derivatives, net" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r351", "r354", "r356", "r359" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "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.", "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about derivatives and hedging activities.", "label": "Derivative Instruments and Hedging Activities Disclosures [Table]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r43", "r44", "r370" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability 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. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "terseLabel": "Liability Derivatives" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilityNotionalAmount": { "auth_ref": [ "r347", "r348", "r349" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payments on the derivative liability.", "label": "Derivative Liability, Notional Amount", "terseLabel": "Notional Amount" } } }, "localname": "DerivativeLiabilityNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r246", "r250", "r251", "r252", "r253", "r254", "r255", "r256" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r246" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of revenue disaggregation by various categories" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends declared" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsDeclaredTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends.", "label": "Dividends Declared [Table Text Block]", "terseLabel": "Schedule of cash dividends paid or declared" } } }, "localname": "DividendsDeclaredTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DividendsPayableCurrent": { "auth_ref": [ "r7", "r31" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Dividends Payable, Current", "terseLabel": "Dividends payable" } } }, "localname": "DividendsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DividendsPayableCurrentAndNoncurrent": { "auth_ref": [ "r11", "r13", "r425", "r441" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding.", "label": "Dividends Payable", "terseLabel": "Dividends declared and not yet paid" } } }, "localname": "DividendsPayableCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "verboseLabel": "Earnings per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r63", "r109", "r110", "r111", "r112", "r113", "r120", "r122", "r127", "r128", "r129", "r130", "r131", "r434", "r453" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic earnings per share (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "verboseLabel": "Earnings (loss) per share attributable to Primoris:" } } }, "localname": "EarningsPerShareBasicAndDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r63", "r109", "r110", "r111", "r112", "r113", "r122", "r127", "r128", "r129", "r130", "r131", "r434", "r453" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "verboseLabel": "Diluted earnings per share (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r379" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate on income" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r298", "r309" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "U.S. federal statutory income tax rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Payroll and related employee benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r100", "r101", "r102", "r106", "r114", "r116", "r132", "r180", "r214", "r219", "r287", "r288", "r289", "r302", "r303", "r380", "r381", "r382", "r383", "r384", "r385", "r461", "r462", "r463" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair value measurements" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r362", "r363", "r364", "r368" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r363", "r405", "r406", "r407" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value, Hierarchy [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r362", "r363", "r365", "r366", "r369" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r263", "r264", "r269", "r270", "r363", "r405" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value Inputs Level1 [Member]", "terseLabel": "Quoted Prices in Active Markets for Identical Assets (Level 1)" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r263", "r264", "r269", "r270", "r363", "r406" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Inputs Level2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level2)" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r405", "r406", "r407" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r367", "r369" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Measurements Recurring [Member]", "terseLabel": "Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Useful life" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r195" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r197" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year", "terseLabel": "2021 (remaining six months)" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r197" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 5.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r197" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r197" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r191", "r192", "r195", "r198", "r417", "r421" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Estimated future amortization expense for intangible assets" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r195", "r421" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible assets" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r191", "r194" ], "lang": { "en-us": { "role": { "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.", "label": "Finite Lived Intangible Assets Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FixedPriceContractMember": { "auth_ref": [ "r253" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which amount of consideration is fixed.", "label": "Fixed Price Contract [Member]", "terseLabel": "Fixed price" } } }, "localname": "FixedPriceContractMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r375", "r376", "r377", "r378" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign exchange loss, net" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r87" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Gain on sale of property and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r183", "r184", "r423" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill, Ending Balance", "periodStartLabel": "Goodwill, Beginning Balance", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r185" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill acquired during the period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r199" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "verboseLabel": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r186", "r315" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Adjustments to identifiable assets acquired and liabilities assumed", "verboseLabel": "adjustments to goodwill" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GranteeStatusAxis": { "auth_ref": [ "r275", "r277", "r284" ], "lang": { "en-us": { "role": { "documentation": "Information by status of recipient to whom award is granted.", "label": "Grantee Status [Axis]" } } }, "localname": "GranteeStatusAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GranteeStatusDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Status of recipient to whom award is granted.", "label": "Grantee Status [Domain]", "terseLabel": "Grantee Status [Domain]" } } }, "localname": "GranteeStatusDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r64", "r94", "r154", "r160", "r164", "r167", "r170", "r179", "r374" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r59", "r154", "r160", "r164", "r167", "r170", "r422", "r430", "r436", "r454" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_ProfitLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r201" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r299", "r300", "r301", "r307", "r310", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r95", "r115", "r116", "r152", "r297", "r308", "r311", "r455" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_ProfitLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "negatedLabel": "Provision for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes, net of refunds received" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Contract liabilities" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current assets classified as other.", "label": "Increase (Decrease) in Other Current Assets", "negatedLabel": "Other current assets" } } }, "localname": "IncreaseDecreaseInOtherCurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other long-term assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInReceivables": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Receivables", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity Roll Forward" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r123", "r124", "r125", "r129" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "order": 3.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Dilutive effect of restricted stock units" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r189", "r193" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r57", "r148", "r387", "r390", "r435" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 5.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "negatedLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpenseMember": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing interest expense.", "label": "Interest Expense [Member]", "terseLabel": "Interest expense" } } }, "localname": "InterestExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r81", "r84", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Interest Paid", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "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.", "label": "Interest Rate Swap [Member]", "terseLabel": "Interest rate swap" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "auth_ref": [ "r40" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory for Long-term Contracts or Programs, Gross", "terseLabel": "Contract materials (not yet installed)" } } }, "localname": "InventoryForLongTermContractsOrPrograms", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNet": { "auth_ref": [ "r67", "r68" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.", "label": "Investment Income, Interest", "terseLabel": "Interest income" } } }, "localname": "InvestmentIncomeNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of lease expense" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r398" ], "lang": { "en-us": { "role": { "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.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of components of lease expense" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r395" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Options to extend leases" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r395" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r400" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Letter Of Credit [Member]", "terseLabel": "Commercial letters of credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit outstanding" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r30", "r94", "r162", "r179", "r337", "r342", "r343", "r374" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r20", "r94", "r179", "r374", "r428", "r446" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r32", "r94", "r179", "r337", "r342", "r343", "r374" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r12", "r426", "r439" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility, Amount Outstanding", "terseLabel": "Borrowings outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r28" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "auth_ref": [ "r28" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).", "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Available borrowing capacity" } } }, "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LoansPayableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Borrowing supported by a written promise to pay an obligation.", "label": "Loans Payable [Member]", "terseLabel": "Term Loan" } } }, "localname": "LoansPayableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "London Interbank Offered Rate L I B O R [Member]", "terseLabel": "LIBOR" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r12", "r212", "r426", "r442" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt", "totalLabel": "Total debt, net", "verboseLabel": "Aggregate principal amount" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Current Maturities", "negatedLabel": "Current portion of long-term debt", "terseLabel": "Current portion of long-term debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt, net of current portion" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r33" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r33", "r210" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Longterm Debt Type [Domain]", "terseLabel": "Long-term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MinorityInterest": { "auth_ref": [ "r39", "r94", "r179", "r374", "r427", "r445" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).", "label": "Stockholders' Equity Attributable to Noncontrolling Interest", "terseLabel": "Noncontrolling interest" } } }, "localname": "MinorityInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "auth_ref": [ "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.", "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "negatedLabel": "Distribution of noncontrolling entities" } } }, "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_MortgagesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A loan to finance the purchase of real estate where the lender has a lien on the property as collateral for the loan.", "label": "Mortgages [Member]", "terseLabel": "Mortgages" } } }, "localname": "MortgagesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r133", "r140" ], "lang": { "en-us": { "role": { "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.", "label": "Nature of Operations [Text Block]", "terseLabel": "Nature of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r83" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r83" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r83", "r85", "r88" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r2", "r52", "r54", "r60", "r88", "r94", "r105", "r109", "r110", "r111", "r112", "r115", "r116", "r126", "r154", "r160", "r164", "r167", "r170", "r179", "r374", "r431", "r450" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "netLabel": "Net (loss) income attributable to Primoris", "totalLabel": "Net income attributable to Primoris" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "auth_ref": [ "r52", "r54", "r115", "r116", "r339", "r345" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "negatedLabel": "Net income attributable to noncontrolling interests" } } }, "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r103", "r104", "r107", "r108", "r117", "r118", "r119", "r181", "r182", "r257", "r258", "r259", "r260", "r290", "r304", "r305", "r306", "r418", "r419", "r420", "r464", "r465", "r466", "r467", "r468" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.", "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "verboseLabel": "SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r327" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NoncontrollingInterestMember": { "auth_ref": [ "r100", "r101", "r102", "r219", "r333" ], "lang": { "en-us": { "role": { "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.", "label": "Noncontrolling Interest [Member]", "terseLabel": "Non Controlling Interest" } } }, "localname": "NoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r142" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r154", "r160", "r164", "r167", "r170" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r396", "r399" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r393" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r393" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 }, "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Accrued liabilities", "verboseLabel": "Current operating lease liability" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r393" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent operating lease liabilities, net of current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability.", "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r392" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "verboseLabel": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nature of Business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r8", "r31" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r25" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r46" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "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" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashExpense": { "auth_ref": [ "r88" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense or loss included in net income that result in no cash flow, classified as other.", "label": "Other Noncash Expense", "terseLabel": "Other non-cash items" } } }, "localname": "OtherNoncashExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other long-term liabilities" } } }, "localname": "OtherNoncurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r69" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r77" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchase of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r79" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Payments of Debt Issuance Costs", "negatedLabel": "Debt issuance costs" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r77" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Dividends paid" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r72" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Cash paid for acquisitions, net of cash acquired", "totalLabel": "Net cash paid" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r73" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r281", "r286" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r22", "r23" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "auth_ref": [ "r0" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.", "label": "Reclassification, Policy [Policy Text Block]", "terseLabel": "Reclassification" } } }, "localname": "PriorPeriodReclassificationAdjustmentDescription", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r74" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from issuance of common stock" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "auth_ref": [ "r75" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.", "label": "Proceeds from Issuance of Long-term Debt", "terseLabel": "Proceeds from issuance of long-term debt" } } }, "localname": "ProceedsFromIssuanceOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r75", "r97" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Proceeds from Lines of Credit", "terseLabel": "Borrowings under revolving line of credit" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "auth_ref": [ "r76", "r80", "r98" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities classified as other.", "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other" } } }, "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r71" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r2", "r52", "r54", "r82", "r94", "r105", "r115", "r116", "r154", "r160", "r164", "r167", "r170", "r179", "r335", "r338", "r340", "r345", "r346", "r374", "r436" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 }, "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "totalLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r9", "r10", "r200", "r448" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesLongTermContractsOrPrograms": { "auth_ref": [ "r38" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Receivables, Long-term Contracts or Programs", "terseLabel": "Retention receivable" } } }, "localname": "ReceivablesLongTermContractsOrPrograms", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesNetCurrent": { "auth_ref": [ "r16", "r21", "r447", "r470" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Receivables, Net, Current", "terseLabel": "Accounts receivable, net" } } }, "localname": "ReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r78", "r97" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Repayments of Lines of Credit", "negatedLabel": "Payments on revolving line of credit" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r78" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-term Debt", "negatedLabel": "Repayment of long-term debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Restricted Stock Units R S U [Member]", "terseLabel": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r18", "r219", "r291", "r444", "r464", "r468" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r100", "r101", "r102", "r106", "r114", "r116", "r180", "r287", "r288", "r289", "r302", "r303", "r461", "r463" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r145", "r146", "r159", "r165", "r166", "r172", "r173", "r176", "r245", "r246", "r416" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r92", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r261" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue Recognition, Policy [Policy Text Block]", "terseLabel": "Revenue recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r226", "r227", "r228", "r229", "r230", "r231", "r235", "r236", "r249", "r261" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "verboseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r233" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Remaining performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue expected timing" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r234" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r234" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2021Details" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues and total assets by geographic area" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r397", "r399" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Leased assets obtained in exchange for new operating leases" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale Of Stock Name Of Transaction [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r137", "r176" ], "lang": { "en-us": { "role": { "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.", "label": "Sales Revenue Net [Member]", "terseLabel": "Revenues" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Summary of accrued liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r320", "r321" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "auth_ref": [ "r33", "r96", "r215", "r216", "r217", "r218", "r388", "r389", "r391", "r437" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Long-term Debt Instruments [Table Text Block]", "terseLabel": "Schedule of long-term debt and credit facilities" } } }, "localname": "ScheduleOfDebtInstrumentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of derivative assets at fair value.", "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" } } }, "localname": "ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "auth_ref": [ "r351", "r356", "r360" ], "lang": { "en-us": { "role": { "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.", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Schedule of derivative instruments within the Condensed Consolidated Statements of Income" } } }, "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r129" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computation of basic and diluted earnings per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r362", "r363" ], "lang": { "en-us": { "role": { "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).", "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" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r191", "r194", "r417" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r191", "r194" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Summary of intangible asset categories, amounts and the average amortization periods" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r187", "r188" ], "lang": { "en-us": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of the identifiable assets acquired and liabilities assumed" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r58", "r175" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r154", "r157", "r163", "r187" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r154", "r157", "r163", "r187" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of revenue and gross profit by segment" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r194" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of estimated future amortization expense for intangible assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r141", "r145", "r146", "r147", "r148", "r149", "r150", "r151", "r152", "r153", "r154", "r155", "r156", "r159", "r160", "r161", "r162", "r164", "r165", "r166", "r167", "r168", "r170", "r176", "r456" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segment [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Reportable Segments" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r141", "r143", "r144", "r154", "r158", "r164", "r168", "r169", "r170", "r171", "r172", "r175", "r176", "r177" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Reportable Segments" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegments" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment reporting information" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r66" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r86" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "Discount rate from fair value on purchase date that participants pay for shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Purchase Date", "terseLabel": "Discounted price from the average December market price at which shares purchased by participants in LTR Plan (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r278", "r282" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "auth_ref": [ "r275", "r284" ], "lang": { "en-us": { "role": { "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.", "label": "Share Based Payment Arrangement Nonemployee [Member]", "terseLabel": "Independent Directors" } } }, "localname": "ShareBasedPaymentArrangementNonemployeeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price", "verboseLabel": "Share price (in dollars per share)" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharesIssued": { "auth_ref": [ "r214" ], "lang": { "en-us": { "role": { "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.", "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "SharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r1", "r141", "r145", "r146", "r147", "r148", "r149", "r150", "r151", "r152", "r153", "r154", "r155", "r156", "r159", "r160", "r161", "r162", "r164", "r165", "r166", "r167", "r168", "r170", "r176", "r187", "r202", "r203", "r204", "r456" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r37", "r100", "r101", "r102", "r106", "r114", "r116", "r132", "r180", "r214", "r219", "r287", "r288", "r289", "r302", "r303", "r380", "r381", "r382", "r383", "r384", "r385", "r461", "r462", "r463" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r100", "r101", "r102", "r132", "r416" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "auth_ref": [ "r36", "r214", "r215", "r219" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.", "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares of common stock issued under the long-term incentive plan" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "verboseLabel": "Issuance of shares, net of issuance costs (Shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "lang": { "en-us": { "role": { "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).", "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)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "auth_ref": [ "r37", "r214", "r219" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.", "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes" } } }, "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "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" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Stock Issued During Period, Value, New Issues", "verboseLabel": "Issuance of shares, net of issuance costs" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r14", "r15", "r219", "r280", "r283" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Stock Issued During Period, Value Issued to Employees and Directors", "terseLabel": "Issuance of shares to employees and directors" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Aggregate purchase price up to which shares can be acquired under share repurchase program" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Number of shares purchased under share repurchase program" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Amount paid for shares purchased under share repurchase program" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Repurchase of stock (in shares)" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r14", "r15", "r214", "r219" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Stock Repurchased During Period, Value", "negatedLabel": "Repurchase of stock" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r94", "r100", "r101", "r102", "r106", "r114", "r179", "r180", "r219", "r287", "r288", "r289", "r302", "r303", "r333", "r334", "r344", "r374", "r380", "r381", "r385", "r462", "r463" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.", "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders' equity" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r93", "r219", "r221" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r386", "r403" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r386", "r403" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r386", "r403" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r386", "r403" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Event" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r402", "r404" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSubsequentEvent" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Taxes Payable, Current", "terseLabel": "Corporate income taxes and other taxes" } } }, "localname": "TaxesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r326" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Tradenames" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAcquisitions2021AcquisitionsDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "auth_ref": [ "r220" ], "lang": { "en-us": { "role": { "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.", "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Amount paid for shares purchased and cancelled under share repurchase program (per share)" } } }, "localname": "TreasuryStockAcquiredAverageCostPerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_TreasuryStockSharesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares [Abstract]", "terseLabel": "Share repurchase plan" } } }, "localname": "TreasuryStockSharesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_UnamortizedDebtIssuanceExpense": { "auth_ref": [ "r25" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Unamortized Debt Issuance Expense", "negatedLabel": "Unamortized debt issuance costs" } } }, "localname": "UnamortizedDebtIssuanceExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrealizedGainLossOnDerivatives": { "auth_ref": [ "r87" ], "calculation": { "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Unrealized Gain (Loss) on Derivatives", "negatedLabel": "Unrealized (gain) loss on interest rate swap" } } }, "localname": "UnrealizedGainLossOnDerivatives", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r121", "r129" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Weighted average shares for computation of diluted earnings per share" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average common shares outstanding:", "verboseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r120", "r129" ], "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average shares for computation of basic earnings per share" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "xbrltype": "sharesItemType" } }, "unitCount": 9 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=6359566&loc=d3e326-107755" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=112272810&loc=d3e31137-122693" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=112272810&loc=SL108384541-122693" }, "r119": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "http://asc.fasb.org/topic&trid=2122394" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(24))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r177": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4647-111522" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r199": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r207": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r209": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r213": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r221": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL108322424-203045" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130561-203045" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130564-203045" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r261": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=SL116886442-113899" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4549-113899" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "740" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "740" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "740" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r314": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e961-128460" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e1043-128460" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=SL65897772-128472" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r332": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568447-111683" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568740-111683" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "4I", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5580258-113959" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624171-113959" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624177-113959" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624181-113959" }, "r361": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=121605123&loc=d3e30226-110892" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918631-209977" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a),(d))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r404": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(1)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(2)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(3)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(24))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(24))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(20))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-06(3))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401414&loc=d3e604059-122996" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r481": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r482": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r483": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r484": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r485": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r486": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(22))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(a),(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e7018-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" } }, "version": "2.1" } ZIP 80 0001558370-21-010031-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-21-010031-xbrl.zip M4$L#!!0 ( .Z- U.,8N,V_Q$ "'+ 1 <')I;2TR,#(Q,#8S,"YX MIPF(A"1L48 : M('W,K]\$>(@G>$CN,F?Y4"Z12"20^0$)()$$?O[K\\XV'C$7A-'/9]V+RS,# M4Y-9A&X^G[GB' F3D+.__O*?__'S?YV?_]Y_F!H6,]T=IHYAZ(U@O8"<,DK=778&R^$=YV6/.T!T#E28$S/,5YPIGH'C=6ZU/G0@ M-2"4"983TD;IWG>\Q"@IT0A+J' 0-4-AGVT-\>]34,V!,JG&IVM%VKVYN>FH MU)!46%F$P+/;^?UNNE#-YT!,BHG/D_66K:-:BP.;%ACUV_$29 MZ?+\LGM^W0VR09?=(+0/LZV16*D*^@D962Q,LDN!A QRBC>R?^;B<-/AS(;& MXY$%N01WSF6C$NF:A4G1PJ#O&H;JO8A2YB '[)-Z%[S=[PE=,_\5O)2 WLJ2 ME\#*D#^^/DST*E?U7 !OU>D'C%J8@E6"'X+9Q)+5[R-;PKC88NR(,X. V%4R MA-4+*FCA-:%$"0,-YO+2.#="?O![,+L?CNX7HZ'\M9A-)\/>$A[ZO6GO?C R M%E]&H^7BYTZ25;(4%RHUH[^HWWN.!3!7"I3]P\_MD^ARFL@V7;M&QD/-\O/Y M;P/ 7AO',%7,UA,8WW:X#)@9N?2(7I5%=+&$_^Y&]\N%,1L;D_O![&[4XGH< MK@.V Z5L@88\XGH@9['0(WY=#W' >_XP^@)TD]]&+?ZGP1^)[=AF3Z7L='9& M/=;O:V+=6WPQQM/9M]9R9R(\A!CS$#N(V#ZVU;+H M4'T'J'8!R0-'>(@R@4>UL(B]^\EG_=\MHGI$'_ CIBZ&GN=P9#H](6!:E .E MEE:/X8?+ZR2&/C?927V&!E(<6_!J@C S%'+T@B12UXPUUL%??K*EGUF'_*&FP]YH;/76'O\S>F;5^O MCO2 8XLX/+6!' S9 ]E5IT!3Q:8&3Z<"U MQ4^/WY \$EAB6@(LXPAQ2NA&S#%?;!&D97>],EFT6':OTEB&3)4-#=@:P-=0 MC-L>61;1*48""^D.8M1S$J@WH^>]]"0 9K,]YB 6W:CWQ4/H\0SUK>%=NC5X M1:J9:\,O6#64L&@_K1UTR[<8?R\T^%_V9NH0YV5"UXSOE!A^4RA# MJ?<_@?F6& ?;KY&?JKLK;D:$70O9D1L^<["9U-EBAX"(E7=_XKF+MH+>U]D* M,GZ*%=)VTB-=R N'F=^WS+8P%Z,_7.A/57W)&1STR+^KYU1>+&>#OW^938>C MA\5?C-'_?)TL_]&B?VKT*QN *NR*VD5)BU#<+EHK46WR=X\<^#M;]UU!*!:I MN5PJ78=D%VQ[:FKF<9"SL8!'BTF1+]J4DR;/5P13U3EG%'Z:7F=+.Z*UU'J\ MKM-X>?R, T,CSK%%3X_>&!'^&[)=? <+#'C.!"V;2(]5QK)'LC$4'R/*J(6H M_-ZK;I.U )""W=06A=K;-!7V8PHP^IC&2+_QTJ)V_-9*G3V5 AR/V$QI$:WJ MD2]VPQ>@5<[WW@*C!\8+RENBYW2/BB9IH>AFS,B]S(;*W6)0?[NCRCY' 4HU M-CA:Y/3(Y?FWM!1ZE#)62U$>?S$\+BTR!0,.V^V(HX8 Z"DRU@E:-J9FQLQ! M1ZK'*F-R'F&F^E2,70M:D5-BS[@CYUD+O,EQ1*0H]!!]R'(^!#R,@$D+3(&= MAX1?,YLDF7==*0Z MG.2W8ZEX0L5,NEFC[(R? H:M)[R.WVXI35$Y[YU/JL/M^O)=.G@[QX=G_.0Q M;'&KX,S+ABN#0H_2^S1*\4\B6FB.]?!E(U6<00_).&,#,FMT7K:.=4-FXE:'@ZGE=HM6S+:RR48)4O"QO#Z/'M?,S8+@>_D( M8X,=.+>@G@14>29('6"C^8K 377:8G#]PTI:C$^'L3JHL3[4L>ROA[A?4(M\ M1>3A!=IL./;4.5O[K_LO UY+,#?9I>GC\A'?6,XAF-1^WB?WS[BQOA\6SA+>X4Q)X]*9Q,J'.[JULU:6BV$ MW?A>S/JM1@G;IZ,0X%&[+DMJ'4C'C/&V>SJ?3 EHA_ M;W$Z8M>]Q'9[P:>E9??96W!*^81S'+L%(.1OQK5JK['$+[5V+_ARI[0[ID6H MS'&8V6=:%F"0>S!EJ_-2QB@OW#&:J$/@6G(2%RHDFUI!J<0)KE0XC MSG$>M[!5,%O9.,72],!D?*#FGZW[_P@(^4=>._F UX:Z/?$6<5/2ZN]8[.PY MVV,N/SCI!"S.? 9;=:.D!/$\N/WPGZ";B^>='9"D"HC?^*CP3JK3KV7 0FYP M?SX39+>WH>3.CQ$+@*LJ5@+KMR@5M*JJ4L4;XEL4RD:KJD)!%FR7EN?G3O(" M2_]-_*)+=OSKL?+J#LH,*U MZA&];K9:71B]/U5U,BXC+5,7F_-8KEH5T5ZDFE4+D9=)_C@_Y*ZOB^AMNF7T MH++(I_ V6ZF):ZF)*M7(OOZW9 6"#++D][$R<\N+WG@K812%J@\JF7E7;@?; MC@AYI8!0M]N6N3VXJ-JY+;>DLB*MUDFUV)/54GN=<'W=RC>OI]KH3'V+7'P[LSPAB?O_O!;B^T0H1-( MD),_$$H1PL!)F+54A);+?7]E%3F\$*8Q,N5GQR_?B+,=((HL@F@?T>]QL4K2 MO@4IU\@643&U][F$*XP'1!F5IR%[9 ]$ M?(LX,4>FV1-L 4P2TYH@\,8X4*EG:B0QBK[#M8..W>7 M(54HNM5_":6OU#!/PSM3M;+S[3V^/T2QY4S8A)K>1WW(EF$7C"HK)'J.P\G* M5=NX2^:]FPCA8FO))M3">RSO07"&A&/385Q\A4?/@/5A-63-T8NZ[B9VE*H' MP9]98!VSZ;T17@5./C"F8YY@!8EE.:&"]"1'B 0*IIM7& 7[#(8R#RMYI97K MR'6#!64%$ND(ZLL#30<[B+\D)5IYU_%\/C/5Q")+4&]IX^3;H,,G/KY9"$3) M2GB3O3\E$I0GY,>D:^+T1-3>^4$:B=&H/'DSQ,\?74M/7IHXZ=\,!Y1]O&:)TY?]'GURMAJ%ICOZ,1K-L1&OH.A (=\P MV6QA'M%[! 5L<-"& O4F![<_NP%758*,BC%/ MJ-2 GTZCB>G#&S,!!1(/B>W*:ZV2@M?7H89C\[687,)7Z,>:K WMKT.\QIS+ M^]%V\JY1Q38R*X_.)/PV1%.8? C=\0)[*& M#R#;&,.B#MEC%]9#\CFNDAKY_ESI,SI[M,9SCO?>,MP_A#);L"RRALW^2C4# M;^T^48L)\HCG4.;59?,?J4DN/8RL4>1E_@&Y9@RNEF"-7\ MFT[5H S*CTNC)_G!G2_R[4;:3Y&7^"9'GY1HX=)PKOC+6U41U 0&Z"G9$2]< M0GAOY5#J.&FL5*.'?1X_H^=1Z##DV1H_! MAIVTUH]R-\:11DZH@_&2FWHY- T;X7)5D+5GF5SPE*1MZ KG*T@U]+V@\>$B M,R7;XF8/ V])3+FN@3&!(%NVZ+U,'!,*K0J &;KX;R[%,%/YM&0]=^,*Y^KR MZBHQPS^"05.5IC:W8-DWQ-[_$QH<+Z'B&GP'LAJ7[V&!Z7)Y0W=L9ZQ&YA]D M6BR\.HEER152A5FG@B?*D^L:4494Q _>G4@)%9S:_U)>#_E9&J0+?V?I ?LC9[WV(1EQA)F'8HD>Y^N-I-FS).U;2"X7,+;QWLD LI,6)PC\K^N MT0DW:%]K.E/.UH:ZJ&6I,W(W?19XAX0#$SG,'XF)>QN.57I.O&)9XJ8.]O>, M5M)'!?JFJD0N>92_/.@/"15HTILJ\H )YP&3WY6?\-]96X2@N6DTNV<%?!P7HL M%LU3+W?#M19L.L,J? 6K;A7+A$VVH>1?V)K(4$KH7"@\C5;M37,5GQ>Y+0S2 MW!VV_*;D48;G):JGY![WZQ?W8W YU6+W%?0420B4%7GUB@ 5%MSP+C1G:M<' MV<%T?^Z9#FY!%<=8W4(4J+E&3/M>XD+ZXU=LW,KWVY3*VW2K/2=[;,/H'\Q_XRO3W-3&+DC] MST?C(68#LC(32_)BNJ:JP%L+RL%R#"MHN5WO15P)&%PQ?XQ$9A72-7P2-Y8' MCX#E>\3)&S@"[W]OQ[A#_N6%&U#YD>48J.7MS&L8)(/G0&,GY-?LE4P\J"^P MK!,ZYX3*:%<;]. >7!?ER9MN;<>NH\Z?7W,DQ37ETQ>8U\HHB*F=L$%EB9MJ MB$84\\W+ Z;X21V:E8A^S$MMJKC!6.I[^$7V2)M*;:JXIW0JW#-JIOP*V?/7 M5W)K5*Y!PX?&4^HN:Q[]&ACEE-/LH70!VI '/+S,UC = ^'B9B,_N:EV8P2" MF-YIF7XXJ?1AR$9!Y20<^9](J8@-2/3(,SZC"L>1T_%KAA=DM-O;[ 6#>5I7 MFF[4R-?4-@9XFQA;ZB-D>?: "OV)?JVEOG /A^:RU T/MHN;V'CCR$EK; /P M(]279!?>PS@10VQ!6Y>+MC'CAVAVE^^9.$PK:N9M3$"[/BYN1N6)'=B"3O&_ M8"A#K53.U: )DG<:IW$'&Q8W]K=([:#0W9AF-B^_E;8^DV==? N/'+SW__V]=_ M-)M_7(WN--,QEG-D>YI!D.XA4WO%WDR;.(N%;FOWB!!L6=H5P>8STK3+H[.C M\XM.YZA[WNF>:,UF0.E*=Z&F8VN,Y/%19_5+/Z#JV%^TBU:W==P^[FB77T[. MOG0OM,?[5;E[Z.049Q6TL/W?+_1_3]"@!LS:+OOXK3'SO,675NOU]?7H[8E8 M1PYY!A+M;BLLW0B*TU]Q2GELNYYN&Q_E-^B_=EGISN7E98O]NBKJXJ2"0+;3 M^N/^;FS,T%QO1AIP\1>7?7GG&+K'=);)A\8M03\UPV)-^E6S<]SL=H[>7+,! MTM.TK\2QT A--=;M+][[ GUKN'B^L&AOV'V;^&#EN.NR2H9_QOB5U,#95+BT0_7R-/QY84XY*$ M2V%YA%Z0O42@$8_HAM=S7;!$6_&:3E$%)N^P_H0MD#[:*:=)9$MA][OCF*_@ MU?1L\]:&J?@9/UG(U\/ZYZWXS]-.2>/:<)9@81[U=YUVR3;A&[)$YJZ0(-5 M*2( -]7$7H\04(MO;K=B.(6<6NSU=>MXQRSZ)$MA\QJ_8)A"31<0-M")# M]Q&1\4R'W[;1IQ#A4EB^0T#1I2Z28_M> OMF\+:@K@1T=[A !-86]C/[?E@?-2HO+T"UC:;%UTAW\%HB(=FSG"XV(0M";!XI'YNI;[-$&84W7;FM-;447 M_NX/'ZX'#^/!-?UK/+R[O>Y-X,-5[Z[WT!]HXU\'@\E8@G'&-C!N.4:L2Q9= M+3HD#I* '",UU=TG1@^6_,^ZOJ"+Z78+69X;?D/AU&ZV.\'R\*?@ZS_]Z2BD M;.E/R&(;![$?6Z5UK+\D!&2=VK^@S)]GW?.S[MEQ]_+RY/SRO-LY.X[T/(*E M'HDSH1,CI ]_;L KKJN@1,M=SN>,6A,#',+Z4^+,-\47-.;(=-PA)B+?&IV& MMG2A/\Z"MJ5;#>T5X>>9QWXI0RUT20*CG?XS )_]1;>H->AY?9V0=QC]O^G6 M$G'4)517536F*6M3P?E9557Q(V0@X .\.?>GC,K'L82A6G+5 D<>J*3)< MGOV.O5E_Z7K.'!$FB4RU"M0\#"7G9310>3=-Y>"M@+/BO3-DE*'_1X(6.C8C MGILW"]C+F&X%:L;%X&9P9MA+>FQ?+A)S%&J2-4J MJ3CA3#4]1%RR!\<8_YTY%O35I;.W]\[17':UDIG)[K=Z.!/5112!60RINFT5Z7?ZXG:S M8)S/RV[G]%(=Q24J(55M:5RIJKVU<^2,TX#$PDIK,:V/":<&X@PJK-"U,(!, MG2:7/RRU2O"HZK;RZL1<:*QR2A^05F4X%-F?4.6H(!3(N_Q9P7K5 ])V;G8K ML9]QY]C/$T3FU^@IXX@HH>0!:5F4.U7W+J+]SUPT)Q=66INB3K$X9ZK.MLG1 M5N_9.R%9]0Y!O_F8K.8A040Z$B<%\5J'H/,\+"I[7$MW^Z+]%]K?3*P0Y?L" MM- Y+3L>(\=PEN-.UTA@EP> G9#7&FT"&]5%B@+5=V!OC.?.S9C/#4 OHN4'=)BS8!<2B[ MDV::V._*HXYAVNOK"^SI5H0GWI9:9L6:PR*G@%2U#3W#6,ZIPI ?QI9PN_;. M<:F3-)R"W\3?B)6A4G<([4!:E5B/C.CE'ANM[DA%& >/'!N8'R*>5;'F$,HI M(%77-/?89DC-\&/7B]4#]H*'WE#JS^QQ3 &0=K94H*,)YB+Z6/'P7BL.P +"]* M'J6),EZ+(4[KO*I>_P=3-\ O/77"]A+L2K#E"2/O"DT=@E;;8,@=O'E$!WZP MK9/W6Y"8*[6S4&"+ZL$F Q6;,-JW=%3%Y6K+/=.R)914#P?[5FO*&4:&F%0% MQ'<"/?:'$R]2^J.$>@ 0%?^FXK+84E5A0?*>$._KP0RKH'T:A0S_F?RM@AR4 MU - EAJ3%FR[85L$(*6O^_N.ZPVG].( VY='Y 4;R!W#LHB[]:QZYAS;V/6H,7P)L[WPSJ"$*JNG[ORV?@N.E87 MU=+%-ABHOC-_ E^&:>(C.]\(L1THBG>>@R=.X)"@L"77F9N]316L_@VXO/C9 M]D/?C/<)T6T7ICGHZG<=VU1:OEO,]PTD**B'CO)7!=N*3]4S*G9( I)QXN,O M?;Y)K_0)'TXDC9S$5 U-O[5?@&^Z->SSP ]^2R@9Y_2XVSGOU!X;HF)2]8 I M9#?=9JR5^@1"$A"R191YY%26][H22]#[*W#-^5M0G-+JH2+GOK089\HN16*' M.%L$1TK340\ F>=9N^%1 @KEGB4G/Q$@PW!_>/XX&OT*YV]\&E3AF M3A!11HQ7:HU/ U"J 1#09F'F@+\5K<2N1(IH=AAAO^-6*H^P?+W1O_JMW<#7]7_,D$*HZUQ.XC !O!!CWB\1._Q[^( ME'Q$H%UZ2Y70N\G7R/]W!>[!FS&C[ZN,0':#Z1097'=DSYTHR?VG'8?9@J92 M,:_>?[CT@N_JD*X'X_ E+0N;. $%36$I*%M;0VPC/54#G2KMKVVID\-TQ:X1 MS-P&9K*#ORT43,^].745_F+?&*2",&A>"S*)HO9Q;/HD#AL_.Q!$B1[DTU1Q1^=?# MM@BZ2""@'DZ4#;H0E9ZJ%WP?]7<63#9QV*UX@L+[\LA/@LIDZ__"RR B0R(N MF]/N\4G9R-I2KPF!&]N*HQK!_1MLJJB*CI8[.@?# M[ NS+O?:.;>\>IC94F/IEB6;]TJ$GX[0(IA6AU,1]7/+UT#]2*]8 $3F%H.I<$ -X-@1XQ6N@>"G6,^-+2UMYK'B@ M?0\!G)8?,:5&#;0NR[U0IJ'RIX" JQN' *R7!)QA%[$L)1F/<657C$OE#%9L M92<** P3DD(0"C M'QJ)\YL ,K+JU0$8N620&7E:_E2!J8!LTQ4W$,F5ZH ! M>0$H&V8:Q7/$Z+&C0_$]*$DJ=<#(#B0B$I!:^F3B;ZT-I]'MMJ&]U<8>!V0% MM*0>$,O?$=V7F.7NYQ6:=^0:OK <=TE0)$&Z2P.@HI^OZ?.'EEC&D9/V:;NC M-;4/RO A2@P^4OKQ[_X9-/&OAM+91A(2RX^0X3S;]%[N+3I@MQ,!*,LVU 6VZAZ-K,@/&:\I5"T2"MQT+!3 MT2=%J@EL6.ZU#W%5G721HH6,SN $/Y=DZ(O6. M3RE]^1P=I4JZ$N^S%R:N["OS^VCZ?L"]9UM4X5"U>:-3Y*VL)S!JOU4A0 M0+1"^8K4-OPQ9RZ<\!+7K?MLNE9 +EVPF6??*B1B+-;5$TO=M-<^U&H,J"/A MS#/]@W-F;FU/MY_QJC";[R8SW:9OT[]BR]K#:,CLP^=H*$7"0OFU#FHTR*3I M*KS=3]3O3:K9R<(.#>FRUYWWTG9<-Q?=SNDGX@N4;':N,^57L$EIF(I>NB:U M62ODEB?1HE.K53)WC3*3$7T.#IO!L_/LJ;LI@IG7[(C/*5P2Z@VP/%K.L/MR MW%0?=;NK@=D M!U3I:Y !84UGE*L2B#8.V#0<,V_%;DT3SPZBUD M1F"?;N3X%0Y&Z9(LYHP0W>OD'EF]R<[P)P(SO/5!OLK3_"I#N/P\OUEU)[LN MJ4V%#VXXKLLNV;IT,9+8\ZUHQ4%_J4+^7@G=K;8^=LI^P5-]'C1<(W_9&8[\ MG$!()E,'#$APGG-J+];DAZ>"/7OCY'#]L]P<<-X^7I\#PK8TW3:U#^J:3QX* M;'Y7D7EA753@*@S>@LO>&:?K8E7+\/)NL TCZ0Z_;!XJ1]]^#F[%/ 2)J_( M>D'W,%YFO+7 =D35LR@RFH^ZBP7(06YZ.:T"J$9HKF,P+V0XO0%+HEO_1CHO M]'8'E.L*+W%A5&)Y*L<\Y77RZNP$50&MNN(HC?U*7(G,P2XTSPLCS4FMUNCA M"J#@"X9EX>?&6>YF0@N)U1D]7/X+?I6>L_+F,T#[3-,S1?FXM1D+4!K68KVI MATCX.6DYOBO:U8=+\>+(O/>6?&^BZ 19L1AWRLC&4[IR*_:+I$19?B-:T I; MN0?M:'?5V[_=%%'ZIFU*^5)2_,T7EO..P%\'_$BPD5E//2N0J:E8IKQ<_(FL ME\O0K##A/]#843<;H.$TI67'^B'(FLWTJQMBR5DZ1?D%ZIXAK-P9S(^FH?3K'_ M7E"/$)HOET5KRKG EYLNL$]2B]*LBK65(1]W5"WNG[!7.Z3HZ'W--0[LBSC9C0_(:T-=8 M U7Q3G]G&D)F[P41_1D]+.=/- #A&EM+^):QX@Z7GNL!F\ A9PQ(4REC=',Z MN=&[*]W%AARCR334&_LYM1TU#]M+8/<[OIR3/_;R"YV?="MXD(IULN=Y!#\M M/;I7,G'\[ZB50^;$N87QOZ!&P/:N,4$&-.7^H#$YK!CPA,S@!F+4Q4HZ&MQ; MXW$9=[J=\_/JHDP!T8DL%\JY_24J%4&8[H[P04&P8+&([YX7ZQVQ0QQZ%W[A MV,A_XI=^$\FNS\M**^<[G6SZ3G[3[!)2V+KF3/VOM: #S*U:=2'XK8)GW9Q# M,[GSP\,\ 57"4&3H)^?YY]I@5WO5R^$KW!L68F33,WLEC\SNK4MGZWL[#Y- MP20D<4.1&H"TK?WK#P!)B90 $/QN.JZ:W5@2/KK[UP"Z&T#CY[^^+-W!$R;4 M\;U?W@W?'[T;8,_R;<>;__(NI >(6H[S[J]_^<__^/F_#@[^<79_/;!]*UQB M+QA8!*, VX-G)U@,IOYJA;S!#2;$<=W!&7'L.1X,OKP_>?_I\W#X?O1I./HP M.#B(6SI#E-7TO8%H\OC]=RJ[_TT^'PX.CP^.AX.OOSTX>2GT>?!W68<#QJQ'Q<=?WBV"8/73X>'S\_/[ET?BOO?)G#5Q M-#I,2K^+B_-?[6!3(5WXXV'T8[JHHVG:\6B /&O;]!XISR-1>OCERY=#\>NF M*'5D!5FSP\-_W%P_6 N\1 >I#JCS$Q5?7OL6"@2\N2P/E"7XIX.DV '_ZF!X M?# :OG^A]CLFZ,'@9^*[^![/!H+LGX+U"O_RCCK+E6[ ?_IV_UXT]I>0[S (2][ M>/D28(\ZCRZ^])CB$B&,:X<&-):MD2X<%F-R19PEIWQX=#(Z$G0_!$RM^;@Y M]SV;$81M]@?U74?H1.L]_GEI/(^?.)0RR>K M]Y:_C'BNUD^+ KE@E+L^#0D^M5COU.&XT"EB0-$B#.O;Z80A-KLY3,!W!%,F M:J%P%SA CEN2,5U[G3!XA1SR=^2&^ 8C_EEH5"46]2UVKI:\2/IS)5Z-&NZ$ MY7O\A+T0WV$R\\F2KR231]>9HPVIE?@V;QTJ\S,4ND'3,LAVTJ4HV,H1$&0% MIY3BBN-;WV*73+(OT'Q.<(3!9!9_?;8^#VG@,X-AREH_]>R$=/ZQ#E%4ZK<3 M@7WU??N96?>,J#%;AKPY-ZHB)).?*@FF2/O0!+#[N2E!*/OI1"#,6;.=X)00 M1E,-1H"F.2#LW2+"'8BG:C. 2;N=,'R!B?,DZ!@S3Y*$U2'5MPB)R>3+S1+% M!U^C0C#LL1,A[3N'E22@::X3]JZ9EX'IN;]<^5[D#8MO+E]6W&5F0$Q6(E+@ MS<7WUPYZ=%QFH>-JBE!#MQV92BN?!-RE?L#SZN-!TQP0]F)CC"$R]0/D1FOM MV?HK]N<$K1:.=4HPJED&Q?KL9E8('RG^(V347C):JWE"JK8*,R9H1\1*&(S_ M3-.S:<'Q@D/;61[&90Z1ZTJCD[O=)I%>'OK\*(22JIF590U4L;]YR-+W#FQ_ MB1RO)(FJ9NJG5S1_L,3+1TS*$BMKHW9*%ZQ!8H6/^& CG)+T:EIJ4A^BZ$!U MA]_CDIR>RE'W5)^8E[.QO?G6"7@'V^J#5/W!A5"2P8U0 MDC)S13Y/C476\YD^.OIP=#0X&&R:8G^?3VXO+F\?+B_X7P^3Z_'%Z91]>)BR M?VXN;Z/K/ L(1HN$JZEL9,EV^<^3+ M![3!]@W_9G?W)O[Z]PV+(DZ?]."B1^R*?4=IH<,N"8UPW)INIR\.S:-;7F?# MQE893TF6(3;PD[;C.:#DU.83IH._O!LFK6X(BHYO ! Z)X[JAZV+Q'Q'&].M="H M"K>*R:@B)BHF (!Q:EGA,G2Y 3X)%IAP;@A>\/F\?JN0?:@Z MC,SY H#BK<\H\@(F#];T?.P%F& ::('35VD5JX\5L=*S @">C;W#?&8\9G_F M.CZI@@U!(<)OAF;:'ME2#R?V@7;D'850?N( ,:_]TA5%?WE'HYCM]G?7I]C^ MY5U PHX<53:H"=\SN,#1OV-O/PIQSU3LRB?/B-@*! NW L&X, .Z,&LKXOB$ M?2D4#,0PW"67L>2&_*SVG4^$Y(. .(^AV%68^O)Y13ETZVD<@@M0$N119 D4/%M\Q:G]KY &?%6ZQ<%D-D4O M"FR;Z@R"OU*#GC0E'F@ZMZ613GU%%$0(+YK$^/_ST\/G?FI+;2\N5*5)"#Y4 M#?I330C0M"1%Z45(N#6"&86VN#EQBY_%+VKOS*ANJ[B?-&O!Y7/;$X C^Z4D MPGN5(1CIA339 -@])GN"K&!8$"_NQ/*5CBUS8MDJ,8Y5#;6*^*=.!K6*]9[H M0:2_=2B"OB7H8U\O >.)H.?:($1Q[GOQU?S)+/H[<,1Y48N5Y(>"2TP0!FVV MJB&?.YDK#*30$T6)M+UF33%N%/ID8BP7XWFEAYICY %QYAYWI\M['%U,9NR1 M)\?"D2#NL>7/(["%D*MXGY6Z;57[OG3KH5825'T:N7\Y@'_S^X7SY-C8LSF_ M3\AEK'QC!%"9>AB4;W=6.:H=6 ,6H!:MC>3ZA80?;UVT6QX M2TC/:I]0C9:S$K F%<&L_29J:PIDPAPT)&\<3]"3["PF>GS%Q''AT&@K4N2] M46Q%_AIIN@+O^IIO5RN:VS"L3R+05"E9F&CJ .PYH@N%:JB+MPMU)&*$'P78W7,T,Z$'F9H_0EL4;;IYZ=2F;#?@N7V!;\ M3QF39XS*[[GV6TV]0#C16EZI:A("-*=4(I [XE_Q%)ELON/_B &3HRN%6X%P MEK:H+A1FLELO5IN[.-^;_<#T9;CKS8HV!_YLD&YU\.>X7>!^[;GO69@G?!,[ M. []KO->586[N1B^0\O9^@Q[UF*)R'>-LYI?#8[7JLWL\CRL L^H^D0F) M6HH'+^F^?/AQ] .2H-@&FE&$ ^#X@%R?Y_FZQ_J:S MHBP$%]9433.FK)P= *!(%%"DX"ZTM&UK=+"J*;R-2JO:EB&($(FDZ(6FQ'0- MN,O8KN)I04JS]-I RL[@GT?#DV/02U9)X*1L0L R?HM@CW1]:JB\6B 7KWTU MS8"7QU/]:%$2I)!BGW918E_]?H/^Y9.$.%E60E6A#M8G100D?WU2\="1S&_1 M$D]F&8*D\UM.V8Z7'[WV)&+7T-]GZ8-<5RHB4O\BHMB>F_JK*?8V1*JWXQ0% MNYS^C31HL^6F8* )H=XY*\Q*X:0SM515);O7__FM\A8@5O?(\E'<5!%=[ZC MQO:[F& WY)^M4^A>$?&NE[76;)T9U81S,*1V/4C/T4:R +"654(^W@% M%#H/UGT& 8 H>SR8&Y":Q55?!<[!E$975;T00 &;/ "=>U!"7P7( FJBL'*@ M9$R]/J! +Y)U@@=U64Q2--SSH.:BK[X;>L;<* RH8'IKYHK(:$-;A4OHM!5;&(5#,C@MC=@SA MH%*CF!U#Q*R"B;&WG]7 ]L4UA!-2C0A+JBW5#;Z^YHN(.-\((I7H[)$*YT6A M9 ;U0$TH3:F0@1S '90TCT\X M*4?Y8:[TYV)'@3[N'P7*Y" ]&/#V=_*2]N-,T%MBTK?$I&^)2=\2D[ZEKX27 MOE(!2#9#GEK^\G(0O,OBXI;S LV O.("90;0$[;'7H"\.7]-*2+];!U=)701 ME=UK+]4"G+,O=:Q#A5B'#?:66GZ+5+\35+05(.M6"54W!%O.]H\*>';CZW@T M_/@9T.9?JTH@%04 O4@NO=SCZ(%VNG!6\C0"1C4@V$,E55V68D;*(P#4I@39 MF+.@AVJ_& 0#J@9\]AGK* /*E$=9)K.Q9_.G:T(D.QNE*0?G&%05(TC#(!18 M?G."17HP3_U++V#&MS)=3>$6 *00TBJC$J@\QGX4"+,K]&@T/ &0DK4I6*7, M-N'O7RY7KK_&F$YFI6,QQ=OH.JU12>7=1 R*S!F /&YBK+\D.FZOPY1LMG:HT#O'UF^9Q)Q[%Q M=!>?&74>G6%"MIM8"G5ING,(5G)1%6Q+-M#"EA*^]U]F01L/0_LV2U3$7/DJ M=P3A1$4-BE99#M"4ZJOOV\^.Z][%+Q-O!TOJB7B%GAC6A9"FJ"CTAJQ!0U.B ML:KY396,J%@3$)(3U3"L-1Q"@U@ M=V@M)HNI'Y.<<(OI+0YXIKPM,PH BS71*J*?ZD&T&(?0(*[33F#LYIQA;:RW M5A7G,SP3+2.,UZQC\>GOU,GO%E1-UBF$/;2&!V]3RBH3YZO6V9#98UX0E62M M8,8VJ]F*YBJ[AA0]Z9O^*H7:>'[0QMA($F)(@ROM=@TIW-*@9K8KU!]F?KTC M>(4<^_)EA3V*6?E)L,"DM9AA 5H@Q9;Z/ /KI?R:%?^.^"M,@O6=BY@P(HMJ M%6]%-:WHFKXA!=9ZIM@:J?;*MIBL1$#2FU]C'H%NQ:B0]PDI2-@G:T(NS=<\ MF^X>Z;("HF^9N6-3?[T#]&^-KU#:\VU\99I:%6IO[PJI3:0;J]LX'U^DJ!,ZJN6 M(FUY1+2[FW'T>LQD0_F^YIEYNPZE?KOVO?D4D^4%?FQE,SB?AG95_'7MV!F( MMU=3LY2?K,?;XAQ=E)IV-;F[O;O.!?W#S=K"K^AJNHX[;U>[N]O_:UNNKUJ9 M<4LGSMI6S]>U;2<$"$T/A]WO:S41%%78=G>8]6!/9E-GB9-NQ_0" MVZ$5\'#ME4_$_2<\12]W(5GY5&Z5E6NG76 [WB,J)R)H@U:=G>(;Q;/0O79F MRB=DC:JVJQ/=;[.8206:&D@$=$?\*WZ),G67,GZ8?3)+,L ].)Z5SMUZ@0+V M,0A1@2V^JOU "A17N[U:20S]U*A+1#Q^M7]"KGU*&U>L,MV!BNC6JV!EQ-$# M/4M1+I)08/O(+9*?/B-@\ 3C?\N)7 V\0^8Z#.^)8.+G*RS5:H0_-=@DJY&B<[Z-1 MD72;>3Y>9)DU+Z9%-O%-'EUG'J6NX0Y6L?3S)T?'N^GGXQ[87ZE.!OZVER0G M?4_2T,?\W&.NR:CQ&78)45L1BJH_FNV9#'0U"N";9C'+4 M(1WPUKE(*-J>D1YW^&:L_^C&^IL!!6#5>C.@W@PH(*KX9D"]&5!@#:AL%HNB MUM)(;2TE#0^0:+DO9M%#@ *Q*F@?RMPI!"3+>,^?P91*_NV1RZY?U#!4N+=' M+G_@1RYKGGOS/"A9P>X\(379F:W2G>FMKY[)-^_1<5ULI[*RQ3?T%&#I*D#P M'LS@TW$![6Q$BL;D!EEBC=$)N2/^G"!-=,*L,@3;W@PZ4XZ@P3CVF"W-VEY? M^:0XCL:U(21),P/2F"5H2"9$\M>/DB<5A<-UBP/]Y&E4$T(V,#,$C=AI/$PR M]BS";R)>X.C?L5<K"G<@PAKL"S2?$QS%8":S^.NS=4+VE(GY MU+,3COC'HL&/C^K@1[;[@3\;D/BWQ_7 BDD8\!X&R+,'5A(K$=_T)%*B$+$N M;J*OTJG+D?A5#Y'!K7O>/:<.G(B*"4)2%T7.&("%-"9(&U'9*0,D>F*D:!DP MLFST4?C9QS6_C(8?/G7_DF@]@$A9:\)6^<86J8NX:W4 2U8*0K1*JC(; T-& M=2-OKWJ8S-?WV,//P@O4O+"J* DB3J&5I8KR1NX2.RO,2N$'3)X<2R=/54D0 MP0.M/%64=_0*=/0@?&PXRHP35:$.K!&%_II:(RI..I+\+5KBR2Q#D/*E;4U9 M ,^BJW4H$;N&_B;FD1M$ TSB$7;*5$.LQQL*U=.*8<6N7[_.59W-;&/(4..1 MD5O?*PV*>=TN5]-BN)CSU(>0XQFB#IW,^$T[_E2IVL,UK=S!XJ)8S(NZNJ8< M]@))K4=F7AV(IUQ,0Y;C5N7/)7$ M/7:6CR&A?&$V "&W"H1(0FDLW3%E*3UIZ:[.O M)[MB+GA*#IE&7[Y8;LA/#?(=7_:?/44ORC-$)5J",*N64892S':[29YD)3SU M]A[L27XJMAG^Z6BXNQF>-"0VN+>]#*)NT@5ZLM_]8"VP';IX,DLHUUX14)5^ MV^6N^]Z 'I>W#>X?8(/[;?/T;?/T;?/T!]P\+3S!)FM$GLLB*=>=CZ(D.C.? MJM;!OOHC,-/&*R88(XC@/H*Y\0CB!-<7(8EN*SN^G2-_>14(DU0A3.1L0,4I M2909O]_'W4O[7\SC%!97#F Y=2'Z]5$6Y+O?^=[WS MO=59]*F9.Y[? *S7%NC9.CJIX"*J\]<+M0#1>S=%UNQ-!0G3 *9O#;U;:OGQ M%&T H' K0$($)93<$&PYVP GQ)D8TZ3W,]3%X,0@"BIK6G,]AD# $H2FA<9 M[AD==.&L]/AH:T!P/VJ 2LLC -3XRWL\R7RP/86G!TU7 8)[4@-F.A8!0*;A M,"_^8E:UNY!,$=;D49I\>Z>O@9O7]718\1E7JP#]? 9,P^U7XM,2HSBN!GPB M+@EEPEV/8#RUK' 9BB=_3I<^"9Q_"RN@.+#*AB $EAJ 6LDO-/!W";_%P>9P M2DZLW:PJA#PD90$VXQ :I&F%F\QV>5" F5<)0GJ2LC#F\08-0 V?4=Z^-$,\ ME:Q'\>XCH^93LT&3K8*O>)2U@4G:@/,>J8:$CR@),9,J=RRHA=Q_8J2^35!# MR\ #5,:CQW25-Q9,O_7HEKF6TV?L/N$;YF-PGIS7@3F5;&A()H_\ZZ4M:4@DB\:O^*D)2][!2-,W]@1IK/2I9Y_. DR2S[+SL/6U#=S#+:02-8NF MV]-2YP3;3I!Z/[K@H:@O^_>0HB8'Z3;[*5(5!G)R2*=6.C G02J M 8Y,,HL/7T;#SR=PC9(Q^ X+,6S-[6B=:&O(9PR"J' M@4Q*#IFUUM<#5%EFSA$A:WZK9"KXM]67_;J\LC'TPV+3_%M)N[K:8D/P5 MLAR7:98N:[:D8._"V3(F $R!6;+TF9&E18$$LM7*I 8!4!"[(@R9*._'X>AX M> 0G@%T>&BE;C81.,YWS+)-WQ'E" 3Y#WG?^O\GL-TP#GFOB[/)^?'IV>ONW M<[98^43L^VK"J/4T#"'@K5/1;4"U'GX!C,C>;E#4K]"=;&;L,7"./&0[R./4 M%QEPLGH0PG8EQY.,G48 B/O)4G#N/%H:X>?6@1!],Q-\+BO@G-D>GA QBFB_ MG1!Y.R%2-?^Z[SXYWCP[F+6K>DX=" :9^1YJ#C, ((HB4$D 2F]O28M"6-$+ M' F1\@ A[\CXO#I]IZ9BIH%9+\8H!?+S!:/?1: B5^[:,@* EDP5"JD$CZ@ MA:*"^+.ABN/1\ 30A9U/^6>UZ%&\#PA*N M5KB-(U*<,0 #B:V$-K\.P1:Y1Q%LF&&VTG$BK\=GD_N<>(I170@+OAZ^@@P! M@.WM7%N/S[7]AIWY@E](>F*SPAP+?<,TX'JF 5!;"\(8*PBIEA]H(9LL;\PM MPP6.(J:+0PBKE1Y[:4:@(<392-RTC=N,7IQEN#SS"?&?N5.-5NR78*U:SPHU MT;?C<(68:_R6[)T?,(H=Y(X]BV!$\1TF/'L]L5DO5QCQZY\RZ]&L7D^.QQ7@ M"-IPRW(7O17A6'=H+3X2Q[.<%5+E4C.MW+/#=*9L0<.R_Z>WJQ^L:^_TMG8; M=9/#F*>SH O?M>^9340;PO'6B15+U^L!3\+N?L^40/M MMZH 7ZHI0+V<0YNM+[ X'^(\8?%PO)'WJ*G1;G#MJ(9%5L,,7*S$8^@/*V;@ MV1,O'8W*Q4Q3LUWLZHCD&# %#\,T?TK"AT:VKJYZNVC6?451QUGC:^F.Y4WP M*C:ZH^-O^=L0DBKMPE$^5&/&#;11=9]02"L:KL@50RD&',%;OR!3FTP+!_>D%/?[97?K5.W);Y8 MSLKAT7[.RFVK@U2S_;GC*Y')J6?_BNTY-QLL]A,3/*9;GK5O]U9HK]NPQY;< M>X=^UYQ3U5>!=(>X(K+R>(B,:0 3Z9; <]\3>7=S+TGHJP Y^6JBH'*@9$P! M &HWY*T]MZ4% "9EIHJ]5;^&A> :QGF_&H21-W<:3L3M MGQU4>!RW(5=6_DC7AH-OK(\KG_!'HQD7,E_#H!*,TX U 6[*-#0G9"N :P<] M"O?VUH\(RCD[F%L/QB'"Q@:TDF^0CL[N>L5OZI=WA/:R'BDG.7WMRE'KE+9\CE)RX?%A@'U[P;+D_U#*@N#BD[1HVS MGYIAH.!IYSU=!2"S7IY"YH$#:+ZK$9[L7>//H^''+W"N3]<#F91% "A.@@4F MVRR]B9ODY#PKD5\-PDJ6KZ)I\/)Y H#7V&->)'X(V%HK=O3R%S5M#4B).VI< MU[0\PT51.WWFU &RP!GHIP%0@):YVJ$"O=C5"1_4)6]['T/SAY46033HU;#*( Y.$73+5JR/Z<$>119N.6=>B^,(<.T$/9-6,IY;6)&R(/F)G3-B-;9 9DR[\ZRZ6R* 1WU%SO-@>P ME/P &$9W+O(X'YJ%*EL$S@YA'6M3EC= >&BGL-U"0)89F2[)A UH%2DA[LR, M>7(T&GX E .Y& 125IJ8_),[5_=8Y&OS/4Z'>@'0%H>P",C59C/A:^EO0KZ1 M6SCV>(8>Y@GS[HZ/AB.UA',J0 @*Y<@XAP, <\OI,R(V/U*D65MWRL#9IJQC M<=UA#@ D#PM$>/X<;)_[2[X[$.WZI%Y%/5MOR\39!P4;6UX\VVC1:*8K("N] M5+4SCD 8+YUHE50B !0MR;B(;>%K?F.XT/N';SG/ M.6GK0+"Z.)2+72\D.>S."^):BQ3_]ZKO\&B.]=C6O=A9OH\OILH)6;CVD MPAQ#VQ__RE:% (NS/R'5>%&2C8X![7.5A47*% "D]HW:K M3,118C:+0G$3)1\%-.0O+8@ M[,*UI!]YHF@A@>T,$Z*,2J9?/XD?7;Q!Y#L.SAG/G OB6%BD51I[%Y@_CRY2 M\28B2TEQND#!N1^Z]AE.6+3/UDR:@@E/NCV9""-I MR\/Y919*54L0GHIL=9%4":)7>G'N>VR@<'^?ZS__.W"8!_& +594/)G=%1-W- &+F3>922_4+T(UVR6$IS9K5[I& M)09.)75#[!8_BY]*S5FIRA!>]6QU;DKQ#@WP.^);&-N4:VGR7FG&4E,=!_0 $_)@7$^(2)C1!18 M8).28"8_E*NN">*MS[JQ-N(<&M""+&%4Z*R]N "(9SX;,1H&"T;FO[$=)7Y7/:UK7!O")I6!6NXY)2:\ 8?49E/./0X< M(G.NS'#-:0+"#E,U<',8["?"8KVI!'#< H2=FD;PC?F#!F^&5W%\AM$=;QF= M^S3(<43,JT/8%2D(K#ESW>9PNN8/=5+N\OI>_-0T_R;V>[D5N&(T!TP5Q?>I M!&/%#F #Q3LF&A/BW%!&]R0V5)'349G[:*=36 MA9!['N56W,U)_08H3Y-4FLDECA3)'=VP$11(S[;N_0K@9LP>_!E!=GR'S%B4 MV9/0GT;')Y^Z/]YM*EXI\1U)_ :].,MPJ93YSN]=WQN2*$@BX!U* 5A,V[R^ M.7EN906[2UZK)CMKRV9GY;X>G[[&E&*S*\=# MGN4@]\Z/;A0*>XCRLZK7CN',6:5Y""IAINOFZE"$_YXHSO99LF(:D:X'P76H M=?2GF>L=CDW- >5Z #P-[*M^(=5XA9-!,86 X7/6.O"[W@J[QRN?!$C<)Q$Q MJ8);7"?[6US;)@=)F[W9L=JD2X@ICWAAJ(V]F4^6XGCLV3K^T>Q!DP(M=1J= M31)$))CIWC71UP&T9U8>3VF05\XO@.DU)DB?;#1;!DAN)B/]RX"19:.)\[#? MV.1^$?>C3CMM985:*+>#DB=]25PM751*"5:47KHIR:&:N9IG9B^O)I^>P;Y9K4!=5P'0G%<8=1U?T ;M/7["7HCY38YSIF'<@^-Y M6,]#&OA+3"Y?+#?D>52YX\?^LZ?H18%FJ98 S;Z%82[%<.,K8DS5-JF+;#&4 M% *Q=UH0"14OT :9N YU1_R9HXH"9DJ V)(K.2@RC#2N[*G>3FDZC]&&?*$; MLB%@7!5"^HM2 \.80VA1N)@PYJQ-_0"Y4BVEZE,]2:,H" M.&:?JWH;$-1L]!F$S!GW3T^Q]_VX<_\,)HUX2U%P:X/ MZ^0#38 M&]M0R4MVLD^S@XE:^T3O\K2@%PF#0J9E4G%"@ C1$*;_L"#NCR4PP]Z M-@_I$J>5D0AU_R%%$#$B!_:X>R M/']*7;S#\P(Y+.A&2[\/ :22 %[P=SV9B4>3U#<7V'+9/ZHKU&95(7A/1> U MXZJ4N?[S823&V,#]R_\#4$L#!!0 ( .Z- U/@G[)(;'8 %F@!P 5 M<')I;2TR,#(Q,#8S,%]L86(N>&UL[+W_<^0VDB?Z^XMX_P-N[EUL.Z+:=MNS ML^NYW;NHEM2V=M4JK:0>WSS'BPV*1$D8L\@RR5*WYJ]_2(!?P"J"!$F02,H; ML3M62T!^(_*#!)!(_,O__K(+R3--4A9'__J'=U]_^P="(S\.6/3XKW\XI&^] MU&?L#__[?_W?_]>__+>W;__/^]LK$L3^84>CC/@)]3(:D,\L>R+W\7[O1>0C M31(6AN1]PH)'2L@/7__IZW_ZYW?OOO[^G]Y]_T?R]FU.Z;V7\IYQ1 3)[[Y^ M5_[E+*<:1W\F__S-]]]\]^UW[\@/?_[CG_[\_3^3FX]ENX]G+-O_^9MO/G_^_/67AR3\.DX>.8EOO_^F:/V'O#G\ ME;6T9U&:>9%?M3^A__E[T?K=#S_\\(WX:]DT94T-.=EWW_R?CU=W_A/=>6\5 M!BG[17[7B:^6:<>1-L"_O6V:/86?O7VW7=OOW_W]9NK1S94!SFFH?,5 M_RD7&XBV$!$\\Z&GJ$Z_9#0*:/ZU@7;LUQJ$,,[BY-0X*6+Y64%/:/&O?VCZ>T^K@.Q M;)W4%? 2OV#&?^RP4M[B&S_F[K;/WH;Y%Q+=MTF\:Q95LHL;_OB?X<. +USH M4E,DH6E\2/QRG!I]<%5^G:U+&7D+0'T:O?UTUT/H_W5>3 A>%)"+*&/9"[F, MMG&R$Q#U+U*,Z4=8(<<]I]N@]-&?$8^O)D6*X:7^#>GH:A1Q]. ":K,/I?\X M>$E&D_#EEN[CI FV]"T7,, TZAV/M:-FR(>=3MK1([ D3"3E^8$M\:*4 :9V M#L>&I@L8CSH%3\#OJ!WR$:D5=SPHEI1=C>07$" \VQ"4H>8'%M+KP^Z!)@V:-S1!//!T"A5C M[OCO2(>;5LRA(RU?4P!%(DG./,9NZ2.#Q5*477N[)I33-$,_UIH5JX^W>AO4 M8TXCZLAQ5U$E0';FL7<9^7'"IW:QEK[+.,">Q8>3HY>1)G;Z;4& =!-QV:?Z?*Q;1=UJ3-+=%/U1;5*P/ MTX:&J(=HF[PCAV=.3G730!C*\3ZFD&Y=&?$0_#)D7*_ GE;TB'6J.(0P>7F)N!VKQC"1+(PING M.-)OGC-+$"2"HIL5\]DA2?BZ79Y/LN@1IOA# MJD5P;7/$8\]$T?K$VMP6Z9@T$GGDY)I3)R5Y(NG/OMN>44B*8\_TW,N\7*J6 MC5M-<_2#M5W1XXWUIK:H!VN'R*.WTDOJ<.3M%:/7P=%WB,V26C@)3TA!=>91=[?SPO#](6417PQI]3YNA7[4-:I5 M'W6U)JA'7;.D(T>=($H*JC./NHL=31YY6/!C$G_.GL[BW=Z+])BG:XU^%+:J M61^-C4U1C\IVB4>.SH(XD=1)3GYN<'RB8=@U.H\:H1^434H=(:/2 O40;!1T M+"X"S=G'VQWU#PEG_^Z[AWN6A4T;@@U-$(\UG4+%2#O^.])QIA5SZ"@35$B\ M)>^^>_/P%2GHSS;0[A,/K@/?O>P>XB:%C_^.>(@UJE*,K]H?D0ZN9AD'CRQ) MC4ARLR/7Q1?_B0M.-3FUFF:(AU>;8L6S]4[ M2+2,_5_OGCQNL\TA@SOVX WZ_<_V3HC'I;G21YO4+3V0CMD>@H_=L!8\B&"R M(I(-4?C,/:1IE"5>>!D%],N_4_W:X[0=_H';K-K16*TWPCT\-;*.'9&2+!%T M"2<\7V*"W/[^P%+?"_]*O41_'["E*>*!V*5@F;R@:8=T.':*.SBI(3_-DY0) MD)[_?F!Q0;%2[P/_3=.6M;XEXC'9H=[Q1=6C9DA'9)>THR^KJB-2D'8T'.6E M6;,!66^[F"'9H&+SH%0:+F)8-LEK:V#FEZGG'9IK+D$@] N]I@70\=\1#\%& M58IA5_LCTJ'6+./0X552(T!NZ( JQM/62Q\$ET/Z]M'S]G)0T3!+B]\[S=7E^?J>_^/]^FI]?79![GZZN+B_0S#V[[V'DW,:;:.EC.>: M4HTC5[18PABM"SIXA[,@1WX1!/\_!"/OBD7TDO]X'&NV-ES*"#Q1KG$4EJV6 M,!)/A;4P&H$H$51/AJ05S3*:I/3*D7KNG&R=IC1+.X*8DT;(G:M9*=6QZBT0 M.Y5&T,$1M2!'?BD(.O(EVUK=W3F-D:0Z^;:AD2^=MEV$2VE4//6LHX;H'4PG M[S@_6Y470W XG&TM"^T\0?W/[ASPS$N?UE$ _[GX[<">O9"+E:ZS,R])7ECT M^!DVSYDMO76V1.W>KBJHS-S9$[+SM\@X=I K5 M%>%T5[HK;O-XYC1*KGT?:M^E)"G)KTA$':XES^)(Q!4_L^SI[)!F\8XF(O#H M=$NSGLB=M(?ZM?FWNQMB!^XC_> Y)^"RZ^[&F44AY:;;*G7-VT'<[,>B*'LQ[JJW!FT TQG/61?N@ MSWF0G(F(I@4;)MG+#=5#4ZHIR M(6_9XU.VV7[BH0' BL9*77V0.["1RJH'MW9 [,)F<@\=SB5U(LBOB&#P-MZ^ MY2QDM#N)$S_3Y"%N=^.Y% ^!O/,9^)QN*8\% GA%8T?OO2\RW-#/OZT=D#MO MM[*JY^I;(W9; Z$'I_3GI(FD+9ZN*")D9Y/N'/IF7%'7?GH995P+]A#24L&+ M+WYX@"NY/\9Q\)F%.A,9=D7NNWT,H'JQ23_$_MQ+_*$CO6*B.C1Y4W(B!:NO MW'CYW%;PA5A-ZXVI8YA'#V^Y1+LG"^?I(*M M)RSX_:RNQ.GQ'&)/.A)PW(&9]D7LE[U5&#KL%4;E@5WVXOSVRWSZ7Z[?7UY= MWE]>W)'U]3FYN]^<_?M/FZOSB]N[?R 7__'I\OZO*.# [*Y::X?EN+S!K35] MZV6XM>V;70II/)?8)M2W4#&L6#B\SE:D]M]X+Y#6WY&$IFN,W$';E:S%O8TM M$3MFA\"C;WSD=!TGBDZMY5[2Q76?I<"@EW:G-.R*W$7[&*#K2LMQ/\3NVTM\ MVY=:2D8([[1,9P1EWL5SL\6)NK-&&V1 UFGJD?A1G-CQ)#5 M+?.(Z1@HDZ85@;.X8V)=G:/1="KF&Y/=BLZ8G,B>64"CP&RYHV^-'(,ZU*SE M)#8W18P_71(/SLXKZ")9\TROI_-5SU4W1.Z&+>K5-@1/ MFR%VOS9I!V\!EL>Z0+7:!?SH9? &DO6Y\0>I9D0?O8RVIOM,H6VAG7B_/8[@ MQ;KJ7#O@C!QM>6)0U>4)A?%6\ *0QVCUL:AEQP0!ZGSKC*X@?++HN[B7BR+Z M5A&F,W5-VQB[Z[4JJ9OW%Y&]UB&PK=F_NB0P=1PP9&J<1/% *![1#&9(OSYI M8KF-6VY1=F>=&O1#[L7&JNMOYC9T0NS;YK);NZ&K'#\XSUF=7/N*%(F/;NR& M:AB"#0-.KD,JH4J/.[TGO9#[OZ':K;=[ZUT0^[ZIY*/OO<(%WUK0+>KI3>S\ M!C?T9S, 7/Q%$8J+='I52Z.;)+H.R)VY6]F3.R6-K1&[L('0XVY>U-W6]70] MM;;5)A4*;U54[=Y P.^/#>IHMJ40>UR3E!8VHISO/UG:>$+A-_#T/,N@KA4D MXT-*#(^Z:>3K_:B]!W*_,E"WGCJG;8[8[TRD'IXT5=*6#S"HU%T%IW,J[*O4 MR9L[2OE9UG"'@X9G&;?QQ -0/9; M'')1'B\C/H_3M.O^B74FR+%B&J/6'Q2TR0$Q(DVDZ%"?5L7YA_Q:W(J4(I%< M)J(*1;*8U,4BA5S.K^*@-B\5 KF-<.)(R-3Z\-1I,^3XI%/L.(!1VR#&"*VH M8V9N[L2"XDJ^!<6=/$T/-' 9J$RA8PH4W_X_7W_[[;?OR-Y+R#-0_Y_DAV]7 M_%?P_R1]\A*X!WS(GN*$_9T&_Y/\X_>K?_K^W>J[;_\D(IL__O/JW;MO5W_\ MXW>$"2O).O"'+,T\67_'R\B_'2)*OO]V1;BWO1,-SJE/=P\T(9P4_);_C3/: M4S]CSS1TZ/CK(!!O@WOAC<>"R^C,VS.^[E*^@>8K&75$#@[FRM>2[3M[(0:0 M'L(/3DDO61#@05A$7+\YE'HMH<.$E4$4K M7?O^87<((6_QG&Z9S_3/SQET1.[GYLK7'Z;KZH78SWL(/W28%RQ(P8.\4;B0 MG(VCPIQSZD]S'D[OQ17:B8,'CF;[A#[1*.7AA3R-O(I3.(/<;.^]+SIH[$T% MN=\/-,O1S;H^)! CPE!-1MQ,*[% GH;5.!;%NM\ TZ]D7=]X"T?[SJ[H.3-/ M_HQ4S3Q,L'0'*1]9Q)= L$DB-SXT9FMHAAP4=(JI7G_]GNLGG MQG6MF^!(.Z;1;FE'%Y-NC.)W?+M&M']$@1AD+"N(Y$C"7?5O)/9$4"K\=V") MSJP9)#:0"3G6?)3:/L2>J< M4!F79]_Y3S0XA'2S_8N7, "V L@NHDP(?0^_U$&F<6_D?M[3#+6HTZPK8J_O MJ\'@N#'G QM,!:WNA=P'#-56 MQWY'%\1CWE3RH6-=,[Y?R"_ @P@FCC*P)E?]\L)QDGA^@GSC)9N$+WTR&H@, MEAN:W$%F27?"2TM/Y$[<0WU-[I6N&V)G[B.]G0PMSH;$"9&,9+X6X:R(X.6J M[.IL1DBE$FT$D<#G,,5=L(11/UV4J6;?U&GHLQ^EU MZFJ<_;CY,IQ<*[4=YY;D247?N4-/I7#NR"?YEH@\5R;!FIJH;+TTCZVKV>JM MLNF2//5(8IM>.FF6='\7M:MIW3U9HZ(.77-3I5N;VJ?>96E.VJ!PJZ\]*V1.VZ'FJK/:IHB=M/VLWU^<7UW<4YX3_=;:XNS]?W%_ 0'?_/QXOK^SNR^4 NK\\V'R]>0._1WKZGN MXURQ[N1625Q[\H])G*8W2;S57J"KMT#NJPWJJ,ZI_!FQ-S9).72@"5I$$G/C M1%'J^4)W0(LDU]]OTM_! MLQC5[6*-K9I;(O?Z%O4:'[NHFB'VXS9IQS]H4;L2[R8^GU9!UY?:K^,HKBN8 MAR4=!U(F_9"[H['JJG-V=D+LJN:RC[@F'I_X;L[D*^?U+J?77U;U8+GB>=#] MU9_=N?>'.*'L,9+/??DORKS_H\9!\'1WZN;"*O2+_\0I4!)R\N*%*L?OUF@14A<; M=75"C@=F2I^\8:/M@=CK#04?-_.USO\.7[296F\YXSOVX,OHF:;BR0&IHOX1 MN>:6R'VU1;UZ%ME),\1>V2;MT"%9TM%FON;.C(>HNTN!8 M=."3=[YQ%D=Y-%Z^*TG3BR]\#1\G 8N\Y$5R$DY-\I8LJ""JMY"V)V;>(OP/:Y9?=) M_,Q2V![A_RRV$C,0R#4:I^^]2)04*OF*8*=-$6//GJ)1XY> M>( ZITS>Y+0MK_C[Q$73Z'J#T#=EYF#+47FM 7(//%5&=;KJKXC]K$'(P:=I M-#NN"8^KLFOGRM^R,9K7^O-$$,M1Q2#5:!9E9DQBH%D5X(VH^SV$#G)$'6R: M6M)#7R*(\7FX+M9@W UFFX=/;DR4AU/>D6VBYI<''$9<-?.8F'!A*-&) $OQ M[BD\]]EC83$TU8(:>17A%7GOI0>&E3R3(R9,@ M)XNNM&CQDF6A?T?*>DMSY #8I:@*>KJVB(&N4^2AX[A\AG7:>L &;CN]BJ5# M.LPV/]92Q,*&%BG:+LP5:RJV^:%HN" GK,MKSP,G62&9QA+3*"FH((L3IM24 MGF .^M#@G(6'3+M,TK=>&!H=J=F&1WG3!2'2L<0V,2FGC0.5;"F:TT&.3+:U M70 Z_4S9XQ.7=K)VL<"U1T_G%7G=V\G([J3M&M0+3)ZNQN6!V=IN M0=V2.'&X!#55NVUIVI?&*P%5[5*V%X%7 *=VUDH]L=3AJGA>NU2K98F6S@)1 M1\.AF#+RN0(R2?GLL3]D(@\=AL>#9I6-#E7S^=_T"9+^5):)K%UF,Z]+QVN8]83N;OT4/\H7:JK&V*WZ"/]B&2IBL?QU1S( M(>33"N>W.DGPON&S2I0YWR>;PT:R((Y?LY12'@=,E'E?'.X0"0$;+"$N!VN+ M@'&0%?\*95W>X&\'6=&DL)_&XI,Q0PY!TQKYI""7=4Z(@6YBA!L[O H^X M^6B?"_():B*S&L;30U@@GI*FTG3R.!W9=?JNW33<=G9]"[S%.OWMN6@$ZXE& MRT06UZMY=! PB3LCO ^I;("J5V\O?CNP[,5\:[RU+W+?[V4"S3:XOB-B/.@G M_Z1;WG?WF[-__VES=7YQ>__]5IB;:$"W%$&FN6HU%L?$HB=9Z@F(TK#"3[D3<$1B@G4ZB5PQQ%LR2_ MF.2<'6V/8[:/:AZ'4Z\X3;],TX/V+LU1$^3XT*10;;Y4_H[8LQO%'#HL)3&^ M.!;D)G'%/4U8'%Q$K66(K"KUWN,=?3IY1HS4C( M!X%XO-(+;SP67$9GWI[Q!8Y .*D\_"\(W_;RZTB2R"'(AL%4R!I##S'$65%K MJ(T\_B+SH<,NV+''!ZF:"^>6#0$3&$])-_\'A7 (!(/D0R M6A'!"C87/\L&SHYFYS%%B7[Q-@],RC-5Y'@@X[.!@'#:>9F(H#&" 20<]5P> M)N@4F (4BO466E2P;0QC6"!O[EPO9]J LBBL0D7^-8U2D4(R '&UA):)&P;& M,0TKFJDL#T],E)DLX"C^QE'DMR&.DS91AC?CO6V@?$)5YF6/Q M(4ZVE&6'9*+ 9R@.36NYO%+(MBP=(DS)I"D]CD1D[R7"/K\=^ \T"5_$K8I" M OA+%$=O"^PB.PIW*P7)[(F2][&7!/"/:4%^;%2) >=Q;)RWS89G<<0-#2]/ M;;;RYXP]A/2.^KQEQ@;M6)G07.8\T,]DIJ%H)\'ES0T]]9IP1ZP2 CQ6$8-4 MW=\?MTK>AO&=?, MB2X3V'H:S3C6?870UE>Q*2/@!8+;7.:S@VXX CBC4U80\N$XW+VEOQU8RC)N MV>29^51^@UOJQX^1H"+FFC&'N^/8(D?+N0S?.\MB!$_$B#N;ZH.S-6XNS^K[ M#C?>"\A+UDG"25)YJ[A,OP0<@5P'HDCB"H_1&U< -%$/L'&+1- M6]'FL@\=D[=TSX66V5E/E#R+0P^Q]94_851Q+4(*+R4!W;*(BNPMZ)4G6M]P M&5;\%UY&GKQG2CS?3WAP]/4D@- $L].;2VL6N1J?=Q-V1G7IL;KYMR5O-9&G MXU4S'];6R>X"=RHX+=NZZ\J;>+7LMU+V/A)_,OR4?C YNR0(-'HYC M4^@CB^*$QY5%S8WBIM\'[A;G+)5WZWG,G.J*=/PD+P)J3&N1/'+DL&U(%5]L MT4:,0M95'.JIFH(ZXI7A?#N&BT1J,K44XB&Y7*ZP#8U=569Y;HAJ+[[H:3QG MF \)R^>*E2>,X:%AC6%;FB-'JBY%5>31M46,))TBCUVGBQ,S]55RH.[*OZ?7 MMGQ?&T5%'=#M0QA_3LT+Z31U0>ZB)@IKRN:YIX&;Q[YF?< V%*/./3)(L._'?Y M'_ELW3'ZK1%'[B=VC:AZE!W*B'W/LH*#PVV:B?F3%(*0AQ?R!F0A+/J*E.*0 M2AZ1L))+1"J1G%>O1V)18WE M^]C0CATH.!$KY)@XI8&U&2:6^"#&RTG5M53WHQ1+7%VI50R%/_?$6>> N@23 M)Z7)(0DPKTG*?P__\L'>>\7>35!,WN39@W2[I;[XR?-EI@Q,"U\YA.IS2%OP MF9B?^,\AS@]\$=IP3];1G=@)+PPW M9(\2^@5^=OAZP(\>BR#BV41W7D@W6Q[S\&@B>X%\P SRTO80DVBL9=P9N=?V M,X+JQ68]$7MU3P6&.@"P*98,?-B?LW0?RU 4(M."JM9FZ_5W0LY&ABJK<) M1Q?$_F\J^= Q7M$GQQA0<7'EYS,J_^;1@PV1D/, Y5F1Q\$7[I2DG[V]XY=! M(4O#2Y\N9#RBL5=S2^3NW*+>R8.:]6:(W;9-VJ&C53YEF1,E%\V1Z3QA^'3J M0>T8H1_+Z,YA6M#IHPOE[F)^W:WC%*(7 >0NVM\8[2^5Z'HC=N@!2EA^?Z/: MJ\\9.M^HG]$F9T]P038%.WAI2C-9*BEDW@,+71]MGIKAEOJ4!RD/H38([^JS M.$!H4+D= Y0.BW+[)KDM>[K"PE7D/:W>:]^/#W"2EI1$,;DOY&D :OW,LJ>S M0YK%.YJL 76,C=5&87&NW6F.=D?7=E^4VW=K81D$"H:BK@PI6*Z(8(H'%J:S M2VD .>%C @CY@KQXIST3RII/\XU=%P<)>@-T!/XG_18% BWBVP[VQ6(X9R5] M'E$L,($=I,)^KC!2EX<=C^%>W]![F8ZO,X.![Q]W79[[:S68! $J;CA!P+HU MI-IA'#V^S6BR0X@$Q>+EQGN!A8NQO4[[+<[[-:JW^_U1IT5YO$YVR[Y>KH=S M/EBV\VRK7^JY;]83VZ+_*M]??!FU'%*I+,[ECH46!%^9%.#0F[$4 .5;T-\:P$CB(<6* $NY+V4P#'G'FA6W@,;.I MC*HCH .2R^B9IE/5Y^I/?)D --"(!N#4D_+R@&NH@A.!6BG.3XU=\8*D:9]T:,0P.4&.H9 M!2NHGY0S*V^E' MCA;]S5&#"_/NF/%B@!:#?2/G)2?2N[PZPYR081I[N+,*UIH5)Q#Z_I"RB*8I M37F@)@M"YW\)3%&XG01V]!A@D-9HHZ4_9OP8HH;-B*/BMQ)E-.%); C9"Z9H M8HXI#2,TWGM,/F*M%J0L7[L6^S?>)$8QW;&:U235GA4WRQ+VI48O@_%C9G]C M#-M#0HR7 Y1POQ>$:H-[*E,)L#A(ZS3N\J #D0\L\B)_HLWM_L27"3X#C6@ M3#TI+P^TABHX$:"5XBQW&S&1[ZK@] MINMB=>VM4?NM9VJJEZK;8S8:[ME'CJ0*\HP M9B?U6O--F^G4+;>NX@BARZIX=9FF!QX$4&Z!.'J\I\GNG#Z8S+C:CLB=V%QY MW1SA)E,;EH,TXICT?WPK=Z/^1.:ZQZ]ZRL=$+L MQN:RVY^3U1?2,HV MY4LT-,?LTP92CU]2;L6,7#FTH.\Z\6$*E86:I>?Z36K.[Z\?XH3'#GG>I]'D M;-)Q(=[;K7R3$^M[+<"7#80?[=*0QE,QF7:&[N_:$UJ@KC2ZB9G!<5T4I.9. MKNVT$ =O5UHS0S?T6(!C=PAN8Y[>) &+O.2%E)Q6J#Q[(A.41!UGXZF+# 7, MQ-7XAK-W@Z6*&17LOC[,++J%MP$)S&@P4!,[R](W:@CP55ZSHBFSQ?TJ?0[C M",)+2+S3V*L7 >0HT=\8PY+D$&/# "7<)[NARMZ=RE0GY2G>' I3-26UN8.4 MB^V6^MEF>_'%%V^CW?+0;!.!J>#_X5K9LQ<"K-[2-$N8SP,W<2\B"NJ_4%IJ MOL TG)"#U(3F5=%L C:(86]*;8M:6%K\;ZRG[_NR&WN%P85/U"]%>=#VE$VNZ$)BX/3 FU^ M>. K^$?UZTCK:#[G[$(@QVSBM3!322]L.\DHG%I.O;ZYH4IOM$K1VWK(/Q:,14+1$X"_,U8A7Q,D+Y[WD G#U1(E69T$IWF9=D"[73 WUD400S:*NUYH/[N\-^'U+Q M($@(DG\(X\^7T39.=F)[K.-VM'EOY!#>TPPJ6!MV10S+?348ZADJ'PFKP(DH MK)S?/)[-%)]N;JXN/EY"ZY;7HL_;H7_$2#I MD9N&A(1Y/-&V2F>>6@2*Y=2=O@42[^B]]X6F79[5T!"]<^F4.WJ]XZ@5:A?3 M"COB)0Y.D@B:3CW-NF;'SB;TS(!#67&-N](!4IX2ZE/V?%IT;<:+?NSQ*=ML M/^5/D6T>,H]%OOU4/ 1("OZPYUANW8)K'K\;..WSJP:/@KDTG" 7%&\%QHK-J&JSB'X^ M?H[29?4S[K$<;:NZ;U%09I%<9G376>"L1W_DR-3;%+4,+-/.B%&GOPZ#CS$D M)Z5,(NQX56E7@MO4JWD#.)G/(FTK^NO-M5C47U[_Y>+N_O+Z1[*^/B&R21R]B?Q>;F6=Q ME,8A"^3.9A3<<)O3_&'PS3:'22^\X[\1.Z)=D80MVLAQPJH)52"Q0A@QTMC5 M;W#DXF6'1%R?+.JK.XS=A2R;;96-K@MCFAHB]Q.].M_;]^ "701YO. KYC';-;:T=D#MBM[*J0^I; M(W9, Z$'EY3U4I;*EYBJ*7SHQ!8")P!*- M\4:21#[Z;1A,]8\Q]!![D!6UK/J86#4I I!* E*(@&"FQ&"/RO:)G'$ M?_3S^#T*SN1]F,M(;<-XG+\/.^=?.Y210Y5%\]7O%H\FBQBX;&HWO"R/3X\ MJB;((CVR*VRP1/KU^F1K&&&#[NOT2GNS(Q="[Y,BO,@%@2/>6L-"%@3Q!0I+ MX@6X#QY+_N*%!WK.4C^,TT/2&4MT=$$.2"8*JT#3UAXQ@!B)/70X W$BJ)./ MU /:"$=QU_S;U6>!X[AUQFSML+"1; ^9E:<$?TN?:72@4*H2ZN(!GOW,LJ>S0YK% M.YITS%WFO9'[?4\SU-]",NJ*V//[:C!\^T#P03O8NR:Y'MV7/=Q;)SK3OLL= M\#8WS 0C6;6X8$4^7!G(P&&02%1%Z$4 ,"\/T&.H*!3=Q E'QDU?U'$:$1E;HFBI[ M$WD-/M(Z;?:CL'0OL3=CM+O)K"M'@XD4E7&-+1'C0(? @ZLM)31@&5DG"22#.3X(K^O8-1_J6R]JE+;.9YJFBQFG]A!6 M/%",:JZ92E-D+IFP9R]CS_0RXI!S*))'?Z+!8^VMJ1YSRQB*Z%U[M+GJ[C^8 M'&J(&*_5!.%^:+\JWM>'$7R]7E8QPP[G-[K\C&;5L1 MVZ2.SFX(Z@P;3^[M/9!#BX&ZC26(%S7YFDAMHR@QJE';-65V=%G>N&V=\MK: M+VODVH/>:NCBFH]F4GJ8O^X3M@,O?/?MG[[_5O@@_*8JE3N&83%,VG:E4)$J+F@@V\L$@$HYG>QFOM@7B98BCXX%KQ"OE_ M()(!ML%LOO#NTW^10]QP26[<>7$#?PIP;_(! LQP3'@X#.(.%,1;.%VYNR>- MD+MWLU*J#]=;('94C:"CGCYRN-][1=.4TOK#3IT5<#H[H1^.)DK7AV=;#]3# MU4CPX<,7R*^.GS/#4 =GF"SC<'N&/H),MW0?)^()PXY=1GUSY)C0I6AMKT73%K&?=XH\O+0&4!0W MEG(>B$9KCVU$HYX+&\.F6X?=W18TLB?9'9,\2,D$UU0UAPEP^?GA(:6_';@0 M%\\&;T.V-,?NT1V*UMQ8TQ:S[W:)/-AA2\)$4,8S5#LGHI;V"QNL[9..KO&" MAJO%">9HO&+8.YQ/6X<58Q(6)S>4_V]P"XE :2K>S1+O: 5_.Z1B079.4S]A M^X;LIA%DD/OR4,/4"L[TI('8\P>K,N+-DQJ7E7QU[H7\DO_7.3PX-PG:@J[R M"XTLZWI*!#EB##-*CQ*O1Q00H\5 1<:6>^4.$C_*U'9\<.'()DEE$Y>',!&\ M8"7?LKYEZ:^R0 /\I-U\;NN!' D,U*V?I6B;(_9Q$ZF'GP4HM F07)&\IH?\ M!S;GGM081<5J7V7B<$'O/]'@$-+-MGQD2-:]7$=JC;#\8:!@$W%8/B0)BQ[% M>[GWL(76N0E@F0=RP)C$I+7-!IL,$(/2-'H.7N;GTL 3T=636:NBABZ<(1>1CTS_(D1S#W1X#;QED1?YS N)5YDW5,S[^8GY3P3N]"3TMP,# M0V:!D5]C=R\@6/M,SJ(4!8(LG<=0W:]Z_*/\2]NS\5,9D%@.3_0S3C(1F M-!8!=CU5L>%N!4NB\ER1AQ?U%SELG6#5_*^K*4)=\5]<9G27:LS:T06YCY@H MW/1^6E-[Q&/?2.S1;Z75AC+0)X*!LS+WDVJ-XV&T"M3RW9R_T^ R@,O,6T:# M/-;PY?Q=CSGXWPX[&O1<7]CB@AP6)C)K\\QJA05B\)E*4QOS\@(&SIXH8;DHLDYYOMQ0;:NN.SPI$:H8Z":)/\3) MSKN,MO ?$2(:/C5K3@4Y) XT2T?PU$8",:0-U<1FB+4BG"41/(G"% THS6TC M%=;WW#*"!>&J'<)AN8>:ZD6-CX\"J+6&4CV[(@6#(08HJQ09]L->G:BO&H.K M$GD/A]!+U))$?&3[Q?.<^3SZX''R/I7[=_X3%'!/"8NT[68N4#27L9I?+&AAV&:$5$3=\EHF*7*A,AH[J:Z(3' MIL8(,'(JT^EPLN2'%RNG,DDC7H8H7M!BJ??XF-!'X76PN!=)2D9;=J9]D4+K M(!/47EDPZ8AXA=E/_N%%"U4N3KWY". M;Z]XS3;Q'"K]/,O9W M"55[<H,@&\#:P\ MX6>.#BT=%X,*7/;[D?[HAX#%M]6A,?",QBD;"T M2 6$:<*\J;=UO-1P4'QL&>>_965%U!Z1@]]*"T(,'J:1X<@AF06 BE]M;'A M4 !R@L$CM$9W$4 MP )'E A-XY %8BGT7IYUDKLGBF2=T_@0\H\>BZ[B-+V,[C(N-_Q.;,O)NVLW M-!%97ER1(8 VEL\"X0/"?(4:0-U: M3X57!4N9$N9"FD0[D);2"EB6#]RZ3!G(7Z$[S]\I-$P6Z.J%'.H,U:XG"+1V M00Q#II(/3PHH7C(L&*#!D*E5K^4">>E3RP.@&$*FXWLMYW M^_I20XX)(\W4'.3T(H480\9J9,/!3M](78GR';[85LGYHX$>#!;CL<7^D)6Y M6@^EL8+<6*O-=WVA0Q3'1)/.HAL!4!RF@< M?"I=E;,C\-\X*M8*(3 LSI\M7LUH>L2MQ]6,?MV1>N=00Y17,WKTQ7XU8X@J M@Z]F\(5RUG@](RY?.Y3C7CD_G?F^Q9SVD+R.GWK$=MUB3HLH<-@R)#"LKHZ? M25%N+;]_R?]HOKKJ2PTIL%HR4_/JJA(O*8T4+UQ"$ MR6K%Y0]85#TF<9I"*8$MR\!>J63L#IJN#[L'FL =F.)MI>)I)8U%6SL@!YAN M954,T;=&#!,&0@\=TY*TO-#5^1#7/.X]B[9)I6WJ_-FQDS+7;?5'M8V1^VF[ MDJV%V[%7#.T0V%ZY=O>%/T]4O>HH^]G:86E#]D39UF%[M8""GP9"VQR^5Q,7 M^^S_HH!%?:T]** OI5*7O9@I[^-]P?S8#7MU1.J._957"Z=T]\*^+]=/B>$O MV^RY]&+/&;)8HC)4RN(]\0LVY/-33+BNS/?"\(4\T@BV9FBY'F)P4^K+4IE[FH 2< =5T,R\L.B4BCM5P!3*/V8O,ELZCE*69I),P+9;FL : ME*^U#GNQ15Y*!"P]_XF\4"^9OR++#%^FZ=F6*I+EK,KZ+#-'[#/:X+IY.,Z! MKF=>2*/ 2_[*QU=Z&?T,[QVHNOV8^\!=,=9ORJ%>EJ'H93A+#!>)YC:-W3T+ MV."VV-G#JO+69QT_ET[ N@!Y^=!(?39JF(EV+&*[PTX[]>23#I:9 L57:)]A M"A')7^N?HC;SD$)04DI*;FJ&SX7%-$6A,/[U;&-^RMGRHQ2AP4"E%8/W+Z4A M!R]=[/!9U-QHT;3Z*=$"D\7-A#9UMC0!%I[=$+ MB2-:!QC7,R &ZS=-?+E(%&09#?VP;UVE].,-TE]%HW"IO MHNWNRHCO3'<8ZUV0SCQ]%&[=]%;:+VG;NTELFZ!2T4>R[VU3X3I2UK:_2<)Y MS;)+,V@#?+$QH59M@TV/Q<9K>@WL;S]H-KS%_7GV<."++L_W98W%A/J4/8M< M H/M;]=AEWTC=NP>8 J%["M_?3IDW(4K?1\/Y@VNXR@Y?4M8,XO8I(\4;B?:%.:[_V+(O0'>&.;1O[+ M^@O39=R8]5R*^W6KW^A8^FY+W=ZC>.=GVW)8QV ^GM0K\Z\"4C1]EH\YI@U=,&;MT_+6?GCQ1"[!XF M;.BZ0 #0&: + 8[[+0P"M.);#O^4Z.\7R0D1"%@W0DD/@9._?RE__(G1A+O) MT\L5?>;>9A34MG=>BJ,;&4$3VK;T7(*SFRE@8[XKR:,,<--3,_0.==MH+,45 M^IBD<_+3$5B"8_32P_9TJ/Q><1MTX?$LANDV@ /DN(SVARP50/G.+"1N[+$4 M5-"KVX@!I\V7X/$M4EL8QI(ZD>2Q1+D3J/P?AQA21VX2YLM7>]>^*-#ZT4M^ MA4+A<+WD,H#+);X7%M7#WP@1R+NO$+CVB"WRJX[[E[9Y+ 4^;)K4]M'-U0(N MADZCIXV@OJC^']5?&RID(G &K3_8$8(AN(B*T+[BT0"R4V(M=]"8OP)7&.F\ M+!&V?DC% P8:LYKT0PYAQJJKL-39"3'4F,L^='B7SR-6L5'%A?Q2\'$$!7/I M[S"-UDN?.(#!?RY^.[!G2$-OU%ACH3[]D7MW;U/4LFU-.R/V]OXZ#,Y+@\+L M$ "('Q1F&B!PE)D[OSU$Q7I:,7-8^[F*>?K/]<:=D4-"/R/4"D4;]40,!CT5 M&%Q=M6*#-0B8WQ(.'Y\IW] I554?^RDKRFI,U:,[3@CAL&9#3 4- HQB2+GBBB2U@M'Y\*22EI2B;LB ME< K4A.9*#*[@>&%?(];&AQ\83$6D3VWPA/4QO=5=J@P_9;Z\6/$_DX#>1:W M97#%(M_^]OEJE!NEO@W._W;8\5^*)N8?:SRCY6&U)>-VX/)(+LO"8%O*VL7; M2BJBBE6?61C>Y%!>32O5 M9*)#0=.^R(&MEPE4K#+JB!A^^LD_=*P77'C45H0+2G2F<'*##O,80:%%LI@P M%42]/+5 !5'EL2'X.T#/).9YILE#C,% 7MU CSE35+&D+JC6%>7I20(Y3 XQ M2$=DI^V/�'J6$W&L._BAC>VA:)! T-T?LZ"92CSH4+Q:M=(8848G:;6&-G^$1?1>;($5I,K:=3Q MED3<4D!M'G*FI*N-L-W:F3Z.\)=O=&G@M]3CK\3%&Y1'!D8ERF=BJRN M=J>0?P&$V:]6+79(X($LV?*VK$@Z"S+K6?^>\+GC TR&TAJ^OQ>L[E(?&V)+ M>4EQ)4D1>?FQ]&0?8WU::]EB4?')3' &U:+YPJ(Q@V5FUDBAV,4'*&NDS\07 M>Z'UNJ3)2CD#SD07K]J!)8&7S5W&?2F? M:*99LY#:23;3HC[(6=U37N%BYR:A>X\%%QP"HI3R]AONK\EL2:-]9$$Z![LV MRWSKHS9!?H\+)B-[()\+Z-8?&>X7 O.? M0.15>>XAI)X$Y?Z?V<:#_=AZDLN ?:PH!49T D^VF;8HU^12'C>9:- M- U/I*@\J\DGV3IK8OA[VC-KU7]P>BYL6I4;9M565P@\BGVSI )E3[Q9^,JV MNB:Q[$3S6RDK$<*^CJVM23[ IG$POXXER27'G.B1E8W%ZN[^R8N*RS\S1" F M,B"=#)U^DJF6*IT"_$Z6+.9V0 ;ME>#EKI7(MUV;WJC Z/X91_Y"GI=UX+RVOIL\MP^\(NXT_R<2GRWH!?B>8;FX' M9/A>G";72@27Z::Y\*ZN 2_K"Y56VTN"PNB>[R<'6BNC@O2DX=1 1>Z4\JN9 M4L$ZA4"*\6X_RI1YO>T2_)Y.*_H9Q&*NKUJ)*3A0\IEE3RP:E-PK-7F]N;T3 M?YPYY^(R@;6E=/W4\_%"/]-9@^>\CJ58M6Y5_G;%O?N>+SK/Z<,L%4 ,9$ Z M33O]))-5"^D2X'>R%#.W S+X5S;9:C/ 5;F;!-*_AK78])](%F<+&NR%9+75 M:()ZML",RZ[>TB %=O>&F6XAUD^4W].*;*!EQB_-CK/*CE=HWI;#]G\MT!Q^ MJYFGZN,T9IOYRRDF;G&SE:@R!KLDLNTK7MZ)HT57P5G!'.F\[^8CS+J2 M$YQ_STNXN@&6,B& T*]VR6;GDQSG3+R^W3HZ4T7>WQE TSDJ\/Y>()?BW1>C MT]QNS&"/:#;\M&!?N:E5>[&EJK%K<9_KAB8L#C;;>[:C1>;R97HNW]OC7#_$ MB7CIC]Y[7VX.R3Y.FW>H!M)!"F&C35/N"@TA@GT_9Y1.8^[X[05C<7>/LRZ? MZR'LI"I64 I#MG%"F!"'9-X7>,1#"#3SOHH3F]V4]@*VY>4+L-=YW4"2-^', M2<'=P6T\)T;Z<L6>3VZE?$KI]A!>L:TN7]>P M*U*8'F( -7PTZ8L=ABRJ/ZIQ[&?]G=O!ZA,*C^2 'D,E,V_WX M^P@FB*%I.EVM/^E.A%3U!]USP2!R*D0C*!5H+^2!# M B1\)1CKP.P_)F"^?1)O688);^^>O(2^YR(&W&106U,8:)TD7$T*&TOO7ZHF M-]X+_&K]V4N""Q M&QQ&;?Z"![?J'HA+&XI\OF>:>(_<<-2GNP>:D)TTK&SF9>3S$_.?2 JBI^43 MTP%\J[V79,QG>P\NFK*(7-W?BGJ@Y(V7$@]VPWVN(\J-Q^J ++WA6FRV#;/H M?4L= 3N4D>.V1?.9[6H:DT6,PC:UFV1/5#WFAEOUB=S MX$+2%J-><;$O,[K356CJ20*Y2PXQB.I[??HC=K)!:@ROI9"[2X=;_0(LB>#I MZ"UF-V9AE26PE!A2%K0-:V'#I^F-B2#'C&%&:=K,,J. &#<&*C)ZXTGAI]EX M0O..^TRF 2,(JH1K\RO# MO.5[\3IQ"7CM92[LL4#J_U,:]*0@A27ZV"/"J=0==6&A7(7E<9XX%O)+_L5U M=RY \7YW%4'25$2.677QP4NA< 3\HHP)?64[&<+,ZI\I>?+@57 :P6_W(.92\5';?UF!89[P$T6NZ999;0!\_IQ?Z03TV!3F(:GM,3GS77,H7C^@#Y&YNMR#))-X^8@#Q2U)C*D&VA[%#:"PQC M1ZLZU!/?.H\(G:G>A'3^C,6IJM2(OC,+_C06"> M_A97+/^,"^/?>RGS)[)N0?N5HWO-A#:A71#^'>!Z74\[^Q)1"5L/0)U\/G;0 M4\\4*S;O][(GX>8CV9U^A$S+G'DLF5.,;:C5((?SH)QI:Y/+.0L/_++>G?V*=?O01R&7J+ B$X^U9$7H]D')DG(&@ MDE-Y';!RK,RPGM+=QX#Q;G>8C.%N][F(62/LNY0 M7K'VGNT@?VM[QW^;;GGD=EPAX,C.UH@CAR&[1E2AR0YEQ'!E6<&1F>Q0E#$7 MA"B2D$J4%2F$(5(:<1JBR..^WL)HDUYU5&.PRN"UN_:),:VZ=TG]-;OXJ9(8 MW/S*=:$(?'952ML+=L@Q<(Q=7PER#0:EI>/-?%""&!PL&*'0?:_H'I<,'-ZS M@/LFL+G\,\N>S@YI%N]HTF@$B8@,JNS<)/29Q8=4/A&BL:P5PLBQPY[Q5& 9 M3Q4QZEA4;J@W%B*0SUP&4@BQTN 2*06!LH^%*$3*X@:T$-BPB&22ZI$Y<0E/ M@V\D58VX+XPHTSULWB!I,DWQ*-S+QSA@6^8+D3;;HFG3Z=PP,DC1:JQARO/X M 32PG\>/46E,-I97OF7O%VBT4[A!B5D_/ 327R!1JEPRE.V?O? P]XOT+LRE M@^N2[XJHG,&F11<'F4\N++2>:C"Y#4-%$<>SPTZ4:GJF9U[F/WW:K\NB3/=Q M/@L9X?JTG)!"_PSF[8I<1[)96"AK2UO;8)F_$%=)1H1H;P][4@D'MWK+]3H. M3,5LZPIV#Y&WAR(**J+6$5B)DSWX5_ZD540\XE??Q"^^"=S_<;@I,'K+5*XR MWDVU(UN11XZ[M@UI]5 DIXT88:VKZ/Y 9)7O')!WB#<\EV52B]L' ZQ3U1QM M6@Z,)8@4W^P9J]Q<&$4-^S:#'>7LE,4M@@_YK+82F/!H1+=]5Z]]-O.F@UOC M%3N=73!U@E*5# ZV(7 -N/;3K^.7WI4AR:)\R+F+A3]%#RP,:7!+?(6/]S39%8O\=)/<)/%CXK5DZ1EV1NZZ_8Q07TB:]$3LTCT5&!X) M*%X-C-YR]]N5&V/B%=V"F:O%W4R&R#B P,R=E S=>?]EQ.&'TW[Y$"?]W=^\ M-W+_[VD&%0 ,NR)&@+X:#*^;F_,1*Z(.#%@1\2JT&RB8RR+E@QEISP:NX7B@*50?10@I#HPW3KD5 M,X@*]BV8<4J-/R-B.7_R)L@E^ J6MW[MP,[/Q9"/"Y*(_[\O)9EYS\6-M2Y+ M&YVK-FH^U)1GFJ(DLY,E%@H[-8^EX4]3#DFK.Z=;RO4*\CVG%L@=1@8SX(XP MC%E:73,-[& [1J7Q4*ML+>8O''B^GQQH()]VJYX[X/_'Q8Q2+@]YC., HK>4 M)L_P&GP65V@,P9Y\&IZ/AY0%^<,,Y,E+95TSN0ZB@@!+E671BO@A]T8F4E]Y M:S=H[N)S&*3M%9RKI!-W0.["1*7^(W;0A@#V6GH#/!!P4_C"4-1NI[58Z#8P MD1E^MQ!:-(B;Z#48R9O1&HI'QA$]P7B.U/^%XE-^#TW\7?(FQ0<#[J1DCQ7- MYQ^ZLV]_E+J.WO]HH(09U,>9I^<.R#$9[( ^4JN9]T!2$I8 @WD3Q+J]^NV" M5"B,?1=D.D.I8Z@8-,SEZW6MZI>Y.46:BV8+OS<1I, \SBA=]TOT%!"?5PU4 M9,*U>)7F5G#%<]%C0LLTW&-6+\N=H,H+%*ZO%:UWG9]VSE+O\3&AC_GUEERC MMGIS'5V0PXB)PBIHM+5'#!%&8@\OLZ@2AV%<.(+SLFP:O:\ZBJT9=%OFN#Y1 MW&!L7RV@W)FQZ!.,\2O7-_.L>_\)QH<0KK9_AC'P6<6AFUSE+XUV0CU*M:NKX/&F$>&3J91TZ M)JMQZ'RZF$XY]\XEBHLG-#@_)/(2DKZD7$>7A;A+O+?4+,PS M((#OWST_A8G9Y!? ML/["="%F/PK('66 .51/Z=$=L:L,T6*HKW3XQ\,+$0R)X$A^ 9XXO:6RR[6W MH^5Z39M9##VGB<0RO:=5DW$>1'0>I+H/<"6_2+Z.UHMNK*/# MEY6Y>>8#F?O$"RC(DGZD\ *QQI(-S9##A$XQ%0>.VR!V=*VH@ZOO D$Q"OE, M)VDZ\M)I5(N H,/,E_S,_I:&LG;0$]NWNUA[#^3>9J!N+8%%WQRQ#YI(/3@U MIT]/U/!Y M="_Q)]HBKCHLTSOKHL^U>:, MPR)%D^LNJ) S+TE>X,A4WD1"Z=-K/W\'@ 9W,0H>7Z?8=Q#)% M0V69V-"ES%1HH? E*F.[ /*#M$T$^:LT& @A4YG(U 3SX8HJQ69[; >-Y3H[ M(<<+,Z55;&CO@1@'# 4?<4&W) _I%"=N[R8ZF%-K*$$>I51>4E["&N##(3LD M5-7A0JJP?DC;GC\;21(Y)M@PF&$TT4D/,9Y846NJ".,:'BJK.62OU$O(1X\+"A'0 MD8F&PT].Z-6@SK$^\X*-6!9R]DN &%N6XB[__:*0A;/7W04<3NWUH8MJII'X M J1>%\+4-'*!,2# 8E#&BK4X /QQ23CS@9O>F@ES8J\.950CC0,9H/2J,*:F MD .( ?Y+01@KMN*>_X\6RV3KM2@>/5:5N8R$'KSU.@K66VZCXM]'1K)-&RFD M3&+"LKBV+<+8RVU;UW-\ >[:Z1"<"HFCH!6A7Z#F*>RE;EGD13[SPOP),B\* MQ*,*LNI*Z/F_BH>\GUY2!AO1Z>$AS<1[WJ*T[%9>DPW9EK:_Z@W%2[9L*[J( M'>T70+UM'(;Q9V"0%_RN_15$X?T2ZH%UON:(*0JUIG"T1;G!10,OB@Z\@RR, MDI+/3S0J_U[\TDM G#TW!9R;\1%?LN.Z9"+-'XQ5F6(?ITR8+.!_)F_XYP]! M2&^_3V+/?_IJYKKD: 96ZP2W(H4T]8F.?WTYQ?%>XI,)F:K?.:A?CL:@]^7P MGO@MH+7O R:D-]X+U$8Y/]#[^.[P4-0[CI/C$XEQE##/<^/,T_H*4#<9['/8 M2*U&SEC!0;S@D]:("\Q(:.:QB$,+CT+%O%56ZH8;6R$52 ,-JQRL*PQ?L"8Y[Q4YEY^BSA_)RSXS&*IZ\MS; M2&_5:RG!79T0[VJ8RS[V-2N%1?E& MH_.\N_G41_&DS 6?UN(72D5-@B:U-68RZ8?:,[A M;2)9-+JX&[^>7GD>)\ 2/@\DI?XTYTH>:$2WS&5Z[&8O7J:,'J_@<:N.I_R, M.R'W<3.E50=O[X'8NPT%'SJZ2_)$T*^]\N34L2?6VV"VMJ+G,TT>8J>:%A%8 M7'[I4#R#5SY2Y7S]<1FEAP36VNV@I6^-'*TZU&Q881PW18Q/71*/=="2L&,\ MFDK/,R\]>&'V0EA!F4<9\""UR^7#O?>%%ALD[4[9W!*Y0[:H5RM\>=H,L2.V M23OXA %H5MMZ3AUP"OW.XF0?)W!,QZ P&"694!A"_1@.#^6_'0;W((1VZT(7 M3W1U0NZ=9DK7@OO6'HA]UE#PP<&]&,-M^W*.8OL9U';X)B5]R'B8D"7BL*SU M:=7&ELC=LT6]VF.3I\T0.V*;M#;>'+F*H\>WW"]V!#B1BA6"]T;JNE]U/9VJ M;;VH<7NBIG[L7BV@ZF.7Q$/'\-%H15#9<2I-SQ(:L(QX"5^#/;HNWEI7LJA( M)_,.X/H9%Y* LW#GH)^B M/#F6!D+7-#W UDV>YZZQ2F!#A[!"/@\(@T&AD<8%K5:?WXF B<(ON$13[;P^42QY68KV@&(<]F M*Q<)FT,&UUB"KI##I\@$[)\\'R1"]'RJ&YC0^3^JU>N]L[822O$/MHB[,BMGX*F M\R=MZRJVOENK:;JH8:E_@;:IW6*&IJ774D\&I].W8IVJ..968TUNN YTD[!G M'F6^]Z)?X?\WVY]IFJVCX/+]Q>WE^OWZ^M^+Y 61XU/W%DEC-1C[1NON@)I M@RKZ&Y%6E1Q^'VT/.67R(MHV3G;R;O6>)EE>%#6+Q27[/# KWZ^3-_URD0G( MNQ+_"T$N0]N2"W_+]K M_M.:7).:&1T]FHC/IN6CC9/.#&=>Y 7,BT"[/L#?V&]9N*Y7O06V3SLM#Y5; M=)@4='/ W19@(?#6(X4XY('+XQQ%)S!.(TB66@N 1 5Z4YB@T/;(%C:Q+6=1 MU^>,/?@MN-;=!S6F&:I.5M_0Y#I_YE%:?,AMC8-,^R'W42&7555L[(/98,[F'K^%SZB=1H)L MT+'6KC-PBN2$5L_5-$7NL&T*GF;7U-LA=L]6<<=EDL .>CX^W3KC)#J>Q;L= M340]X? X<<:=&_[%2QC<5KOULK;55T,SY.ZG4TQUO>,VB-U.*^K0X5@0)$#1 M^3)+5:]UB=78<$%#4;^T.FVUD.%H::EQ-""=KJ:+ !4BE$XSPS1=XN*H6?^71B=LL=W].NXT?.E BN.:2X M.\"8W3@?3H:4VYO=/U/V^ 3/1#QSL1[I93Y^06/-#-/="RFP]E3[^(IW2Q?$ MX8ZIY&.PL'=W?N>4O-29R_7N8[];[R4>)!AXW-@QWA M/G@^[5&ZH=9\ 6[=IJB^9$/5%KDCMXIL:;I>P0XK=7K]:S)5;_#7O^E^Q%M]77CP1R[QUBD-I>=(_^B+U\D!J#]ZZA M?E)U_;/@MR(Y1U*R) 5/1[O:.%EY"=0 OM& M/@:4!'S]^X%ZV2$YCK_[]$/J[+U5+[(:W#*4,$*&*1EXA"=E*46;>IIC%.B43G M86/ 4GDK-:D9(9 MA@709(;XCX.7<%G"%Z6\S5XRL7ZIK;PN=\\;IT]Q&-Q2KB#S8;:\D;LDWB./ M\LY9NH]3+]QL144A^7Y[$V!:HHL4#JR;[NC2W#BBV$,MJSI:N'0'$VQ6" %O M:A12%!N$L'_(5V)!+H@X.1(%M<1;YJF3:W>.S7=\SW9%2CF((@BI)($LK$(6 M^%F6))/B.+NYY]B*-[7Q=7RG?J49E4?#S^)LH&[!WWWV]J5Y:J;@\Y]2].DR M^OF)^4]%UXLO_A/410Z:C&Z9/N;980I3EK.$3>+89XM)=+4T:QS-#Q"Z*J7* MX GGSR"':%L_@/KLI81NMY1[]#/E,1XM1)QW+D%EW-JQ) %QU/GE:"8!6RM" M\24#$6)5AYL7DYJT?7;!:5A __#^P+/)=FD-O0U@/I9-!# MW?IV@;8YZCV";JF';PP4M%=$4,>1QC"'PF0K],6:PE"(^=Y+67K')T@OV$1J MME:G\=IZ+L:O.]5O]F]MMT7X>;?T-OQ=<"&2#>$KH%K2HJMBUG,8H82XG9<\ ML@C+[K]6X7=&>Z:MW='[>S]#Z,\ ]'U1>WY/%:R= \R/ 3U/ B8TAM0]+74O M,]HM10)&5S]N$IJ?/^1OJS8M?+J[(/7O/@IK[G&^M6(JOJ7=DCSS(=Z2 M?/2"GSEM5=1/<)E.-#A2(Q,L7Q:L950W;H+=W)PJ9C MLJE;B2S(3P$%?OH8AU,"AYHLZKGM RZV>/A6)1,6EN=3W2*-(I M+Z,R<:KQ E3/KDC=?X@!-&L-;;]EK3FZU;"0:LW=O4RH91'QM._&Y2,?GIP\ M)*+NMCSC97'@=!4RG95.5B-EYO5E5.59.KEO-JL="LJB=I*H2QC&GM/MUF)O MN=(^74?!3S1XA(?6(&V 98RFYRSUPS@]<-/?-^S)V*"'%$RMF:KY6*8G,<01 MUGB=+)Q@*JS%,S YF&RL M,Y8$7YE#GNKEP"G%XDE(X:A^%D;+65P;71^@BLUFJU#_E-+@0YS<)QYLXS2% M2":=D")'/Z7+E5!G#^QK(',%+)V\1(*A7 A5+B^J96WCA&22Z\QKG.FM(#E MNJB*=,"$<"XD9^-@63.;ZG%=]>,OCB&^NF+>@]C;NH[!7S0;0'WZ(46[WJHW MQT*:3HN(=[IDMS SERQ6I&#BN%S.U,IWJ.G2IWDD9FP6V79QOJNHV.ZOO.&B M?%25UZ9?8G%#&_J52I&*_J %@6T'_-%CT56^P)YIV=QE+'HP./\S9[* M5Y9UTW$O LBAH+\Q5$PP[XT8' 8H,=1#2E9$\B*4OA8_'I47 J+W"Z MF?^=6"3CII"EQD5)+\X7&T34O]$ZRPM@WV5>=N""O-0:]S)M7\J+!)5!YNM& MFUYD%P=#P[2;'I^\K"Q_7\IRW DEBLUKT$]?WWU=OKV0EH:2^%9!WF274DIM M9.6MS5;J23?;*[9C?8:+&"DJXKDU[ 2KO@+%0? 6RD@^9LJ MXROPE]=<^J=3-:'52D:1_#Y/*D::V)I6\^/KO==G2)(&:D1^8[X&AY!78]);[5/*LN3_?V0?S!&"JLG*KI;T#=K V MEM_Z'7IY51ZX0SK3Y=E:K+WS6]9\[1V&XB;+(0KR&O)G<1)'WC-+#BE9LP"N MO(6,;H4K7/ /&^^83^ZHS[TA>X$P] MES7(<6K-P2MZ%.0;WP*8DSE2*'#S$=3%\SR'#@ M$AX"4194M"C>O,XKQ 7(K&!,0.BL"">(HMYE_K+^0;*Y(2*2J1/FO M+\OOH4A,SH^^AVA,A-1%>$M4N=WL%2SDFYP/=09W(;2Y<0UG;:N$D<[(]HVG M1O+CJ2(.^RTJ-SUREOY\4?JS:/GV 0D^(K)J _8E^;LSW%1I%ON_\BF&#;OS M:BF-S4N@_%%Z4\T#S%]'P;D,=SHV$,Q[(T>MGF:HI9R9=46,/WTU&)PZEO.! M;T*Q+;,O8W_O>(.&QWQQPE*;6QAW #_P M%A8'THO?#BQ[N=+4VS!HCM2]314M%_8M;1$ZL+'(0T>H2IM(X@ZK5LRJ[C\0 M*JB[FYKSJ 5D*NZWRQ#FQDO^XH4'. 3>9$\T48IS=,S7(TDB]7*;!E-G]C'T M$**%5;6&NEBQN #N*U)559 2K. H@@@A1$P@Q*C7S'%\1H'&>.YP2;"7NTKG MHJRCS%>19KC8[V)#*>&'(U&FDD%HH&D$&/06(U& MS?#%MJ_DG&>-K4H(*MA+/R.% $1(X 9UG)E+[@'!6[H2>N2>1;YS6Z7"A''T M^%:4^601W$^!/8]]Z++@I\9B J*U!NMG_4Y:RP0H,Q,9P%,[H>6!DZ$^4T"3 M8-V.3*B :6)3Y54$$NI3CC3BQ+9X[U=4XTJ;84OBE2?0BEA"J]9451KPB&U/ MHU1>)*RVEM57:]?/-.$_?/227VEVQD-&L&+"?"I*F%U&YQ1$%47JBXA3"4+O MG[SL+#Z$P7M:F#AX_\*#T8Q!/6=-!@DN\9#B)$)+U3>K$,F&/4\%HZDL9++4 MWTOWI.3PMB47G?A2=JC*SX67M0H95%DIY5?J6-: ,N-*\-]P+<334H4>Y.&% M[!5-G.0SOXYO6&80J\JHAZ;J\^S\\^0*$:D1R54B-_5/JZBE;*VHNP;RTYX5 MG_9&_;2J@LZRME_'Y[UQZI?N5EWK4!"G076NKG[.BR_PHZ[NB7%GI/'",".H M"RFSGHA73CT5&!S_%VQJJ2^C_"MBMVP0^L3CRVT8?R;P.8ZO/_C>GD':)_]^,ND(9I,L%LU@"]2\)?Q@4EO.K?- *C^5 M/8O3K+@Y9[(:;.^.'$;Z&D*[>='2%S& ]%;!SK8&*5BMRL0(X%;=*T6PR3&E M-3IQ Z#5A^W,,.Q$$?)FW&F''42YHFE*:?YJ3/1XQ2U)+[ZP-*-B]W>SAVWI M^_CB"_]%H+%_7QK(L660252 Z44 ,E7CEU M5)ZV0CPL6X0='NP<30= UZ+%U'@?*VN)S^.F8%HX[(/=)< M^5KJ>&WE8<<(RMQ;*OYP=$JA( M+YZZ@;Q*>,DA\B*?>>%-G#*91,\7G2E["'DOPQEY%'GDJ&';D/K9?SAMQ AD M745KD48I"P\ZI#0K4LHC7EXI)"*%2.272B@"4IV FG,'O^8C>EH?'\AAF6X^ MQIP&GCZ$_/*0WUAW>:>KC%RMVQ7LK;5VM@2L5-V"#SXS -NB=7H MDE\$98=SR(FJ5YK:U$8=EC9D3Y1M';97B"M4]Q#:YO"]@9]X78BR_)' M22'/1V5C\;KR^S@*\L>#H*;M(4LSSHYS.E*YLS%2[S-3LKR'K&V)_>IQM^"V MGE0K+QX_ ,NB2BB,T;CB.O-EXNFT%Y171<%&4:VZHNZ@?M*$FK(\HS#>[4,J MEIMM7]@B!MW2G2T6I7R/J30;S &Z/-X"ME.4_Q?H@D3$JV1.&[@@J)10OG M>QOE5O[[0\I7A6F:2Y:NOS#]1>[V/MA=QD3E^OW*E@Z8WP%.0\AJE-9XJC-MB':)-*M2&I-L \!!OE'#GDR"^2GJ/MM$ET2K5*C5BQ M?H)W(G,&'RE4"6@*01M;(760#K7*U>5I$^PKR!:)1Q1^SO)H/R^A]RG+S_WR M1T[3JLA>*EG/O":<0.M/9 VZ52&6I.OB><@IM,M&G-QJ8.(BHLGCB[QRPZ/1 M5 \5VI:8X:)=O1(RFIMAAXT.J2UL,+%JZ0*;!@JB2-[?5,Q7Q(,[W7S-(]X* MSB$%5D3.ZG=.9!])EE1T7<+,I#HJG]=F^6&VI[P5O:/),SP\H(<<;4O,D-.N M7E5.N+$9=LCID-I>M%(P(@6GN6O_3J3HL5HNL6,N'9UO#S1M 5YUY/$8=D6* M1$,,T+#'T-H/_]:#F?AC=R0:=WH1I/[,:H2D-((2,UH]@'^FT8%6[QDU'ZB= M-D+JH.U**2?E1RVP!PAZ@<<\)5!_7BZ1/$2H 'G5Q2]F/].VK6I.<:6\N>;D M6-JV7O\#OMJ]^%0Y\;F?;)E2,8U*(\!.//5PD\1;EJU3];VY$M(%QR8=S;MB M!L:>!BCATK ?=A#MJX:E5"+Y3,M>\(4)7?X-\NI2XAUAL 3>M)S]70#P7&82 M?(AD!+:H/ZI8A8'3(5L[8,]EA[%H9SLI*!=%O,\#MPZ3R O/#FD6[[BYH(1! M'#U>P;O& 8(:3G*TS5$ZE?=RI5KSL96V%>8[4); M6$\F]%%49:9?_/ 0B(,]R$$2/&4-D;E/]*91F5.M:^7R0&\R%=_65'2W]NL9 MD9\<<1V%^B/((<4M6X925WI#:2&,*JRI-'*'O_>*[LKU8:)[BX%EY*ZC)XWR M\$(>R_"&> GU+ 8VXK1"ZM)^YJAKB!0@NI4K YO&5M@#FW:A[9U!YF.P/(*4 M_YXYI)E&V?]1[>]+K1SN]1X>4OK;@2MV\=QUP[.Y*5(W-%&PMMO:T [Q_-HJ M[N!%>TF4"*H(+E#6U>P*-UN:+VN8MH:+NK;+&:[V@I?3(>L\D)M-5P3WFB]^ M.T#MY/(M#Y-[S9H^V!W41.7&>\U-'3"[JI'<@Z\]"*)$>?W%]07G(S5;+SKK MVB(?NZTJJF.VL2'BL=HNKZTQZOA&M&,EY_-$*'<81^))U<9CCK9VR#U0JYKJ M?2>-$'N>7M8QQ2[C*'_UU\T6_SS*.7QL*0A$"7DOO/%87N6>6&KLW7U M0>YX1BK77E=JZX#8(2K MY6"3/=$$0NF$/L'3+,_T,O+C'6V?67OT1^ZNO4U1FW%-.R-VZOXZ#)Z2*DY$ ML"(U7D0RS U'T^9B889=D .!B<*J[[>U M1^SN1F*/R 93B)."NF.7GEIE\:['L<[N/+FB4''_[U4QQ"6G]Z%?KZ6Q^F M'9&Z<'_ER^1)HU[8DRG[*3$\N9*E9"=H$?Y3O<[D5H@ 1844&H^8SJL%](TOT9U3=OW=W5MD7MSJXJUM->F MAHC]MEW>P:G:0+6H+D,X7<>[M]-H6=P,&J:V/8UQQH$.-9_3= M_)+^B?;M2>R=O;#[L)G:-3]N[X+9EPTE'SRZ<_JD89@[SH6?2W-?93!O";N/ MWM_BI*JUT5Q2L;$14A]M5ZJH5G?: J$'=@@Z>MBY*)EX[>WH9EO32ELRL:TM MXM'7J6(Q"+4-D8[%;GD')T%QRF2S)8(VJ0:HLZ*)TZG:J=RHND+[>QJ5:*$_ M.M==$X3]LS',5R4@=0?\;X(7V^WG&ET M=$$*.GT45G>1VMHC7#3T$GOH^*V(DXJZ\U.-2BIQNH6; MA_)I^T4,Y1:Q+0SE@CJ&LXW9=79_L%''XW+-!O"6G:(77$3M7*[:"F1M@W M@UIEMK$5)$O7>SF#F;>!)M$N?R:CH.IR"VAR_>2%SWF/A.]9!@]B7D8!>V;! M0?NPHZX=4ASI5*TX!FYLA'#R[I9U\,D%4(5#IXJND^2$$^U^9MG3+0T%FJ9/ M;'\?7X@C,6W*0G\*2QJ]9N;0CNOV[DL9\89:C/.%39+[F$BN#G,D MYK9,S0!9IP%&!+87NWT8OU":;K:#JQ,,H($4"D:9I R6^Q+ 'D@/UL="D VY M&?J4#EI(!C-J^U7_%;FZ.ILY1I_=<"5#0%7="5)( MG]:H#>][6N* ,$:<6-&1]U-7I!2(*!*12J05*80B4BI E6N%1&2$1!MQ*I, M$VI]Y$A#DSN:/#.?KA\3*M[?,4AA->V(U /[*U]&4D:]L(=/_92P4?TIS;PH M2 EW ?+Q;EUE2?3'#55\3 ME(AEVA$[:/76PS)N^^E MC*]1;Q+F\XBQO>2(66>DN#?,"$<%' QZ(E[8]%1@1)$#F?SW&3:["T8K(EC! MFB1GYCRSM]L>7<5+3+LOWB=:RYH8]5VT7]@K_R$]XV?5,W+'V"B.X;H RLSF MZ 0*YUG$']@7&H X9>)T>]ZBOCER*.A2M):QJ&F+V-4[11Z*%M5E';8'(6I]DM9;N'0Y)"[K0!IG1WP0PMA@J7"-/1 M'CO0F(IO&6_\&&[2*'Q=P<[4^@-]HC+ 4*SJ*U^7W/4UV!.A:G?=W.YKXS LO M?CNP/$@S3J#Y N)H8D@=T(Z1E"AB M("7\\<58Q2PEAWY.6 :EH/;\\[$4*GR1O?="/!+%F?B7QT.00E9""V')5DA; M%/Y:D9V7'1+82TNX6)3 :""@!7GWCRL"J@ MJ0SY[COXU7??S1[3N+)YQ9F4 MK$G)FW#FI. .^?H5?[>Q$ )S50,.QJ/#-Q0^QDGVZ#W2Y@6>OA52G.Y02XV2 MCIH@#I%TD@Y."RKH.8Z-)M/+Y>HC"N)(%(]X\*)?-]LM36@ M2FN+M]O;CL6 M)&9]D;M>+Q/4ERT&'1&[:3_YAR]N@ LIV9".SYPP$91)0=IY M_DZ3ONW/Q+=U6.#8;7D87MMZ8>/7UF/HFA'L]@UX-/K.Y[.BJ-$U'^Z').'+ MQBOF/;"09:QCX6;0#;G_FBJN>G%7'\2^;"SZT!$NJV-5'(C"PG'0.)/N81P] MOLU@$SVL.+@LM.G'.WJ7\=@8-H0, LGV'LC]V4#=>MU-;7/$7FPB]?#*E$"; ME,3QQ)4:K5M#RZX^RQS-^@"SM#=X2%E ?.2%WB^?;.] MRV*_[1F0MO;(';%35=49M8T1.V2WS(/K'GNR;*2@Z#P 5+23SP?>)UZ4RB(J MK5&@44?LH]A8^=IP[NR%>5R;"S]J@&^* 5Z\DJGP<1PASF6"RL?M%WN\HWQX M!QR=Q#$=BQ[UJ7WZIDB]TT3!,BU/TPY[TEV7V)/76TP+ ?@PE1+,G (WE05* MNJ0@[#)S;7HMB\_G+H2XX3H D+9$ND=-D )/FT)J *#^'?%4WRCFT $'Q.1< M[CIB+=1JC4Y/&BUDR.FCSGJ+!0P[2Z&4,O"<1HVSJS4B.KR*HT>XSDWKX"'S?BKM+)6?21IFX6HF1V M_Z#1>(Z_R)]GQVWC!78X3< ES3T&^1F?(@K):4!/#_W\]'$H[8*@>-5*4+[I M_Q*00^-1G.KB]B>OBG=;&+J6X\J]0"K#(GUZC3(O.4G>4W9/RS)OO JC!--Q9P"*1=X MU!I*, ]C0B:%&[PU*B<$-2.89H%I%ZQ.8 JVMH$."D9H$/8!ERT(ELO=_FKK M):._"2HKZZ;:RI-!5.]-OG&KSM8;Y\U0Y[[#/+AY01X?;^/X N-PXV=W>.NL MT]ZV;95^R& -&^(;IRB TU'X4<2SIE2WUB-A2G#)2FF.[)6DB2 B0HBCN,MDAT7T] M[+L#0YV9W7]U,&=KT)+@]:F' L8,#\,1HZ+L"\5A0C!F)$X4+[LN3_NB%&5H M(=?@?EN5'R(2Q,L;ZZHQ@H7XSPX4\CCO3*)#Z. MNUEFV..,N8%"Z=@Q&F3*#]S&X#?N:6V$'$F"A_:IO_+K*)*@AV_QYTSO>%Z: M*84\8=K/^R&B#.GE:W%PY=#K!:682;MYBM;=,W;(+\]K'=W;.>%E>6ZL/BKN MN[0=4"9HR;CJWNV:D5T61QV[5YC@+@!QM*UU?#88\BT_B M8G>I57#S!U!+ P04 " #NC0-3#B-?9I!* #65@4 %0 '!R:6TM,C R M,3 V,S!?<')E+GAM;.U]6W/C.)+N^XDX_T%;^["S#]5E6;YV3.^&K]7>=5E: M6S6] -AY ;^+Y^&/QU]&@#?#AS7G__R*8D^6Y'MNI_^\S_^[__YZ[]\_OR_ MU\^/ R>PDR7PXX$= BL&SN"'&R\&TV"ULOS!-Q"&KN<-KD/7F8/!X/*GLY_. M+X;#GT;GP]')X//GG-*U%<&>@3](21[_--S\Z__^,_K/*WS@ #+K1^G'7SXMXGCU\Y7EU_27S=- M([>I(20[_/*_WQY?[ 586I]+#XC+$,Q^^;0* MW>5GI(&CL]$1ZO^OMSE,BG^O?.?.C]UX_>#/@G"9OOVG :+__?FAP@:B%81N M9 ?AZB<[6'Y!C;ZPT4OERJ3<+UT9?(DA3M&;W 2^ WR(9_A'%'BN@_![;7E( M9R\+ .*(AT\NLGJR.[%"V&X!8M>V/$F\[SQ#&T%L?HW&LP=H29= G "::&O) M^$VP7(5@ =NX;T"F%!H?I*5(7N+ _GT1> Z<:^_^2*#=DB.1IN?T1""2S ;7 M0[44U8T5+>Z]X(? >01#?H_LW\(7]H(H"<&3%3Z(.+BDD1%"3-P M8>M"F4Y"$$'I\J]RR(24L/0,;+3>LNT@@0LN?SX) Q_^:6?X:<<=C:821N\M M-_R;Y27@&[#0YP[\84@I8>O*AI8N>,*24L)7Y M!5/KO2T&*P34:,9]<^$BSHE0U,,*?3AC1A,0OBS@ZK6E@H@4E3#9S44BTU'" MT".<^]MBKNBKQK(%RZ4;IV,6P@/Z#6B)!GR[M14G$E2TGE@%88RFE!5N M1Q?.FNBH=$&Z\+)#0C=WI MK#&2U=4VZP9.=OB9N2A=V\=3T<5FZ\$)9_?;V^2:(X6()P"JGG(43T_NBC"'ET>JYN;GSQ4R?!\-#730"[GV4) M OL<;2,='9[+@!Q2M$,QGG:X^X9U.K)(IZL1D\>5F M48+LCU0A,#Y1]29^)]:;Z&@7UNNF7!;"FFSP=V*40$YAW!*EI =^EEF;?G/W MOD+IMU ;XQ5 1M6?I]^+FI4%/%:W)(-'N [OMGIE)JY)<+BC#X,EIPE[N3L% M53$-8LO+5LO7ZZ\@F(?6:N':5R&P!,N [YDZY&QTLX886MR,K4JAZD?X8\X- M>IRX8WHEH8'W&,Y6P-E\Z\;H24='1Y='@\^#@E#Y3\MW!AG50;O3?RFGD%0'CU&J4+J8*>9[T"[Y=/#;]_D?]&A?10Z*+AA75Z> M7)R?C(8G%Z57+ /D*JR^KA7:!6WX9PTS577D+;ZLTC,XG^V%ZVU0, N#9:.D M\J<%C&\=A'!Y\,NGX:=!$L%W"5;HK=%)'PA?B-YX_ TXIS M:\4D4U9IUS_ET%\_U\P)03,G>]%,-AG?NQYX2I:O(&Q0RFZ3_NB#Z,G:]DT1IJ:]4TE#&^?J^6,H);C/:H%19]":&A3(:9G<&]0 M1#UCX;'62N-G)M?AN29#:VJ]/SA0!N[,S6JP4$P>IGW? M],;#1JZQ"TTT=N4X4)Q1_@_T:<$0JZV&MGW3%"L+N98N]=+2#?QS'$Z#'SY- M1]N6/=40A8'"=3W22T&IS1Z'DS!X<[.J5$0M[33OJ:I8N"CTI3[64'GU21#% MEO?_W!5QC='4N*>ZHO-0:(H4==B/XX1, (I#8W13_KD_VJ"^=2%_]2$%5$?/ MFRP"'^^X[C;ICQZ8WKS0!2F(L$^K=9.$B.$L'N7Z5YIOTY1,D>#/G:;]$<;3&]>Z$)]*& :6JB8^\MZ M^1IX#8JH_-X?+=!?NU"!^LR" C%W[_8")=AC=N2:FO5'(>*^3T*D_.FO)2Z%!;2(& !U7\!Y\![S_-\#/ M_COM>J_=R+:\OP,KQ*?KX)KV1T%<'!0Z4A\0*!*- MMN]]#[]I\C\Q+?NC(1X&"@6I#PY4WSK+!V-34:EM7Y5$8Z%0D_HL@ROXTD[Z MXI[5M&:H_%[EY7PT'%UJJ@[Z:QAD_/MQ>3>&'ZZO'JZ>;N\'+KW=WTY=/$D\? M%("<6=%K2B^)/L\M:Y6A$GAQ5'RS"\_\ZW]LV!G/[ET?RL2% RS(4G\QIQ3X MNO(/L^Y,94=Z**]?;:3-Z&NC�P.=@B''T ,P!7+,YC)BHL&RD/,0@CD+94 MJ>5\B<6D[)VVVNF<07T;4TZ.PF_ >=[GVS/(!.<\8W5ABNH6^: MEAS#X("IKZ:X8%%Q'1[M.98 EXZ1G.[80=?+0!F@$HE/(&[>DR:V-0H;[!P2 M3F/URG3D!2Q^<^-%4< I%2 5# P]C8)&6WX)9\*Z&XTS-:B9A&!EN4ZI<$*\ MR*41D5'#T-,HU+3EEW!>K4_FA042YBJ?6^@.[[ M]RBK HB!!K&/&=C@9U'0,N(-A*^!/O"XS=]]4VLLDR;>;. [F $,3OXD+!.4 M8V*W5"CD_>[=]A*TRUY4&,6@@Z6K&3AIS:FH%8?BA24%"&8IFT6APL_M"YC[ MMZ[.4^#;1">@L:T9VF-GC7!\OT]C M1I2RR<3:73LXM-UK[,2P(2'ED@S8MB+Q';3#12?]$N'"PKDAVY4[Q?$IT<'& MQCH#@T63#7,).Y^&P*!I0Z40XYI_[VFWJWD0:'R%KQ24A@:6E8%EK5=,A0&/5D+4JX=8U;,P3V\-T3/"R+F@?'3>/ M*$JGJ(L1SJU9QL\$U<*$VHWCT'U-TKO=I@$RGBAB''CP5>9I'480T?;BQ#[$ M=&#N05JB$@F4;_9L2N<03R/N--,.0'O0>+/]HTI%T*Y@U>@IV=EQ'#=[]XGE M0O_AQEJY<+(N"0&WQ4/M6!''>1DR#YDB=O4FT5U2$.P 'Z4WB&/@B&/081"(./9U'K' M[U;S4/D GBBA23U0H2A^^ G+_K*SC_A=KQND%%>!V^2RG\!8M>V-D?-J$7Q3ML4Q1O\ MI?*P?__T422OG].?N@"K#O:H[<&9/8C%F+3Y39@&6HQQF$K<2>."$Q"F= "V*\E4M04NO#*=IUJM6\OTKB!7RE/[=3'QYFNST^X-5& M0%*/;^@"JX9)0V4@ M?'-M$+T$'GX1@^O09U1PDR=^XR"#AP:Q6==/H #SM7C@YY/EIA0#B.[>H32A *"/%JX?X)(NXLKE ME?A$[2#)L?#=MU@,*3*]$4<^6J^!#_"!54SK_N.&C:6NR;;:6*TLJ$R(C&P; M]%FW%"X*1^6HYV,8KJZVUJ_#*1%N.GW&AAAF"PBU=G:U,0D5>; Q!CE$Q7; MV3_5H-9-GDNT+4>;Y]'> MN#_S D_F&[]AD$K?DKL-%WM[4X)%XP38F;XYKW M&0-UO&/*W,!+1COD<,P9 M0G@MS$C?RQ:P"H,TPW#1T XY0N#0'F5XH1@R4V$$D=MFUE,GG%0.'&5<8I$V M$ZH^<-)0PXCQ],FHW>F3F_&WR?/=K[#=P]_N>G$6I73D/!-06B.V)C;VL@1L M5'H5,S\9#4^/5!]C:Z4FEEAZSIW4X]H(!+YV)B4 <=(N /$R'=_\]Z_CQ]N[YY=_&]S]S_>'Z=][$X# %^"D MAQU(?=640\Q?;8H,*.W]TT8Z6P6Z:JKU"*E\81?52I65L89,6>"C 7SU[N*" M1<0^^JH2KQ&"&IE9U$JKI?2@;P"%Q>EI4ED[?;7'K ABLA2!2T.VG#"7M!!A M0.QC)"3X.38D9V+WDA4B+IH;&PD(#E8-.?C'<.L)V6BP]C<2+]VX-Z2X37-H MA(@:4I>JJ$Y'P]%Y_X'"S; A=\+LB.PV6$+[BDO1;&IK)!K8.155Z$;YU4"Y MT![A[)J>4Z4YE9N&^@*@E2=)YLN0Y26<^4)@1>@,2OKO@U\/GSQ#4W@?A#^L M$)>RS4E%7Z"0=5X'BPC&#?%C>W>GF :X$P&?)@LF35B"L+H"H1N@S8H9Q:TI./O(IA.2'&8L//DZHEV58$ MMTF(5J_I*B&]GNT)_$A_P4"-S:RT)03 MG]/3"5;;6;0FLG<[:(:L] M!ICQQ"("0?XC#E"*$BY)PBTJ/( T21$N4E*MM[!:S82T ]K^31B'8 PI/4X< M@"( 1Z*D'>($88/3SO&C3I;14W0;(TGL-X$/WS:";**#S>COV'WUP NP84MT MYWP+^T>EJ1TP]V\*V\E(4'79/JWR! .4D6A5^F=0^J?ZFLYV6.*THNU$9N8J MDBDJ@*3VNCOK/(/LYB60W\J72?@9V,'<3ZFD"NT2K^GP6.U KS"F(UJ,76M$ MB[;<14VHI+8W'$[M^!=67%JG M<]^I&)_!*@GM!1HSM1F*-$>3^AD.H6YRD%-D6@]O!2.,;"G2 DU91^W@U$[Q M? BL-YU=:9-E?)OKI^"MLB(*88GNO/C%MV)BE)H(&\1+H7FUVP 8Y EBKQV M^)-CSJ2*JW,%=HK54[2]NRDU7CI1=V-%"PPB<NRZ[Q/-FG+$YC MT2A16*)JRV=9>W>^/AD#79(XSZ%P+HQ$$HUE4?6A=_&@:UV32:J(!8A=&S%9 M5BRAR,FIJ"(G@[]47N#?/WT4/3'\KAH-3$OK BFMN=U7E%ZU?4%+Q'LO^!$Q M6I+3EO6:KUY^'=P_CG][Z8V]V$B&W4PT=%%4JP^]R20,$.*=Z_5W"( '?UQ< M67MEQW LH VJILL_*>R*(:ZSA<$J?J>$GRPQ&'*DKO5Y% W0(%&[=2A1Y&!F M DYEQQ%M%_JVZX%*8)&K(.?5; -_7=E-9P[\]D!_D MN5JB6,B?I!Q'EJ[:@7%O^&@(@[:5E]3BXRHC2LS9M PYH8>-+0X)2;VGX50- MFKY:KH_$._9?+ ^,9U# 4*3Q>N)9696:%=(*!EULG3_0)D1BDBN#*UHR?O=# M8'GNG\#9BN86A.X;E/,;-@6"TNL#<=U$U?5DL9Z'-].CV6A/"LKY[AV9>ER^ M5D/+#TCQBT="&3KE\V5]/VPCSSREEN*XLA.HRO0"RO3L8"'746J&5,*K2P%J M 4!3_NIAITIB'^T@UE'/+,"AL6],LF"==10E0K+[S8T7-W HPT$;7D418+=5 M6 J'B"0^873U'O6\V:=!S&D%G+3&39Q*@]TRU;L>(JP8I2#%']0(0FB!V1Y% MN[T/%DA,@I#L\)WK JPKVPX2N'R=6&O"Q4+4?H<()A81&%)WG&VF?W2M5]X.9<;3)CH%S7:8 +2>+J:"Z[.4I!HG%GMG4.6-5.U I#*-WE)JH8G6-MPYSK[ZD(O'!?P.1K+QJ3N)575Q"75P: MD5.!KWKF]!!U".H\%)7#O,"G(T1(C! MD"N[RXN11S0C0,G"=W=95GF5]MIA1:+NR6LZNEA,/(;T#%;Y&F,\8P$2MOUA M XE/+))SR!1!J3R8BINEH#0"?SX%X?(6O+(8I^:.APVNEO(Q9*JK#"TZF'#- M*R*Z/%)_B8,Z^T23BN0T,D4+]^915"I"Q&6=2OT.&UGMQ"/U3)&B7?;)9H2A MD<5RHR6AQX&#BE,P7?/)] QS%5*X#\)ML6PFDT7M^ &O%O*1G&RF:MF^'6L- M98KIEJNATP>Z.&73->U,SZ( Y:5!:(9&>NPC,:'_W][%%#T# M=-N$#4UXNK'K.]4O2BTQ*)7P).W@S+N9M"^9B-KL5!QNZR28[ J?>G9T?KU M60696C XWN]+5-4Y' U/>K9?JH&X1 5T2G:[=^B7 >;#QB8):ET/#V9W2D!V MPO@#<$21#P\;<4-A)R::KS'9<]W19+7R4G%:7B'.!W\6A,M,IY2"^FR]>V^U MNO IZ RAZH5@<=$3NFCXB5!;J-)*/\5W4&0=%BS<2LT24N3!9D?:IM8[B&AP MV&UH/"*8&)9:HUM7@ZI*-?F.]NC_!BLL'35#B;=U%Z'46LA2+M'2OC<.Y MY>>W=&QOK,MN\)B4I#N>Y9"RO.UE=A3#*XBVDCDG!\1VQPPWN=0::F<>A*JX M,MVP\=Y;JW!M16Z$#@1OR3$:AN.Z84B)(;NP0TYCVY!7%4QOD/9+T(' M%:.X08$0\R_NW'=GKHV.=]=>> IU>NWA4Z2ZD*R.CM'H^/Q$K66@*[@\W(6S M+C6F(K-\'R%?JM+(4XR%V4 M>"CU-]JJ@^J+,'76;@RS**[B=[1GL[>#^1F\ 3\!C./XK,E[* AH/(3SET3' M&AJOZR&/9N;>:LZW$U^.-K19NU=1?S(:7BC>A^=4:?4T>P>>!8UTW-;G:%\# M_VL0.#]K*!<[=^9=B1_;E %0N 8)" MP-\O0;$A%TV.049]D)-/;4G^@$'U"1I;D_SEHT(XED?S&8@]5%@*%C6SFXR6 MU+2S'0R*+5L*D6SWULG(:IE=A2$*>?($_2[KYB&C-=@AIK$E0"5(F!<0N,9* MLILJ[T(;WYC6VHU?LCHJV4D<'/5V:-Z"T'V#5-[ @P]%D7",SN%1?71NR0VJ M]+0>H TB@(;Z5^#,*T?..49Q!XIJACKW"]/M07N2&AJ-SA"I6A;!LI&:X+"W MD$3I, 2C!6K(B\R(# HJ&MN=#;O,=H780^G!'G:[0.I2Q38*K1^K'?<,*FH\ MS%)2EC&?, M#:XD)C$CE:.?D$MF28^BC\DV)+09H]PJVEP?*X+CWH['U$MVZ!ZAE;:LH61V((A,UQ;5,'5C3>YOVFAQ#GP;>:=LF%#"EV):+I@WB6K\;@ER(/9&^:D MH:0\$\LKTJP 'Y'J(#H9#<]&:JU"*U57"C)UY[^W<_@S6 5AC'8.7\"<)S;? MF*E7T!J4B&EL)/*WS-X;Q44IRW1LRM5A*",X(;TNBVA04%)Y^%;99NV2LKW@[0A@/'Q<%BIL&*,'3,= Y_\)>"\+_K/7A[?R1_@IR\K#CQ M,[ ]*XK2P^/I0'/^F43I@O(61';HKLH%%VK71_"1T6ZX\QV]%\*N-#N@UZ^GG8UU[+Z,\0@-M@:;FXX .UGW::YU$1FX+I M_"H/-V!R,^^3.$UJGX462O*WT:=? P_=BA4]>O8WL'P%X8[FV3OV0O5TY6U! MT)%UY2B09BK@:A&DU;79K<2FBW8HV=_40):!H#B3^AKT6X%"'RB8^^Z?P'EP MH!;D^!%=XY*P>'LG)]"0RHF6-,\S2N/$1 MR$(2)R.>KMH-\!;URCKSJ]=TP8&%S>U3[?" Z6XT)GAX-O$Z.6BYK?D\!//\ MBI'R'$"M5<#2UP3T=&=8PN9LP[UO"HL?LE*K#ZTQ]D9/.51%%"<&04%XACH DCBS@>;5$J?#9S5EW M[RO@1VP3E\A'F(M':=*1EJRF0P5/KHGPHBFY@*V.9T^F1 ,*>F[M,T;;[+,< MC8!VQH2S;&='3GN;752OU,EE!B[K9J"A7F=/1GQO"W=NP8O>JE1BCGU\XSIJ M-Z[9RWFV9*ZW0[FQR"#/:!X>U4=S"9:?G M'")HQ0M,ZH[#WL+&I,*!7#/K<NE\3<^7)+@)_"CP7"?#KN^4*Y:5HCV;"!!MC2>$-D3>Z>G% M\6AT<7Y\-#P^NZAXU'N4U%."#AVB)$E<+=8=]O$=M+,@\C15MT"<8NFMD6FH M)LAG9QINQL$4$^R'J1%82Q BY>SLXO3D=#2">#FZ/#M19!1J1:U(A3J:&U=1 M?S$:CA0; TZQUTHO??U^AKX]F)IA;\3RG'0NFFG8 [],"B7A5O- MU5R\/[$*!ZV;_FIFT12+PAGX-F4WP((.?7XJY@G$C;4ZB&U[ H&;3:XDND/#XIR&^#1@F,](1*%<0D>\-,N-.!7__AF_3,("YZC!N/? MW*@'BF>P]QR\88\'[TM13]82C&>5MVTTZL2VVJB-0_)5=?&QIGQ@8K9WI\%J M"OP-[_B*>8T-M=(BGT)V-G/9V=-5DQ-W!6 K4/" 5V5S2W-TR<&?J7ZC>T:&\5&#S1;&YO5--29.NJOYYU->U8 MCFXL#_B.%?X=6&'TX/^V<.U%F!E!>RT1N($A(B2-0>;BC1([IH)0E(FDW"2E>0&T% M-61=0I6Z5$5U"45UT5,TM>:V=TNI=NLHS.CHL\J[,)QK_;1W&46-%XOQY12= MU'.*L#>+]2.KR(BKQ7BOMX(-G@(_K-]V1>.X*WWM+ COE6)R):%5GLN&U>MU M:6#?A^E-SO::L'7-T%-?($A1+ %(G#+2$R)-+!!WP1EZZ@L13I41E,_)O?+@ MC3S81)N11=PB9^FJ+W XUN7*(PS08]^*LDCE(Y#ME\GGJ/BJ"&1Z/AR5 3S+16 M,P$ZC/P;#)1C;J <'SA02/PK3S+0)_K_2$FF$_H,?<&X[S62-&DJWYH6=.8_ MNUREODE#._I/ZV0@I2BYEN*A#)O[5M<[%[A'('RY_YLL%.Z]E@96+P(Z)? M_:XG:6%%';Z;8/GJ^JG,:6EAY"YJRUT6[U96Q?6Z](F4_<5+ICIVAJ/14+$% M85%FV!::Z=D(4JK8X&'?:URLYI>'/T9 O*F.+6? M=IKG41&;@NG\*O=>,*G_V3VT#_XLM%"2@(T^_1IX#KH^X=&S\0>FF3KV0O5T MY6U!T)%U75&0^V69)!R\TIO:F:EC9DX-<18)5U5?K[.: YX5-96@:4%!.\A( M6@MT%8F^R7,$SK9\H8(5Y'0'/BK:P::K?KD0PRP1Y9.,V))HS\#+/+"%NVJN MQF*+PXGCWX M#KHX+K&:M Q>\-/0&10OE[GBZ0N2A'##28J"/ ME$0W4A=MH+/_F#=9!H*RS=Y ^!HT;(TJ2XT MZ)N+3QY\.X##$,3@RODG7,.CY%9T+Y+K@*S:"%S#^5$F&?;=1 D/UP[1W-## MHU>!Y*0F")QH,PJ>@1W,??=/Z-8X4$3NS+4VCDT18JTF!<'?DB7\,FW"COB. M#ZKJZ'@T')V;B&X94I)Z<:NBR[:^!H'SP_6\21+:"RL"VX&_'>XX<#+U-1%O M[1D75#8/MRC0QQSBI@A<53T>$B9"JC/_$@XW;'%UIC =/3?6]U#B)?F2$M"; M>YB(&EYVNY;IN\Q XH,YJANJB_F96.OL O(@ET4A61 ]@1@5Y-U*"8,;'A(F M JDS_SFRSKJ:GR"V/%W61B*7E5"*_*FR(IYF(EKW*:H?K (4"WD#T]XLX<:K=&_" MGS\"M >VE[5;TS,_1H*<11NSK$7%?AN1/^K__+&;YY[.Q].%Y1?[R'N81ZCO M\#&*I,TG[63_$7BFF"::.'7=[YB+GX&#%$+['\ M0Y:X%$VL-:'6S5[?X6,DR8X2<,H^'U67NN2,["\X7?JAB%F6OMI3F)K\$A^C M16K NH7PBVW0(TGCQ8#H]78R+_WV&/CS*0B7M^!U+QDRM'>H*O=D-#S7Y!1( M_^>A=K(O!E;K!(,>3D2-DJK&9?8X(_&]S<< DC,U"=!",91:IQM0AI(!,;MF M*2-75-7DE#[\8U#M=U;""[T80ZUS%/3,I1>LS_WD.G^,"IGIT43X=TX::$SX M5P1^RGY,<[C^X.%&%$N!DZ[;XW(S&R< DG3&LZF[! 4[#]$M;;>A\X&F[3I9F/P*V,G9DU84@\&73OL>@5GB/;HS7 B? MI>L'$!G+5%)$5F!/SLZM/O&_21CHAS^ -^.CVD*(8\8OKV^7+-6[A M6O?*CA.+(^>AVW.T1;7P:BZBA21U._5<9QC?6:&/ZH&-P\<@BJ2CF?]Q57V= MJK^/:&^@%B2KKIN:/4D5* DD+: 'G)L@XLF2P1 X$/SQ<-]YWT_/TBXO"RC[ M:RM"K"_1@8)"]O.Z9LGKC_/$YU0)7< A;H=B^3T-T&/,!MT>Y.8U/(>BJ-O37)[ M O%6="U,7J6_V1@4(PZ]*EJPF[^"P]^ .U_$T/MY@P-K#IX2="G)>):&<:)Q M$D>QY:,;2S!>@6CR9D-N+](25"5">T1>6Y%K2X)C2EL;+.X%-N)1BA>B7A=U M"(/HK>LE\-N:(,2 %$?] Z;RQ-A7YZ:00;&'/0%ARG#+61Q'1AOH*9FMN:0B MJ'*-9GNV'-)IFJ[;DM$&=T(APA5I9I>+7I/MWG&7V_ONR,L)?6"/2S+[F4%E M;_WG 5#(<#J)^#88OWKN/(M$\6W\GQT-=S?^<^IHSW_[@$&P?4)?=OUS1HJ0 M'4(;NE&UN$>=LK/(W%N%QK^7W]PQC+[$5QNGA ML'<7EXHA]B&Z8DX&<"2@E"Y+!K0J2H#LS/QC<11(%E(W#_A J40YZK5AJ0FV M,U9L6G:DWU X1K2P^(U_8=;D*I7WW7UW/ \XSL('[AIB- M\CM>,,K#=]!7B;RA 4X>3W$!2+&2C<3@)@WEH$<*O+)VKLKS(ZHWV M$B\=^#4Q!/K@0^<'TE[?!R$_>!A[FX.>+@Q+/3%^JEF:SQ-*,"'-30P]S8%- M6V9%)=4T7E# #1F, _+@VR&ZL><69/\^^/RH:$^H_R 1S/M^3FGO.91<*JK& M&T\^88@G>UOR'T'E#D'E-NG%MSDJ"XWC[4,+,MI9!RGIQ1R\*X]?M('(E6V' M"7RS($+U4][<"+YS6YP0:!T&6'@%H/S,@KR5ZD8F_$O5W:XF8*!JH\?!+-!F/_VNA[8^2L,T!,& MEN\,[,)E2K_Y\)54)^!@T$-*QR%U,=%7,5UYSR_XKD(,OY:$AW%7([@K M5N %A&^N35)B<\O^*Y&#+ST+3D1A7)HMX:?=F1)^]8]OUC^#L%@*-JV%FAMI MI]X.BQ\.#@FC5>QJATEW3]82C&>55V]<[1#;:J-)#C54='#LIL@PR= M5Q1B@'3OO@,GO?FWD$;CM$-KWD.@,$T^K?A6#@U<;,UWXPH/A"4&KJVIBN9G M6OFJ IL0%L7/P%V^)F&$IDD&95.Z&*WS-KSK&?D1M07Z2#G92.NF'5P$+"); M\2SU(CJU-?APV\IW[[:7I#<&11& _W.FUGN[[( F2GU!%AD6=72)$L5^[A&6 MG=[S-0B<'Z[G7?G. R3GS]W-;?'%3WQI/.?U^QT*0FEJSO8I@^PQY08]R=0A M"&W+."5?AY.&DNU]>P&FE$CGX,B1 4RP2:!&96CO]E-UIX&5*W-*7:55K-/;!&IQC4NU:LYK\#FW29A5.\;?-$?J8APEBUN M3B-0'7=#..Y&>A@2 :'T5KSK&UTGL'.]SM)R/2LBQ=HY*&B'BXYJK>.DJS"T M"LT3F-FR@A*XB<%[3BK:8:2K2KE PBP1Y5%E,1";AI8#$*O-D4M"#UX)&!(+?0I\Z RM0+P]\$-&"K[# M@0"%4P!2@R#Z+71I&RDL7;4#TCZ7MF0I&&)U\/Q_C\ L\1[=&J;K&I2N0)Q)O3!I3-)):N)N.J M-?]2[R:Y4(.C\O 9SW9%@T$0N9/)V&G!N;1JO=I,% MI,D@$RZ7'()GYD*P02+97?60<>1>1[;E_1U8^.H(G2GW"9#M4,2W0NLB-A.O MK.23U1-XCZ<_@/<&O@5^O&CA?C(0K'1\?/P!67Z)275I%9T6YQ,3&LC3 M'X$0D.:T/K#915"&'*-H(1#X>/X0+Y':!Q*[B]#;%)^;CA2*HGU(T),O. G^N/+- M^[T&I,T&8&>YY/@ZEWN)MNRC$_F)H&ABK5$.!!I9^46>;:]&OJC7$RH>,LB? MDIZ=R)\S>.S?)G%\')R.3I5M#Q$KP=7/W&8(!40+Z2OM]1N6',(NSZ661G4JIC"8^#/X32Q1"\_ MA0\C5-1H:JJE!EF44%H+TFU3/QIUSMV VCY1*$MFMY=W\D[@I9KWO7M_ST@J@$_%?B@^.C MX<4TN$KF211# L>D.[):$C,#$A)D8,B.P;<@C.?6G%+79J>5&:#@8M+&T+.*D\HBA!6QEY_A8&).1.AL&D!;-=S0?E!+ZB: ^:>*?Y MQ$OP,8LF5@T#*FNBE@V-.8@:J)P33L_Q&F7M4 MN8T9#-O&!N.!PJ2$'3WEMX(\@AB]SWB6[<6,DSB*+=^AK2]IW4P#21MVI9Z6 M.%&W[?<$E]B0[!O@W?^K%?YOVO_[/-C0/Z"]0!T\M.DQ@)>WSUAEJJBD4!==4Q,J>QYHB[>TU-M=,>HPYHRB-PI^T&3X4! M=+1E$KIO<(%_;?F_H_\?SWX#48SN KF^>WZXNKYZ^N\;.+$&8:H?PF:/",*: M X6@[]UM'VG24 XLS3:,%8)$LJ;Y-Y=U@0BS[;FQ?,MQ+1_)B<>TU/MI PKQ MEH.16>5;13BMYZ]?9>S&?;4)&J?T,4?;;1@U\08"H1F IZ/S<\4U -O[!\SL M80>\#OKKG &H@0Z9-4%7(H%#Y;.U& \@[? >W/]>=64$==VQ#[:PX&@TSH@ M^%DU!!=9X+F(.Y.7^@U-S4(!,X=2*ULJFN+_9H4NF@>?H7-$F-YWFVF'@/93 M.Q-KV-6=:IT1I_1Z0^WTQB1]LM)TGL8Q[E<5K65F[@%\8\N[3WPG0I_Q[A@O M#:U5SV2PQ;&M'!?"UO<.JK8'W^,U#6K!=P<.XOWQX7K\3 GA,?3M/V:ZLZL\ MA*-MPK<&>&@_[?-P:$AE!L3R;\"=+U"YSC=H*^<@'1 @BM% ($"!T$MS2) 5 MVPP+7FZE9GZ?ZF NH&<,. X&;)L;B YF-J6ZBZH2/:' "D]Y$RZQWMUELKP. MPC#X@8(IU@K^$J]Q"P\.$H;!IS/KR@^?8?R921!#<;B6]^#;(:J*-LFJJY,B1:! MYSS#Q7;HVNC!$.,VDO@UVLBAPC.4;NGXQ8/_V\*U%T77NW=[@8X2.$UH$TG?)-1)ETN. MO@L]T"=J393F*;IOX-Y]3Z_2H(=GL#T,05-;3G-\7)JU9BYD<&U%;O0"6;&< ML5\.BU-Q@NUI+%[X."[">4=F5>NN"A,KDB&3PX7O;AR(.K!=($GS_>=)"%:Y M#YFEL=.WFVM=#%%[:U8+5?=]F_"Y8#8:SQA*>N":&P*'5FP64&B*TBJ^QW@O MQ_)[K^U6[!9:EQ.B5867TH8%PW9.53#GH]/16:]Q0&.MT+FB,&X:+H:@HS.+!=X MD!-J565INI2,ZRT6F%DK=-XUP(F+0^SMYMIM(&8K+;Y;/H9']5L^ME0');+] M*>[3(),KW_D5.'.TT+3A3]F5ONP5@#I05!O+9'[AB%Q,J"4]#0U+9W T!T)% M"(:0[:AX/FGB\]F-?B><:R)UJ7)_,3H_.N\=+ AZ9,,)41A]@$)Q833U_#.I M2R^@0%052=N,_!IR:&9W7YIX2J:YL<9P8-1E'0XGO$7#N@W :6BC,W!0PH78R CUD[>X$ M5-J)1.II'>7+GU;&:W>4%JIS7/I93J]B, MB>54?K#S1P\LWQFX'Q&?CXB/J/5)/\W:'B(^/7+S/R(^=#U^1'P^(CX?$9^/ MB,_!1GRN+0\=?WM9 ! _HL<@?>&G"EQSC<$@9YK@$@3!#U(\132Q09P@\!VT M@P"7BM@T;/[$,(X7(-S>SE5X^R[E#F1:MUZ @VNJ:,6Q(2!Y\.U@"5Z@PM+3 MBPSS!J%'55"7H]/S8[.G#EY9$"J<*)X],)P0)Q!B'^VPP*LK9FT3^#7&2!0G MEM/*"DP>1J5M7\! 4"7>PZ!S:@@,--]2U@!6*B):W:1E9NFEW1TN*!'F/4+8 MU@A9L\7%U'H'G'O'P_HY@(S6("76E[W@#?_,>[W$'BK,P=UL!NQLC.1OAN+( M*!CM^@D<)>,5R"[3P\TK[ 2T,Q ,ZBN/]8Z<&K(V;I;",[ #'QV1S/07YT7\ MD=^1P!=95QIS(8F+LID0ZRX"Y<7OL47=\C?/BF".9QE/8#Q[=)=NIJDH^Q; MF?L^"($[]_\K@7.2DU6\B[ZY/BJ\VY1K*8YZ7W&U#S'H6LQ8!-M946=9V,JH M'SRV"&)0?F,#]L0\>CJJK7GOVA9B/Z\K\PRU%;YA*B^1^U0$,#H:G9Z=] <' MK9B34,QX3]FUT'%TH&>#O,D[*T3U("(X %X6%LJ\Y7&$CAL.1!?$TPS9@OP MTA^D#Y#O'.% 3^ :X_9P]%.QEKT)ELO ?XD#^_?-2V[U:'OPG]U:L3Q=M1G1 MW.HKKTE;,EH@YM.]D$(UX*\2?63!JLT M4"U:NR..4AK:@$@H'MK##"\4#18F^)A%F.9I6%Z^[$JYNHKCT'U-8K2!/@VR M[] E(,"9!@_0KU@AY\*/;]T0V/!1T7?X,1NO4 C R7VQ*^B@^?.4?.-]&WM[ MN.E(U4":AJS V(7("'1QA$T'L61)*8\:2YWE;UTO@=_69,\WS^.H' KT1(A% M5 097:&D+F[@^CR7!<4?8>RM#:XZN2%=F!6$%O7>1Z,0>-!1%<]P M!#^JM3%=U,H(DD:>I3@+R@,=M5V+3(J,",E;'QA&2%P+6F]342)[9RL-\Z-+ M!>&ZZNZ/!#Z<;S]K5-_/*I/\MT%&M"\)?G5Q/ 4Q+<>/UDG%>'^Q%\!)/#"> M72>1ZX,HNK+AJT5NN@5_O2Y](E5JX26CG85@4VC9"@AA&3N)*,%"\AJYCFN% MZQ<+\97*A' .$MM>/^V*T%4#!+@$H&]ME=+;/UE+^.<4.NF195///]([Z@<% M+ITUZ+P=R\J3?#&!Y1>40NI :8QG\#7@JJ;Q:".IJ7X:;J>AG3 M#[?*E2O& M#$P\RT<2(YC\KC;13)%7B>"7UT 07%\4\ ^@[ MH7="O.#-,*&YMHID-[N\W.FJU,R'>/#13>CN&T!<'!\-1WBU$CL8H%A^_@S9 MJKSZ884.*MY&F%8K;;13MJ1YE-PRZCM,T[.,1VF'*KKZ&YRO?0E&^;0B!K//((I#UT:;HL@=^NZ[0VS&;:= M?J@1.Z/Q,4[82Q8;!VRGV-_<>/$,O.R$WL)=38,[N&*+UXTS5@L*59DYZ/R+DH1PP8A8E7^'<'(.T]%P2$9RB6CMM0"+9,6)CG'!( MMIA&1AHHF.CH-+343LELVJ!H4>=I0+1[7,_T?0I\D!M HNO!14-OH#!-#>+X M5@XBW/9B+:WB$5,.D]9<.W4+-OZM^,_5?M9SVU$Z25Y-$9]8X=\L+T$N>EJB MO%20CY)KU86D-E!KA8FZ>1$N"Q/+7Z;BR0YREW!>5%>3G^FU><>K MS3JDF=(A(5RTF*3>): HFD>4S4W@PT$?02[16$9_QR[T=5^ #9L2+AWH1O0# MHD(D)JC,(NYLVH7J0"1FRL(E!"#=H-O?[Z%JLSDLG;R*R>@67Z!:YB.KFAN= MC(:*S_3O ^O[EJ>$.-IV'%QJ:+>?P(_TIU;V>=/Y(+'97C(YRLXEV5M%B]5) M&-@ .!$:(Z&HGE!Q8%R;Y0%=>2CPOYU*;#/(KYW#Y MU$R=#Q%@'223H^S2))25) YE/ [3>O19F*^H[D#?8,+U/$1\M15+$;D_TB^= M)7WI=!U)6OZG#0Y1XQ3N"\7*JI/#;3@P(7#JS/LUK!=[YNA9%<[)Z/SXS%AH M=!5+@9FNFR:>)D65IB&PH/S6*=MYF41R^@*AAS9 $I2=P,NJU TUE0'_9[ J M-A/#8!Y:RZLD7L#W^A,X5TL4U1CBYA^VWMH IZWF,Y0;Z DNQKE(Y0 VO5?I]Z3IWOJJ5)_6JE=FCX1_;IP^"6?;U('^!](*VS2ODOY5> MHB]5+C->*:[*;B,U$Y05IQN#Q!J5E4;:&89F85>G$2H#>ZLQR'2V^!GMUV(. MBF]^TTX1#&+>ZH;.BH8J:3R$M?.K-FJA2[A!&P0>E!^5:J^\_$90<-%5Q0 MHG#W.'W3:7"7KC"Q*R@.&OKJG:S"NNZ[LVUB"*])*L_ !S\L#]5%Y(!0J9?9 MH*$Q:F)(+F4<>?LLWEFYG4E08&&-$#M3G%=0!3%B!*/#>L,JIV>CTV,=G%>J M+NHZ9&1-JJ%7I/XK:,AB=(=5*3"463?*D*9WU X>K<=X2U[W$^54:2X*>:QO MDA!)G\ET[';2#B#'843H,446],/<4^'8;4[7MIQU*9%LK"NMZ51;8$WAD MV:PV3] .D.UPU */AV:\^+"D'2YD&RJ2DCLGK90N6&XP3[(S#5"^LANGA<2A M_&X"'W$/(."1!.>6QY=/<%K/)R@]($T;J#PBS3> 3^E+P@!!6ENF&2JW<= 0 MDOQ_'?A.E!WJ1,DC">Y>=G)C[<9]*W5L$OCY^%2^(X=1[3- A3BS)+M9$"[3 M8PBOGCM/%3'V$9? F83!/X'=7'V(CX)A(!# O+1[?&3;_F>P"L+82@MIS%,! M\EG[L[JUWY(<%#3[8MOS]\TX@("@77:,;:[VFN/=]WKP4U@CK%RO\Q_9;CIF MIJ2=2:"ILOF:XV[\ZG73<>&_%*5[B\%(NNV8U*?*\OGHY.Q4L8H%J8V0LL$L M![U4G[TM^?ZM:MKJMPX23:Q,O;7@&;\!/ "HQ@@);R(=%=[7=)%$<+$%X]VY["8I8 MH@T0^#]G:KUC(-2"DLG8$B4.O?:HL2'BE-EM*?/F*/!.(Q/5S\&IA"6,FKOJ M@BB:A,',Q04R2RU,5#DKFQ)2*H4,WM)[7T7EVP@VLDG1W#2D&;N:J/7._ NJ M':[#ID[.YI7O3%&N098L<;W^"E QH=7"M:]"8/'N_!RS[/R@;]-GISO_Z=,' MV>,'K^O!]@4&Z T^]HGVND^4:R8M7X=2FD*([F+YDZ;2!/[\T7T#3J8PMBVC M-D2U-S]LNT?"6)>YF\!T"GL3?]\.T.S>\!WU$]OJIU7QFMK"@5\4ZK67BNK!\BM@1WE<'.JZ=_04^-]]%Q6_1J(@A*@;&^JE3"Z% M["S\V-E3KDFA<2)6DT:+5[8A;8@Q) T (U15?7$FLQ:F6 M"Q>BXI)W2%9S8\.#4C6[!'@JN\@.#;PDKQ'X(X&D[M[0SB^7RW]>3_;?1\K);&ZM MNQ+QBJ'KE,1BK]1*SL#$M==>M23],&E79[]:"A@:W7!BVSZ @,D;Y^?23 C0 M'&Y<<^V!T-[0[]T-5I[,4[H:Z-9][-?_Q_4$L#!!0 ( .Z- U, M[WK':-+<1,E:J_=0Q+NB(M[^82"4BMR4BXJ?_A2HB4E,VB2:0,(:J[M5"JBJ M^%Q\]YRZ.K8EVS^T\Q8^&+VK1AH]?1,/[)4J@U35 M&JW 4)7X%E\>PPP[%-X[ZH/2:.)3%?@T:=5Z> 4-"5--Q)5.^OPL^ M4W'O;CQ^1?K7[N*AJ+IQ$0?(#UX"O]],K=4OU835 4&__7)MR70FEFU(+NQK M^" LC:#9HW8YMONT&^"/)[I W3S7 1AQ],Y#<1M,GNTPZA>\>MQJ]86^?=Q+ M"E ?=M&AW?#"J6H[%HECF9=>L"NQO^&4W#":IG]M @3=5?H)(!X4#:X>BBYL MU7A0,OC!LE5'MNS%C6P9H=Z@%('>H^<-X(&(.-W&/\$!1W#J 0+5DPBD=@A4 M?_S^9P8DY?<_!G"EE&R9+K0Z__YPP<;]M>NAX&8$+#UU]>^/_77$]1>PIK]^ M_^.JK@Y^__/K\._N66-+\7__HZBKE./Z.OCWAR'94]5$7&MQ2Z +]V_XUE_P M\H,RBNHL=,F_-2T3! 74S6WP-&#O/JJ* LSP(RQ0M"4Y:'/*,U6W$T!3@!]$ M'G:A(MF**/ %49RCY2;?I(OL4M**-:.[*8L@![O&N355'3;1]F ;PA9M=L_( M.2(W$2F10,5 AF*^[O*CQ8#R6& -9=DI2:L!\R.E*O_^*(=5%^5*H5(<53<3 9D1B]FD+HFNU@YZXF&; M/J*-&"X26-!(5$1$8I4OV^T&*J'M&CO,=ZJH,GUK(_-#,/(U-E,1P$"=-)I" MJ\VQT^<;V81>SE;E2U216P!;"JI5!]!TUU5IK.JJZS.>;<-JPVYS05!_;E)4 M3:AIJJ2W+$<-*L-N(*@==:S#NQSW07MJS'Q= G6EI%%-:;T>5FJFW<_]^'UX M:4Z681UCA0P@WA>&Y]Q713!/=E"\UL!9.X4$#J(6Q8" M$Y.OS.RVB(O8C]\HM+\$ MA:6)[$?6=X^.(G07DCX$DLV:2@&*Z:[*H%V7]0(O*1J_M<;"8N"WD&).)((J M(PB&0U?XD?4M['GH?86+\!?GKKIY>]:W,-JHLTC9GDD2Q181>RV2076#5WQ> M75OP!9;RL+;I7&>.-,<93V"X1@L=@$D:(:=B.JAM&__(NN9@196PLKHTO:L? MH4^'O0FEK5FNT2[9@C<;*?TU?#"LWT32'?!,%?_D*IR99 -''-.K86U>Q]<: ML^I4!BN[FTO7IF_S@0J050-6Z=\?E6;QE+>P3-ZU9(T/7\UY;D!O@J'/ UM# M$J/M>*LV6$TJY1"WL^QG\!STB6DB0V X2KW5-[ZZP6=8W]>UN.(XT"\\:&Q9 M(YFFEF_/4*.+=#5=7S8**^@;23A:0DD2?[V/O!?3OAYB!ZR Z8$.I)2J"7L; M:D%($"&SY,:Z.I5VQG\!9#C2ZZH&+,)->/BK,]F]%':A[086*;=1'3'@MJ(, MJ6GX%@3-0#(N;E;=>8M8]5Q44GI>13+L@K-YXI[>79.= F,/NE!=U'NV5EAO MA'[>'HT$7QH(>>B.6QC>>*-N,+F"Z*V7@VH1]->"E&F6*Q4)&U2<]AQ M.&I65+EI"9M\):J$=KLFWP,J^M M'^ ,23_NU#JD_MQD]\@'':,;2V]6XQ<2RRR@3\RB=223AHJ$O@94[[)J0:-O M*R8< (&NM-D)#PH4X !QJ&5OHUS7O;Z.4JK'FPE:GIV$]3&H5[NE^C%Y-Z\RJL^4+- M?3]I+K7D"8]T:EI)R2ZR6B5KD<;T/:3YU\-!KPTF ):3@?/[GR <<>N$<0/8 M%:DP/'$;#,G__>&HQD(/@@CA;[,P:A- %SD$)6XVCA(,QQX^8_>ZXW>$7QW+ ML\-O85#G=M_]8;N?,X=YSX$VRG%R\M)3=]UV;Q.+GNO9H&).;,F!0U,Y^%:V M]( 6.'7]8!CG=75DCP!1U4#6PTW*Q0ED$HPA=[4 (>4_?%.5X/M$!78J; TX M&4-C*K6'C/_QS8?'.6 :"'_W58$OVRQT55;=7=52BFH$"+#,>T0]T^ ?OT.+ M<5:+__EU\FV_#]6\J]2O4SVP"&W177^$<23W]\Y?4PB!WC5V?^7P_7#?KP?" M?5[6Q)XAG>'Z'OS>5]U9RU974*_RDJD%?[A)'S@NM)"5/-NIY/*Y9HVQ[(6U ML\][& @S7/72!C5 ^P ;V^,IAM7Q7%1A\+0O]@BX2&=<#R%$.*"\#$)P$:=W M'%JK5 0,GU6;J-_(+.5R9;BT-U>7W>L:CX:Q4OK]C;_C%>1)7G'0EI(-'P] M2!F<4%D.5\(10SA!TY+\0(XY&Y:=AFX(>@@ 3;KE [#7B\-=+5TRF]"YW>L= M"RV0ZT.2$O3 "@0%@FC^_KZ-,I0D?ELL:_R@64)[:ID?F)$UJT]ZZ]Z7OJJ[ MGM6X_-) M,[\F(DZ/HJ)B[4!MNA*9JI9'.:N3:5""D>M0D64/B;4[A6WLLZT=>HQM-#+8 M7E3HG"6UV2$D,'5Y*(\5'QVU$VS'!MOH^78;O9;=CBBVC<% (XS,LHLN[2QC ME[J&E9LF=CM6V#[7;E\>VR^SU-Q:LI6NOP /<-V!HV];#68A0LH6S XX'5[8 MXW&F\6:?'9)S3<+J,X"(H[Y1BNRHZ4$+[['X8A._(SM]"Q+0">KIMNI;&K=! MO$W!$3<@&UG+%#4D?!Z7>QD);QVY;FB)=;M-JH.66,WH66NO79I&EH-%<>0: M57;_5D30V7K9RY7\D1STYKG0: #7$DU@<)*=K#DQ=GC8,A-,QG2RHT%RF]D$=4?;%JE MR#*',W%PNJWQF,I\JWR#Z7KX,-O2==CD"GRL#?G47LHLQ55+&I:S4+_&;?QZ MKBGIG;A+^:46?VU9YQ0EG,R7]):D*A63D1:J*^E[8>?TV9(2&4Y%U5G':=4: MA)4SXT[_7FSR%Y>V+'N&IP?Y;YP[ W90S :SH"-78+?L:R_YYIC5.,811QK> M$@H+P A&-QO9@,"YDC^W^?% P=.E*N_RWX(Y)$H- E0%*;>UZ?4FK5MBW'G< M1_OO2RXT>:M\7_3?=41@2\/&QD;QR73(K]I,1>+B+N7/\=]1D/7+_GN$N8T, MF24(S5N5R4JY/UFJ9-S)VB?Y[TA(^VS_/=)QSE/MQ4!8BEI1+9A]'A42_QU1 M%.0S*(NZQ5D!]7W4[9/5+N)UKVZ4/[7Q1ZE(%V$O/FJ/G ;>R@BXUZ S((,K MG6'<3=V'LA?TD'?YR0)^D;YLJQJ^8'$AB_9'7L>M=425L^(^(OT$^A(58;_, M7^1>5JV4MRT2]=L]I)TW&:YJQUW:G\%?(B/NLPD,,N%HVZ; AJ5:6#UM269: M3<=]G/+9!.;",'CK'-(S+CPWF?&,M#9)=FE:>77@+6?H..[:_L$N_"IAQHMZ M\%J=-0HTJ7@:DZFSDX6&SN7'?A4]!OY#>.X*+0[XVX> 24- MC3LK_QP''@UIG^V_I[)+ V+=-5F$ML8UQZRIR##NQOSS_?=5)A NY+])9:51 M;;+>U@!>\M=*"1]@B[B+_*/]]S4"3!?UWVNC9F]&1ID5:E*]-9@VY&RE'??( MXN?X[RC(^F7_369*^%P3RB0:I"I8N):O*]6XJ_0G^>](2/ML_\U,MYJU',R[ MFM3>]GI:F'4==SCC)],8"X-@\LEJE%@@3M612FR_>K6LCJ. MW$8R<9?V59-0HKM=W&40Y9,H8V;K,,(+MSPRG1<>=@'R76B,SA/I5JKN8P5$.DMIIO]+=VIUZ=2%S<(P8? M)]5(1/:?2E7=HEQ>$^0*ZY7M6ID;T$.M&W<&_8%2C43(XZE8.46<=>6F4&.E M_%PVAB71J\=^8/1!8KT^"_[$_>T_!0'!KL[*\^*_;'? )E[GP3>*%3SG]WTG M__/KNF^ZP_=1!T9F,'#F=D7!*4O!KOW!GL&,Y[AP"&OG)4=UN$G+ACIK3A^8 MLJ*Z 4IP 1QNW%NT)Q;QL&4UO^L'YUX5A)RI%/8_'_(E7+W*5,JM!HNW-UT& M0?"-@426O)S79_>&\;E.>]8^OMXRG^KM_0Y=3[O[DG;9B4M=@. 8 MO?U!E(>9CFZCE,NW^BRIU5 W/=$LN>,4(CO\BA?63W=Y@O!R)R+ MD)@%)A2QC,UT7X,_2ELYK23"&+# 6D M.)W7%)T4BI,$Y0EWB2_2GR$NC8$K8M--=8'Z:;)-="=--#>+/7&) -(3UN+8 MKMB0YI9]D-01&IN6V9 <%]A[0Y";VB#LT;NR%V$K]&CF6%Z[54&Y'((6[(*% M&$KDT T[ZO9I1^UQ=&Y/)2SEZR'Z&79B^JLMU^R/6ZC/NLNM76LW<2ERP948 MH3IA)1^-[&?8B-EL\01HE"@!+[;L6:V"C@"6(#MA(==!]D=0D!J2$9!<.4^B MN%VR^B6GU-Y&+Y?M14A'",\)__@P+#]#/MQ^72]9'544O/;";B :NG1S"9X3 MYA$'3#]#._"EL>WDU(ZJ,:WL:#)*DV($CQ>("Z83SO&6&!]C.6X'J,;8LYV@ MVRX[;6.Q/1)K<&F7K>5%F6*7C3S6B5P@Y$UAOC]T7,)+OCS>GV$JZS3"ENIE M;*(M1=^J(--LM\!&SJK'%_,)=_EDW#_#9GJKJKR>S^P6"P:R1>>,;H%A$MPG M_":RZZ]6CNEF>+&XU7B62=?9]<"8 MX.C0S]0 '!M4IJI #\I55(\<.[IBK.<+HN(J/'P@;8$QR'0$M=,>U&=3>CY: M?HTE@&]ET;%&SLN'5T6/_XR%R"]S\NM*YEU2*9<1U4 ME;6\.LL7$3<;.=X93[Q_?$0NYGB_9H98AAAO7V:9ZH+.Y>3$Z0GK.7]2(] AIB]'HNHR-3Z*%+.\:(K*"JC1VX8&J.,@^_- M4B*2(39H6/+0L?JR@ PZ0)?50;HXC9S-CA&J$U82D0PQVZP.\.&H,4:1P68% M)MN1PY$_[QV1EB MDYS8K%&%^9A5BVNUVP(<(2#QHM01PG/"/**0(58O3F:&0E%E%!\LQ-S8$J98 M(W)![;A@.N$(P(VV9S7P:.182WZR![\U+HIDA-NO5 M?873[9G@>[QJF/+"T9(,L82[?!G18S/Q MQ7W";RZ]_@I!)UNY1HT!R[M$*UV@^#S3B+VE_LP,L9@CYN59[WIFZ:B MD47P@1$Z]/Q,2/3KX_R9Z)RQ)20'M0>X)F4M8[+>^K-Z_#-PHX'U#X[,)7@_ M(RI7'-K91GFX\M%244>FBY&WQ;T$[W&,R,4?[]?,$)O1P\X(I0H-39V:_-#R M7*.IQQ[H$<@H2!A,A#+$7'5(3E6W4Q HIZF;Q+1*]^NQ#UE' .4)=XE8AIB# MD06_*P.!19@UG4DCT4)VPDHADB,UT@V-7 M!;:B,:;?(UN#?&T1L_2#:"$[82&?G2&VGJY;#86W-0VHZ4[/Z"+=*A(Y@AV7 M[(.$?WQVAIA1F?/U;&4X99EFOU*1$4ZM.?&BU!'"<\(\HI A5I.YY:Q'"344 MH?G,@L-;+9%(;'3".3XPQG?=##%4VN*E*HTMV'ZAY+0'F5YQ[$<.X?'-&OC> MO"2:&6)].K-H@71VP#*E MFA-XR95A+,)]SEJ^#^&3;#9@'=Y0AC(91R4\'5 M"XU,2TMPG_";R*Z_*C3G=:)1\[(:!XHL74=FAK:*7$ [-AEB\4?,R[/>:8B1K(]6PJUHBM0#62M5QB]2L\B MAY%H9XC%#!OG 0.9JJM&2R"JJ#%6^^V--^7$4>1\380SQ"*(BFOP\)ZAJ749 M4WB-EU&VW2ANR-P7.0KALS+$/A4Y6-0R"4Y$Z?#V#&?R&6XH>-V&KQ;6,\:D M(C>W$L\L@H^-T)V;"?D-6B6C(*VD;(#"-'T.*)]8^/ MS"5X_U-4SNK2)(OVBP6M9E0IBYK5BLL$[W&-R,4<[]?,$!O46O[&+DYXUNCE M\C41RV16S<@-L&*849 PF AEB.6F-#Y=HOJ+99%ATO\A$A/"?,(PH98BM_M:AL MB>I:8ZK->FOF2!N&C-S,?%PPG7".Z&6(C89,T6E4"CZJUOOMF9Y5^T4[<@B/ M;]; ]^8ET8#[A+E\%]\^P&9?7V (YE+M" MB=R2E,FTR2V1X#[A-Y%=?Z6J56]D=3M# 2E4W9RG<7;C8WSV9=E)L,:KS4\[=X/?9P^;0,L:AAY2)S$8Q96C84(<#HLBL$V;H-35NRHH7E^TN9*D6.'44[0RQJJ+@&#Y=% M4JTWM;K/UJ3JL&3E!IP=O;/FXI8A]NG(>>[T.1LHJEN49%6';7G 6NN69#HM MR0]ZZK (NH0J]&26IEFIGFLN)ZQ51X7(35/?8>-)V^ZYZ=/&74WZ43A![AGI MWXWZV*4'&\-8QL(R[\;:AU+0'P?/MBU=A_I4@6^Q@7,78%T3I>&Q,'US_P-2K M]AR&(P06,>O]XDBCVO.GC#1B;Z-?Q$F?)++9 M>KHZT;BN8:7MIDB ==P=^V?AY,,M<UM^DNBS1!HR.F M[4JG$5E;\7D!3=6$0H5E#]0?2]^U:W_EK1(\*R2]F[AX\'L0\&_9Z@JB)R^9 M6O"'F_0AUG.F4LFSG4HNGVO6&,M>6#N#\FB94=TRIU YC (8NUU_ 1X@I0-6 MEKZ""O3PG7<.)F.Y2[+=9[D\ZNKMH6"0MEIH].99AXGL6#&2NGM)[_1*V=:!"Z]Q MDUV#]R(%1)UD^R[3%9 )00Q)H[@8>)'E&"^+]%0#XR%)6L3A_RB6B0_/(-)X M;EZ:325TJ6YTL>,SM+I)>,97X1E8!D%I!*>_-,)/6L0J65*0-5KIL Q.(:L% MJR\K?F2=7+R!_7$6^])X?LJ;WV%+*YNE.I/4=%W#\PK6%(U>/3V(J1/^7F.B M_:C@X75&'6/RAW9^.;F>,]9]NXMA M];Z6+VD#G5WVQ"VO3-VLM/@*+N85H^38>9#KH_$-HS>NM%VPC1$$TB;?;KK^ M@+/]R)+PKR_)(!&B(YG3G>AV:1$;U?",PWI4CBM.QU-AHH'AL#JMT7*OC4?. M'01I#G>M^/%[E_5PU(RX2>5]FS300T_,$$*Z+% K8[W.%(936XUL2//SMT6( MF$2?V8:@N73J1FY&LX)A=X6BNQKU&\O(NN!H)/Y'3++/)-I/ME5YB:&;A=;7 M1QQH>L,LVX^U9*^?VG[%^8?[Y4?O,\/*;#V?C=IE62O17F-@>GVDBD3.=4;2 M##]:)O4Y(GW&#@^$?IU1,ZLV2QG]-%;,U]II*K(,-G)V.!*B?<80YQFRZ!2Y ML8Z"]+H?KVI("FI)QO^UPKJJPDI=/"U3?==-9=XFL:Y'%SS.]MT?.6=WW M_EC)*_K]?N#]N.,OB>>G>1GWDZ9_R,LX+GJ9%9L1!O\A.[P#]+"ZSDQ=W!U[ M(V3M&N.*:P'Q1]AD5,MKKA79 6A\]> %&7Q9E2"/58)\A4KL.C.\9 /ERAH@ M-#O$HDS-1<%+J[7YI%@I:H7(#NE>UH!3'??M $^>#WCR_8!_+L9P$99BZ*M% M*3MT34W%:OE9J8]U)M%=$Q5NEE9/GIFR3_?.N_$P9>C:R8[)XV/YH@N EX]_%>C*V*G(4RQ%EANOW)W5J^+50\/'&_\(P M>$H!"B!<"!ON!! $(8)*=E1'>R#V0W)J!PXY^+6TV$N\UUWB3;;*=S6$%_H3 M,!/2>"VR;/^EEMZ+^'138^O:WR/>RC0GUSU18]@E-_8[!+O>EO7(*G0$Q7MA MY:5%C BR!K(7D:[J*4O1JN2&VK+/%%S6S4KCZ"Z[C)YTL6RPAAXCKF>:\Y(N MF3+@9P"X=4N6[F*.AP+A;BX!,_%L&U:ZKDKC8/&I>L?)+X$3I\MB&+[!B@*^ MR50J#4QO-Z-W\-1=N/&9/KO'R)\Z[?WAQ^AA]0,<333 .C0]>R-S.",LW5+; M&."%UHB(; B >L'S?6_O!7F>P!W?SG81NMNV<1)#3@\@MTLH!0.^YH4[?96 M=.?TG.69CM7"%-7W9Y&%[%7@Y521> 27,<(UU'=-O1S<0U6Q>8L9^*X1BUQPVT,!FP_NINZ)+B. MST9YGXMK8T79['J&%=%^E5RME^B@19 )KF.$ZT_:V(\6L>S#L-3K-O;+=;B% M:E56L@: 4*X1\])25"([<1B%C?WVH:?[=D5J5N!N?DE2[9ZD>R#OWWTLP[Z7 M;'GFU\$*Z ^>=E>F8BX\UPD+X,\_L@$DQ[-#]2O:8.D!4_9//^^HI-,!P4A: M-:?[!UN$*1N%-:-IRT5=6JN% M&5(AO<^ERC=YX\C\Z4?%Z@%ZW,_R0)%PTNJ?2)*H:.U6]^E3[ZVC1X5)/LM7@ MYP CC^XQ%<17 M9U=GO^]QYQZ_[8S>C8?3R(K$>_AYH3%%FRR/\QI#Y8EF3G-&3'0GBJ/"S^'_ M5YP:?G%SG(9ENU-I>C>Q-MKTC+)G6UU!K>GH6*/ROBE%=F3_\KXXC]H6#P5\ M[>9&3W4P,YJMR\#U9,'@6V MJ_1( C$5X4=N?_\)4MR?W&L8P)9520_.@%B$ MA$O4:C&3 M]/X$WS=V03S0<&(D]BJC/,Z[HKS%>J;&K$KE;,-?ZNXTLKPL"D;Y^BNB7VN5 MLTHUW5],VAU!TO75ML"4J'ET5YM$Q"I_DAC?:9;AU<9Z/-4,%)^M&[EEN5%T MQ<0L1P@.Y^YM\#$[;3\9M8?O".1Q'P\Z+E,$"K EO>B9BA-\/_"^?+=IYK4MM]^.MH/:_=:J5QWS<4'[W^PLZ+$WH@>;3GGC1U5 M427;YR4=M63M'LD\@ ]1X-4P,'(?I:U:RJHPF!-%095!?[!,*S3N1I;6 M/-O(/3*>:>7U&"IQ65.XB_SL+.'=YV,)AS%8EUW!OYX0GD?7]P)&NIU,!F^( M!:VO;&B?R4B('EV+]$P;[VG/R49>4\&/XT)_4/#CHA=8?)(6[_69:'$B:T2ZR#+/'UU?7U#OZ41]-Q],HZ+7J#?N_^2M2VUM]+G3;8D8+6:W':R M13%RF$,1-'/DQ_ZP%"ESV3.+TT=+[.X^+]'\1$)F.LF66+Z7;<_=/AK)LY[3 MYR_A.BYZ$2N'WW?<_9=6#6NK&.@V!!6C]6ZK/;>9RM5#'&_H.1S!S^VYXZ*7 MVD<)%1L5:T1(V1*I+25G1K=F]J#C1P%C#P;;5XF!0I?8[=IC5ZYT1RPGIK'T M>H*"=2$*ENEH5HZ^]@3_!9;18-=>1F./E+Q/95H*ZR^$]60Q[N8C>.C")1>R M8-]M(!]GRY^Q*V[-U%#$H]"E MP:#H>)) ^0ML675Y5$=V*^8TT^@40%OLHOW>N* 1*\MI#R-+II.MF/^ 6?+] MF#T]"WUB;Y_W6V9V;$S8/MH;:#R^M)R,HS2("&_,3OK" M?.'I=2&-\A:A]CRYQ-%!I8=O%25H@:_G(KF:+ M.$X^;^^,TS@)3E_MJFZPR*%B*NI*53Q)/SJTRECHE@^ PTW. PL0>^JV.#%H MEG,LLDPLZM22B)Q1"0YK/=GJPQ%6KVSVET;,;I;V/M@70.9NBX,2L*:VM)BI M\C%LFI8I!/Q."V),!K[M11(;SS9OCX^3[;L:"%ZU MA<.#R-?5W4L'K(#I@0XP)$CHS6D+V!/+-H+=Z[BQKD[#9P0;7Z<=2!7\,ZGO"G;S*.&-BR MXUK&5M':VATZ?;LXS6XCQ[*B9QRC@(%'^S:]&0.538U1&:;2U!ANPAH5FDC; MT3LO(7H8^(P]CNXP0!S9@8LME]8;Q4([D[>:FM=N#1O#EC3LY2)G#2*T7/JQ M32#.MPG$Q0G32VDF+^:20>=KZ2O800\3(_:@*(O++3U?&G4-D!F69A:#RO3Z M:VG>"HJ7T\I>;&E$ GH7/DCR;KN%NT7W+V^]<,'L(W7AF)5!;[40#(M0\K7% MD,A??TWR6Y'S2>E"[P37X\T=7@#7XZ*Q.+@W7[1:FV&N6$=59H9EB_/1R)Q' M%D.1#P-^EA6ZWY41 N6]6S2V5V6UN. \D07-G.YZSG"L]R*+B<_; N:QG3C> MI/$/=N*XZ-5GE>YH_4%]^%TCG7MC(4#K6MC_O$=!TU@XI*8T2*&DB+U1U5&K M&"O5/EN(-L=MIB,B70W:"G7 M[-&;KI/6[%@CXG1#$U2<1 5K GOJ=X )UH$]/:"BE9NRTSPQG@M,H]HQ1Q9' M3+58H^)T0[\F*EZ>"'B;YUBT9ZN%.)>++.AB/N)W9\JJ$;F 5W0]QZ='/B_N M.8C9DN/J-E84D#S1ZM2%C>YUHAOXBJ3GB#$JGO$<+M=O+W!$&J&&+ZP&T^)J MHU82SQ$35+Q\:LO;/,?('CD\LF41="D-,[UJJX*FHWLJ1<0\QZ>>=?)N-#SC M.7H+9-)NE:P.RZ\'_EJ>IJT)']E81 0]1[Q1\8SG\/J2D<[TV@.!,KV>-D77 M P5+/$=,4/'RN4AO\QS*8,WP;J:39ICX1G/@2_$ M<4\O (GEJF,Y!X>AHC])QAS?!17/> Y>$D="-:T-A#Z%C1VO:98%*]9\XN,] MQ^>AXLP89K#7J>LSEK&PS#M4W*_&<"78EPHKV<%*R ,PVKA07?B6WV&7*Q\= MZANYT!A$WX&<:NKQ>HQ3;?V:D?UNH+V=%(A_K?(<58<=TTVBUYB44X6IN>F2&6QO=A\<"[(XNL VH#8%#;3,H,@> M$Z7Z9$Z/C*JL+>=I:MTMVBK"1'9NY;AM^X#8"XW[FDST93OQ.NES57I3P8;8 M@@5]%'#K0;4X&B?2C[;NO_( I!>6_I,4D\]LYJ4Y:O2!3K5115KHD>4,T5CZ M_[F9'Y]Z_I4RJWE.:8Y,6%"I$-5EV] 0-%9PB7X&VN?"ZW14/6#*,T.RM8?G$4DZN"?[^ED@ MGJ\H?Q#2T8%*IZ1TE0H\33;^@WR_T]S%E]!'7^C,^>X$%;2EU\MB?M;L^$[D MG$FBCQ'4QZC- GP)?1R#NKB>=$LKH;\HJ+5TSF]VJ<@%AQ)]C)H^1C">_B7T M$2NO/,JN>8Q0*_6[97ZSLLE,XA\3?8QR=.KU_O&PRO5P*;H*6;&HB;(P!$_ M>VUEFI[1!FW'2R%/=W:BD8F'C*5&CH;,9B6W5W44UR0+M !7;7;C15D3C?PN M/O**QSA5Z!SA+HVN@^*#S)!*=_(4*T=.#R*ZJ]HKUC$ M%!IC,]-J2)O(G;L;A>7]C]P6ZBLMA-@.@,9CX_1(M$IT)9)'/4?-WR/2I"FM M-:"Q/CL<]3-RQN^RD4/]W,UUU^M!A0'@NLH2P[)6F5NWZN\:OMU)7. M@$5$8I4OV^T&*J'M&CO,=ZJH$JV3GB]],&@V.! ]D/R:WY;[.4N?H11=ZE)6 M6RKXU]^-XM62SR(H?D$/=7J&*8-X7AN?<5T4P3W90O-; 62BH 6?,A7@F>JN MUX+MT(.5F,$^V(KHS"0;..*87@UK\SJ^UIA5IS)8V=U<[AV^!Z\Z \O%?B"*,[1_)&U;%(',O M\<(%+"^2;7$V([P:IU'K*>./U2Y+'1T?];"-P1WO>*'J D,4!YY/5*LHB2*] MNHH:U8*8)YXV,:2,P0WO>)^\'X2(6)6T29=OXZS7TI!NCG"V^-&&AP_>>;CI M/>TT X(;\%11=KB1T<'(HM;'<5QLT*;%#9]K[=UMKW]W(3@E"808VH-7P>N+ MBK7R&@)5[;I&?U);-8_<77BL$CA^6!.^&IH.RWXCVI[<'_Q8 *9EJ.:IQYZK M-@\>\>MA[<^7"9,KB-YZ.:@607\M2)EFN5*1L$'%>0J#0WOA+>\ P7ZD(E(Y M(&,;OX$)%.=V<@HR65#/(6!_S\MO_:5N;F&769XM V?W=08D)32SL%]^_P/_ M2CFNKT-K;4@;9*TJ[NP60]'__?="4H+A%J*#B7M+WI"9^Y]L=3J[^\W:#=[@ M:X*3/%?@[Q^/GFI/51-QK<4MCMU0"_=O*!]D!L)'I&\R:?C+T5OAS8O#K1-H M?Y&)9*BZ?_N?+AQ".JDF6*%[ M;^''5/"'V'\(7B"E9C:8_/OC?[J6#+\Z"\F\R"MW7X,'W9K!.3OZ[I?UKJW[ MGP*/@DBZ.C5O@YZ%]>D&JQ53UB3%!/[&="' @RI!"4D/*R=;NF7?_@^:I@@9 M@S?^G__!*/3ON]*+$S*5=2#9MV/+G?W]6+RGY':9KC_ !+X66L=;[.BG ;! M][%E0Q#>E;@)I.-8NJJD_@<-_SN4"&X@3ER^%^_?CT0XEF1M:EN>J2"'#D,G M$WC+42WA72O54<6-+5V!9 MH5GILH44W\UU6?Z?7^-=PR)739YEA$ZE6V'Y5*Y92+$#IIQKEM@4PS4:%9ZO M<,W+U3W[ZJH_K&M?_K="4SUVP8J*5,*AB$*4&\+EARRI2#Z_"/4 MZ:9DVR+=*/6J"]H;L/Q S]JE'#8@PZ3;EVJ-H4A[)^L'%?Y>LL\^\+%_$O1? M#'"JL-A_90S)8^EG3=C2?#(-PKX[P^>B'^DW MWTB=LJ>94]&R4^X,I)8'!4GM EDI 'M(29UPK4?J>ZL$^;7PH3-%\GTX6@#F ME?2W%5:*W<7JG@G@$.]G*JA2XIK? MR^EN M)]?D*X$O3MQTM-ST>^WHP2^[=SIQ<,P3VS)2.]E\S-\IU_K0]SUX]\WW"XQ< MEN QEF&H3K!^*C51H>LSO6"=T\<$3MAP&K8(7]L,WWIDT$>]4LU"FS56\)NX MBCA]G+:*KR-N*(HA!(F1Z6]/VLZ*I5U=SATP59W 7KG!#AO'LDZ71]BP0(XU MSYX56W-HQ?JC]A\,8,M6#^: MG9*QRD8Y4*A-(7:\*2DTUC2R*Q57+$>-EOD4$F=JMH:ECR\_;RAQB,M MWD]N!A-N\FY*[P&%D3S7.ORPFTD-?WE GX[YU*X,^F2>].&@YO%8Q3J,2?$(Q,ZV54SYWOJ$VXHQEF>ZML]8 MRM[404AP&X07YJ.9JRUG=G.F*4V[UUF+: B>\QU; >C26@I6P)PW-'DDOMUH MXC"JO,'(JPKP=;'\YWC>PP'&FI!3**H34Z1H./CHZ=8[ *C>=&_XFQ1H+W?*#Y7&QQ=X#IQ%" MT)Y*IKH-O_\W@5[4H/?0T*::ULU_HXJ^CQF8)NB,%-FX3'MC".2KLZR*]U07' +M*!H+QI]H8J*)U]9$!G[D[*ZU-H_BB*+564U' MMLQYA3I#YZO:$MO629-U.K5Y$'9]77 BD\;1YU?F1-"4GC/,W7=<,(/0LJ': MJ@M)3[$;('M!0D6*FTR"28]DE!BY4>)?$.6I .:/!X>771$1N3G&]_&B'[_O MIP>#ZF&9OYV4"W2PF%GF85;Z9PHJ@NX%$DU)-I"@P5+ ;>K0CO,MQE_7GMD. M^$D.UO#>W(7^%DO[]9Z4&SHHD 8H)[3F57GP=*;SQ7$"1KZ3GOSW8R;WZQ94 MT58@O2>3^_DUQ^:;EME#^S(]E02N,RD77C>YGR%1)$V],"+Z;$"_E4!.A$;-55X1-WD]/ !DIJX=F.%\Q2NU8*E@A#7!C^U_B_@0L*EAKE M9/?VTEW[;!TO-FV-HRA!*-1$E"0I+9)9C!!I/#L1)]*$DDEL,D%IZ?'4;:XH M\PI-C424 ](T4W569),Z.6T]X"1BI3>&FN #3J=\K5_UJ^U 9QZ7;/;8!HH5 MUCC;%TE8([OD=\.2GS =_'BN]_#6_=.PG03.<+@$<4- JO0HXW*Q>3ZA\L@A MI](WY'Z=7O@I>.=1>NE192Q8@8ENK0_R/GQ'@N6QMV-H9S5D#>OPQX3AN^O2 M&-;0<\'?AX64UTT3?A[0KT@7W27@[O\^DQ$E HJ!@/!$0)\DH-<,"\]4I?WU MW4+EYZ[:>\$\'=5.(/(Y$-F;SUU*UQT^2OE1VRQ1 MC:H@M5;8H$5FN-8BP ?V!WRT.I7&I4#P?>SR!=;K!J;Z*I-B!QO"[GW!?1H" MQ(F?GDJ9[+"P19ER!JG.",!U1^O]8O&7<-*=@513FH0_G*MU!CL"\ '[R-@=[F1EGV<&[F/B!T% MT@Z8"J)D >D(TB)3"KP*^5Q0=&$#&83L#L-WSPCSXIW47_#)4 -2C@^GS\G2 M-/W\@YZ\@,'BFE_IJF)] \J'2&ZKI05X$.E<^VS( DZ'X*0,+@ MIRJ!A9;D<$JW(+E2*DB&?&R4[I]Q'*/O>/I^91B)I@.3TP%33Y?NK1:/=%-_ M/;!C.('?[ N[,S7,/5L$N6JA! M@<$QH+F!;[$//A3JE %;[_\,. U\'/3\05VGJ:EMK=W9 MX?(-9#<@K)L")JH9!GW#U2A!'^+HW\_4,+R*_?WS4.R/!9ZMWUW!@,WL"S]3 MUWW1(*7VWBIB^!C!#W.7Q_3LYI*SF)^R_]]<@MK=_D M45/[)XSD^33K2"GT&9,\N:?\XJ@YSTKTR09@1_M]G5;^1[Z/O"'247-_2;[? MUW)EWS'+Z)QYW5-#G8NK?0+SZ,/\QV_^^='CT29QIV-+'[F%Y8X,A;4]'$YY M1(9PG3:K&U%=LD9GVYP#P#47]>FIIK^\@>6C>,PQK..1&).XL42_W^?&'M&T M] V:T+0$WQ&5YX_?[',!S0AZKT-=2V%5F5U-C[S8VI?I^F@K;#7$$A$]7RJ. MUXV3\R;7\F+)&.TJZTI>GG4YWK!\88-P13DLD]K]5YF\,,<0Y/.=G!I1)Z?F M4L,95$CX32N< /6V=GNQGC%Q]'#">@BHI19:K3]; \OI4>W55N_P92UJ>!&"_IMK\>;8YYZ9RWM1SW!2^.[/D9VJ/ MS&*X[ $:K>#\SA!XKSEM^,'!+J9G*):K %F%0]H?*0=Z5-@H]"&LSSO].K5_ MBO/OCTJS>&(-6+A..UQ:R8<5Y#PW-,[02A^AW!S5NCB6Y@RT/R6]OCE'K'6Q M_>-WFOB9(;"?.$H=8'KHAM^I78,/JFX_34"7=VO$G=T:\;NUX?>KQ8,#J8.' M_$RM@0U2UGW5GL$*'P9]N@-M4=?P2WO\^?^G_]UG!5XZES44%1'9\3N&X&'B)@" M9)=T*$T@![Z5]+7D.WLF3D.94__[_HR=?9/#4W;#C'.>.6L]:,#M)XFL#\TV^#0P'IGYY_4Z=9/-Q*/7W[#U MP.LTZ()8C=1ZHQ/R?MMF&1^U/.%EIPZ9[R'V<>K4O#-G8O^(AHB,:G'Z'OOE 3(PC%/RG=W6"HE>MT*\5*,]=D*KEZI5GD.HV0,HLD M266>J.=U!DFAMC^M728G^)/H3(]DE4$R@ M^#;9W1GN2I=M8'>&F^_FX'>VV>5%'*,)(A.!"%?%!<9^BO#8>(?;JQN/(EZW MB=(D2A,?V2503*#XMK/8'R_C0$Y-6P1_L,<&/Y^K0UO/\F66[?(1,._AK"_^ M-V,%#0G6!<%/86 AS#+(2SJT]R#%SP!PG93DIJJ>"5($NIMD#[.4"T &P5;7 M*0(+?T53?PFFY"DJ?,!_4\?S(8E&?K9&$E]9QX[%=SP/\)JYW@2=B;^( I;O M_,7]D("#PP2&:["1=QKW0X-@8CPX[], =WMLN;!=(/0;CKI)[7?9V:UD?>I: M'GN3Q)E$25W)KZR B3.).3H39_*R,X&NI!5+AQ*L];;!#)8+]H]+W,M75>#T M5U;)Q+W$')V)>WG9O;!MH=(=QLRUA/D6,TM7@.WLTR%2[-*#HK M*V7B8&*.SL3!/'4P3(XO%^M<3)Q)S-FY<*W MN5;J&2]S:E56XC&BJI,8&FDU2]9!:_2=U7^6ZKC?NJAU3_4/E@L'!OU .KO]O@ M*2C3 8ZG[\83W +LMM!Q$@L?)1W$HSTH2"Q\K-'U32P\T0YVG5/=, 49&C[X M5=]_"ZRF;CF>'2D+3]RDCJL<&NNC2J?N:@VKE1M;GGLX,[.C.EIBP*.D8B0> M(ZU)#'C,T/5-##@9;(ED6[H##6'+MF2@!*9/Q% "RYP\AOK3+#=YDSK4-;3: M][5-S'*4%"":6. MDK8DE#I!5V*+WVF+*78S@TUS'9'"49Q$(V6#J9O4H7J)Z8V2?)3<)'4=-'V9TZ>'PX"'J#!S\]W!'\Z-$/GH?(0-?_?@E%E]W) M_=D *4X>K1W>=23^=+/V*Q\&D\5NL.PSA\&$Y[:D[C\&?9(S$W&2I;(2 M+9-8FB ?*'%7%BG;'8Z)28YEP4)2ITAEW1E;:Q$3B<DE;#"DV!(K*7@S M[2'&<*M/8*",N M[ $K-]HB]?3M="4_)I"5J&A+:J'WNFZ&G);78N9IR;;AUQIXWYX+R^PBMUX" M=)&IYL3LTY*;>D,?H((MF8VVI M\*GXTZ+]E0A4D^ZU6&E>FS:S_+P)ZCD1.R%[SIS.ULO:N()2Q8[NU;414^': M(G9"^"U)K&7\@9H1_%YN6TKW.X.!"Y]Z0OJB/'>&=:R'HSXZ(N9Y%3GT"E M6)UAVU&'6&FE6=&M]7AF*)5@T1,(L.5LQQUO:T7-0/IU?HT5#7L**W " OWU M:-MNL2S)+COF@:E7+F47S17 ST/ZWH"66E>%)QEA[-1 MOL_.R;:_:=).3L1/(&LZV*%WVV9*2J=J;HJ 04_C4$\A:4"LJS55%4:/: MP_&&\M0,-X-U/8&!.;7L9ZGEMH7B\_I2&.K=A=*"G74" X,"NF"1Y89'I8R" MJN6I)8QI6-<3&# I2DT+Z>Y8PWMKM(6@EMF=YH+SS9\470^*.L?,ZF-66K H MA3LX58:=19R0E@/J/)5QW!YK\,J,;K0FVD"#14](JV/GS7:GK=716DM;:U:7 MM3,C6/2$M#9;=H#4Z&5/ZS?6D[Z^<-$65&[BA+3J>72]I>762*"JVR'MFMN> MK<.GGI#6B)_AN4U!WJ*E29&?,P@P9CXL>D):_6�H4WM*6?)Y7#<9?,VU8 M@1/2ZB$>H:'KWDA@,L5AMD;:ILG HB>D5-HU3HBLA3$ "SZ M1 U5:/.Z6'^Z%CP48T<\M\KP0;]F[]3P&D=42IYK'7[816+"7UYS5N4%#JJD MZ!L:B\>)@E_D',<9Y,D(?( T MO-$]?H,]%VGQ^"P^KF([;EE")Z)G$MTCUZ=]/,"Q;>M #__[ ?[P5S_@-D8ZUD@>; M=L?$,28HN"8*T&]MXI\NAI9E ":3%Q=X?Y#M?X]@\WPF_,'624Q\R/4G"#/QB^)!NG_J'W4#JV@6;4D.3UWQ3-7M!&GF M OP@\BZ$NV0KHL 71'&.EIM\DRZR2TDKUHSNIBR"W(]4N-9[L[LKYXC<1*2" MA?]!>%C,UUU^M!A0'@NLH2P[)6F5P]8_4@J054/2G7]_(,2/U&Z7TW]_J!OW MUO0,Q7+WUW^D3,F O>$YR%22%K>!!N9,)?B'O5>_G,M(MNW#;NQ)N@=^I!PH M$7@7?/)^P7MV6)>68$!7A=*J3Z[;1@^SLVLQ'22R89G,3SI#__/K84\D0_U$ MJ1.E/E)J# ]R=()POXB(Q"I?MML-5$+;-7:8[U119?KA6KT2Z5DS[PW+PK*Q MDLLK;[FV^T'B)?7C-X%3/S/!1C@?J-4Q)V61YEXY60[3PE,VD &$R%@'/U,F M<).Q8%1M[F'Z[ L,\>)-FCIW&N,T@;N/!9XPI^B4LXUL/M,12I5F.M-TS')Z MF OJ]>,WF:%_HAAQECE-U"]1O_BIW_7HS;GZ5]_62CU.&M=8("CXF*FICC8- M](\*]D_%?Y+I]#7T+^:L)::A)%@PD.%^2B89:WZ=L>;SAC<9<$:#$!V4KZ^Z M,\9S8%\#.Q?HX8OFV2\O^KF9+E119$!,ITPI;VCUJ9@)Z!&1A:--%$]B2(E> M)WK]B8&D-RGV+*W0R%CQ9YI70Y9#!Q"EOA/LH!6&D=(_L^3'!H=C3L@BS;M: M=K"3G9("FP4P'; [ M,*#UN3'RR2224CV[CFWTU'K971G:G MBSE3"4\]# VV\[RY;@S9*;$H46D!*2B#?$[T#$EJB]F AZ71GQGL/&N=Z'*B MR]]/EZ_'O=ZFS+,TW9/ZK7X)+=G3Q<)9DHHGK*$R!]P+_8ECV23D%?N05S9\ M0==R)?T(%^-,'KU*#ZUI2S 6/Y;C4\ M8#67Z8K]/$#-'P(LDHS?J)CDLA\H:SNC1 MZ%46/,:<"L4SU%4Q(5*G:G#VZHXA/3^1EXQWXSG>35981)U)W2OAG55F-[+N M!5U8LBQEK>KZ"3-M]*NJO!G;:93!-&V(.?ZT3[2#D^C#3::HGUGL8P>SB68G MFAU+S;X>[WJC:G.ZVS ,:^!KZI D)[WFRLZ@TT"U(0.CL)\H]K&IOS'G9I&F M8 <8)*NG8FAH$WOZH4SI!9/9\LC,4!O6TT)?+GFY3+-0KG4A&R+#-+TL_A-# MSUN$FJA5 M'=QB3D?B&2H*TRM3NF5.$1?81I)0]R$#RL_.'_Z< >=GM_JSK?GU5DO=YT@W M+5-^-J>'U04=[:(.C0)!9RICI*+Y%6C9=QN84S^S],=F]"26X--U(K$$7XO7 MG6L*>)K,<&TZJ>8YY/'3US" ']"PS[; E]YOY<&Z CA4ZV_H[-+$@;C= MMD4LW!@=_TG2Q,\LFDF"68F^)OKZ\1LAG%#8:G6U23>$\EKPQUE[,!L5:D-F M&BCL;L$41?],9Z^2IQMS,A3E2-A[CK*O5W+Y2KW2K;!\*M
  • [#,WRFV+52ZP^2X^Z^U)B-*K?_TF8]H]4>B"M^W]8DJ?"7:$ %V\*!M MA^/N=54*6Z6"Y,S[+VV7OJGY2?";X/<;X3?F7C+*@^OGEYGE36HKR=K?;\3]#X3OS!LS$C(KZ^/L","MV%D.1QR!US[@[N?U M7L52 =DW!$+@ALYXN!_,--PF.A*25&U&22)/8J!F,X Q@/&-HA3OQ?%FY13G MA06\@^LMM;JK]R%Q%!_S3@HWHSB19]Z9,0]8B>RQ$C^]__491P&V>%FUL.#T M0T:02#.[8B?J8>(B(5@>I\"E80". M'Q6.U[UP]1UX)!&] /N.,Q:'SG# $DYG+#'S&(^QJT-2>12]2#[5G7LT=\L@ MN8&FON7I@-WG?>X^0=6+K#M-1P VON/OYY9YSRL]:5Z26X80^403JLSM,)V5 M4.3)4V)P<,L]@#. \VT9I7?CN4'N%P9!5&EQ)_/P#)&A<=!)\)Q46(;S)'5= MUHE?:-'(U*_!>O F:$[M+/ G%ZW;O(3:-XDZ&V)$S!X*M#B>M'L M4EV::S+#4$*3HLE8M&>]R)5# '\ ?QG WP5K(;\;@$Q[/I=M5J'@NBNC-3% MK.6%>.F\QA9_:LU(VJ34%-9%#>X@*;TEN/^M96 M_F)>5B,";S_";BF"[L\-_,H(IJ-Z9>!R9*5;].9V;=TQ(@\K*:%,HGF,>9^% M!W8 V %@!S+I[;W/$*ARD69IKMSCR%)K:H[0X:9M=&)#$'EZ.)6G4%!P^?Y9 MJ^=%;I3TF2W 7H'=\P>QIY?SJ]X3!-@I;)N#A;9A:)5=83R4-DU8BZQI4HN9 M(N@\21& N@+@^Z#@NZ S\Q[TJ0QN$842W!,AOU)H-,NL+A3G,?HB7X8B\3R. M7 1]=^ZSW"=OU?B!I#K^WH?:X$Z,V+K., M47D& =>-?11BJZ3-M&@BJ#E?WH*C?&#W"W:_-TE6/Z*0MQ7'TOKR]ED$HJ6= M,M)LH[*6EF*HP-IZ;0RL\JYJ;Z-=,)6X5EB>P$%*%< TP/0M$^!_&=2* 2$> M#?L"O"/TY0!J>/.VE(":/(+Z?=LEP&QEG]EZ><\K2) ZRQ5#FL-MG,)I9/\=28/$R#/"F 88/@F=ZN^ M%\3AO- 5[0)5A;5];=B@IMO->!7&(([SM> \3(%CAO?/:CW//7_+I0)[7W"< M"!PGRJ)W]LRFGZJHO&RT&[-!9V!4)*VV4YJFJ"]8"4TJHR-Y@J#R& +H+V " M@ FX8^?N=1L0UGJ]=JFL[6"2( ;XNMWWZ_%)0N9P%RQ*X'F*!FS9O;)E?\6E MU"U+]RTMOJ0FFIK)W(O>J-E*[,_]JZ=IN9;C:SF$^#?8:V9T+_> O9U3Q)11LK MWMD$39&L]7UK.*MO6C&I^V=$,-\JIZ^;B3N;N"9MV170$R_7B@]Q*=G.;^"U_O9<&/(IFRFS&]64# M#8WBILN/-FZ?)>KSL\R!7[B-Z)O0$@EY;. O'#="@7I26%83L89[V.G#I# @ MW"6W:BO--Z?%[X_\UR?%Q88^D%P(X51C:*#UM:R&Z[:)KJ-YPL#Y:*;$_W_' M9#D(("=_>]6'F#2\YP4_D5J#HZ5U$ BV,<0@!L6J7<@L1!.&P/(4AN31$Q=T M)I3D1YA00N![<4>CM>FD;+A^OUIT1K7 V'F3/NJ5!:&&1[+!Z3R"P'G\Q+TQ MN1]66;G"%76,COKH<4RG9>KM!_M#@>?HP? M%/4N$H]Y^"348J?HZ:-GSI*IS>*54T_FR3<'(/GGH.VW1U4U\&++*'2B!:D/ M]0W37#=+FWD61N5\5_/+H?FY6F!KAX@9!NM-L+2K$[!>M.ML1MC.G+I M!'5DY 6"M- [C7>DKBR-WA8K4#:C#;&N0KJ=4^25'N>* LKWXU"^X&QDUAVA M[T!L1SCD[>(!A<\L]:F"JZ51>:6T/4]$*VQ+\?C!1K,[$I;<(H%2>!Z&KYOP M!7 -<'V7N+[@'::_ ^QFW]%F):?HB\X['R/]A:8U:NZ2T^@X8Z8814EL (S#AV6M)FNZ*?. M.W8K0[,^7H2TJ,,-JJ?V"AZ/1%8UN1V").$\1H-3RP",'Q6,E_-Q?@N-39_C MZW1GRG#H)OJ#04D:6WLV1B,97X&'YTGF(M<,W[DO)/Z$L7GT#W4\FHX7ES!2YCU MY>T)6S_3++5<62,=L>Z59NZ;<"35C8*L$<[&J4 M7#?J'; =;;J=H:F,HM<'^P8WD#<37$]@&WE/ M&"C8=_^,V?."?=Y/#Z>#_"Q0O.O\^^);C_K6IOUB#MGS*A-< N!HKVP&L03; MAZOY6-]W]6G@RU-3ZSL_[IU>6P^&QI@;%1JRN%L[UK .Y*N49GXOE&6UWNNO.Z$C#JG"IND;U'2VGL=03NHU,R23)^B+T/!WYV3] M)_%KS]6QR"?6H,6A.L1Y>GIV="A:[+._J%.I:3E6B=/F9'L7QU/C6L]>SG=R M1<>.NN9I:OQ=LN=*\NS*NBW;BA[Y?$E-I:1N]$&PJK[Y^G?TY:G;BJG);CQM M%G^INK[)EHGGW]W_]Y/IKT-N=H.9])\"@9-,'57(.F MKB8;D#R+7O]%-D-YYQW'2D=^\[J"XI\)E_HFTPI M^R+;%NR[8OZ64#-2-Z<?,8K#Y!TP=+8'\8^>>9@A!8@KR MC(AY9N%> >)+Y9[2FIRL)1*FT0JLSA@)16%*PF<$+4UIG)88!=%(A"!5E)A^ M.O3O\!>]/MOGFERKWQ/*?*LH-+GCKZ]BR/Z>_O"6H[RGT7(9_;+=Y9M"E^_E M>EQWP!>Y7JXH=-M"E^WS0NOO_TRO:'!?[6=1:)6X5H\K1?UK]80&7XI$6LI] MEVQ.*.<.LLU0K__%V[G^P@F\R'WR\CENJV@1SMJ:FTM*7^58*[)MOO?O+'59 MM.5 C3P9]=R]^N-E_P@_#<896HY AS+1%YP@IQ*M:8A$S4@8IG%\*I/(#_"+ MG#^F/W>F?&?J&#NHT.@6>C/5+\ZER#E]V;*[-O5FL]/:&/*BA_&4O!V/439J M2;]L6>C956O#!;!1WY M7G(Z@YX82FCZF22)T\$J'#5%>4"-IR[5,B<*&[5, M/9,ICP?BMD2)7(4@^I)D^97)/MIOII^ICY#>!)$TG$-G75;FFN6PTHS<68EX MV7)BZ[S;4+1NU3+U]V:QW%LX *XJ5H=TJ[BF,6T[B9R(I M@:+-=J4A>16$JSB[(E+TQB$Q""5<@E^V[+=&6MUQZ[*X1I7)?FD3W7FM$[5, M#:E!8PY/[Z$AO!O+G6F_$JH.ST8M4T-"G76S5&JU9%$KH;9JDP(R%.=1R]20 MY#J$!-L>KAA#O=VK>%B]M.S%_4P/J4>AKL.[@L#MMMS&%GO,K$:'$I$>4M=L MR9JKJ#48$E;+34U2>'(42F2Z9=O4A\IX:TS$NH24NF6_J]3ECD2E6]9X/."' MD#$2 Z%FK;Q0",-F*-'IEM9XT2^24FD-]Q1XM!,MUQG6.U*RC_FQI5D>%@>] MOKXTR'ECB.VF+0@UXV8(%2* P.FF%%F_41P-C094BU"'IIGRK*CL]'J8X M5+4M8E_HMZ=6)]Y!IIHB\FB(Z9W"U)!A1%H&:Z6R:D5/Q=)-\6U]@TTH8\V1 MED-@BNVU*ZU00DY,4V_M+NF%8FFPKK+-@EOAD+ <=>"$^IW:M,Q,)N("[LEV MI[$N\IC!1!TXH?\UUK-'TBK@(YCH)4VMJNTV$@GKQ 0P%BPDK0F(,_2*CA:W MM1E3B_:GR D5M$>EV=R3QY(Q+!0#8\MT*DBA(Z$GY%IM<_UPWBFLX,J"4!KS M!59A1FS<-#4%ZE57%?N-K2(6&RK17 G<(E##N&D*?Q*J6 )B#CEX.&S:R%XK M&H*6=" %P)+3+G$]2B4X"]G7/:0O\I8^CYNF$6C7(%(N59R942]MJ^M:LRJL M>U';$YJ5M"&^8'?,5%Q[S5FSVBM6YY&ZT!.6TM*W8GG4QM=PI2]U)CTH5#I. MTC0UKFFX5SJ,PTW$H&LNG)$L6Y4(A.@)6UFI2+QLF7U=K)!0,*I!^Y'239Z: M'I>W6T>S5E@)8H_2L:5DBKW%)GKL*=,RY,.!#05E6!_Z#;]:=ODR$34],;?, MUM"OJ1V]"VOP;+%I0U([Z"5-4R)8=;$IUY+6,S'H;)'YN-CCY'72-"6"">:O ME[OF: =#)64S@"V\/0DZ<=.4"""_Y'8WC6; H3UBW-,[6Q)EYW'3M @V@T:C M-8;PNAAPDWU?A"N]\3"Y6#XU+@XARUP+[\DPB;1G4Z2[6T"1<8^:IL8U"E83 M65Z;@J'--XRU@'J:V$F>FAK7WB;)%KV!QUREL["6",67^'A<5'I<. L7IH+" MMT6K(M2QTUEO-51#INI)\8AV\\?7#8P2:?_+#/?49? M'=O WW:H#/J9H),]JN\^=>V)]SDX?>^+W!'(9P9[C3![MH-[]GPG>N;,=,(G M'_+I9RBFXKX<:($PDM2;._(C_9*\^*FI//4<,_"U"V_&7WK&SQI&OWPOD?>< M5/E#YI("BLB&(EX_1044<25%T)]1$B@B XH IBDSB@"F*1.*H-\X: P4 4S3 MHRD"F*9,*(+Y3#- $1E0!#!-F5$$,$V94 3S&5BF+.@!_HP#RW1&1?SB:8DW M.=?KC9I^RA5ZGIAPI7SDUU?'^Y*!XICQA__]1'QZSPQ (P3B%QT]_8>I*?V% MJVFY9O2+A9?C;%53<]]25(#B?U_QV.?+%BC[4[WW].U%M/[6DG-'6@?6'H#^ M=ZS]#<\0_ZE5.'%E)%@-SK4:@'D!U@NP7ES9+- I$;PVSP]3._TU-=F_&0#T M+0/P7:,4N'+\G/@8VZ%23M]Y5C9GLT6#JE!J;#C(%IM3FVHWY6WG#VZ;2N!7 M=ATK/H(=CV&H^XMBX$5*T%QN>RR-QGJ>%OU//7T+P63:&ZK=@ELSB@[9@\;+ M9;@9U<*Z,3!(M8Y4,$WQK'Y\\#>^=@2F\RA" L0#Q/_F>-Y* M*?PPB$=.KO$4% 0=="'T80@-% (UGX@I;),/D&8P!F >8_VW,/Q3D7RSRD#QKR:&A&=R.&T^&E$+M^MRM MW7J];PK>TAU51=*L;K0R@ZQL/:[9$9>8B#!/('F^[" : M^M% #3!]-8KDES!=G6A:LUCC"$[&JMA>UC"L[L>>]X$)(6 T3](7 ?6=$Q[W MD8?R\K+UBNMX7F[E.C/]] WK@,*^4PK[\A?X@?R4<_(C"1+;"1!/[9[(:6_1 MPDJLJ&^L=;W)J72CPTK)K>L(@N5A%$2A 9Q!\DEFN)'7X=QL%KE1"U<)6*N6 M>758-4QWV9&2V]@1&,XSY/MN8P-P!G &F257X$5>AS,UH9.,T(GD<11$>A\1G8!F."?-\-OH%/PA-UDZ70FNE.6N MLR/7JVH8HS-F(! DCU @N^HQX?E0Z+PL;?#;Z.3\RAQQ7%D2B^RHT-B5%\ZR M'7NV,:/ $'GZG:?&'XLWN(^,BNB9?5>VO>.$CKF$I#BW%M>G\>)[W@'/>TF> M]]999%F5#CC=-R "^WGQ%9 ME0XXNG)-[N2/EF"'09U=RR[/C4JTR5LL_$5'YL)H"8[Y$SR/42"]$EB5;$CG MWL[.7&$1OG.B(U-\QLL3(L)*BZVX/<_IMN)8&LB(> #:&&1$G),<^ 8A/D%0 MP_%.N2#46&WOG:+&B7)UC1C21A%L/)28)/T!SU,,B. \*!1!^L/9TA_>!\65 M4Y@4H7U;YX;#.=TKAJPR@SL1%,E/7W$F3^ $@.(#0A'D.IQSO_X^*++X2O?F M0W5G%+O+3J]%3'I0G8V@&&W,22I/$B#MZ#&A^%!(O&Q>P_N0V+/KG%SJ-SNB M8+0;@3XE@\(X]D_C) 8"??>9Q=_0WW^%G2QP "H\[^IOOL+,E#@"%QQW]K7>XV9+&G>\" M,[79>QGA+3NN%O4JIVV5A6S/M9SI>%X^9VL^8-(R:ZD^3J@WIL_^==?QW2. MBH'K:K:R>W8[PXOB\;-#W3/A4HV.ZT9]5S08K@XM MUL(\QB<9W\.=/J=GP\)G@*7)%1H!K71ZNM.R62L%-M-!,EL\X@$RF M+_0Z!SSOG#>XC^AQ*F7\62CYISP"X$COE",%%PO<%SN1H+'EV,Z/63X_KU8B MC16I2Z\W(QAUU_"X41A#V]B/0F,> GMG(2$ ;P#OK#(:'RNC_5?A76;H(>4M M8%BLJZOYGEH:BWH_@3?YZ2L%@X.N -[W'X0J*U>$*JVY: MW1"1FJU.#&\F7KW?=V\R@#> =T;YE(^5>?^KZ&Z84$6I8%-#K/=,N;X8"J(L MS6-TQR0*A=#@8H(/DI7!1W/2U3P?'+N_8Z,+B(\;$A^\O8GP8VFV?["J+>W4 M;2][8=4;8S-A"UL$N1TY@=,K,I&_A"7G[L'APL>$(2 HSD90O ^&$CMOHOIV M63:TOMZQ*YL0[N_"&(;DR> 0P.''QR%@$L[))+P/A]-51C=L>V@I M-,D%;(Q#YM-7YB)ER@$.,X_#AX+A9;?\[X,AC@:B-*T-%Z(^4Y9U:>ZT#&\> MPS#>YV.7*4!SY]OY^TR6^+;//QZY/[G1!WSL!ZTK>JUDBEL/^D.?_WB"\,]I MVY ,5CN%<-?<<#9FI(+GU 6B(R%XWXR^PW8 6 '/FKQ_OL_9_*V M'0A\>,71#FU&;Y]YE=YZ(BRPQ Z0D5>7)T]LL( = ';@_.D9MQ[TAS[/\K8= M,$=MMHZM!XX!J;C@"0ZD0-LPM@,QRY(G\'<>]@1V -B!#WJ-P/V?FWG;#%1L MHN6O%%+@ZB:RD$/88+HU-C8#,I)$CFER M6"JWJ';@>1 M-(_E;1W[>$[QT*X?HXS;^JXNB6FMV=%V[KS=$X=PN>Y4 MX; ]GB:89CY])>@\@EZD;#W =.8Q_5"0OC35<4U(]UURU1[9:LG0,++=70L, M%S;F,:1CV@1'\LAE$D;OG!RYC_R8Z)GM$]1([N>L""#! 0D.DF.RS(,H="2%C1@7!\@23]M1 5 P8!) E M4SGL,0FN[+]-AF=<-TC5W\TIKN5VV$X- )@8!)]]9TQ$8!& 00+I,MOF@ M]Q@$DAE-&9U:\V+=*_:;=8@=#A?SV" PD4$@\@S]SBJ2P" @P#R9C)-)KW' M'JBC/=4NLN%"E%6E/-5<3&S#;&P/DOP9),]@5TZDNW.**%-,T,O\F98&BJ%D MGZ"__B!!%LTY^9JVZT3&]B=W0'.>/V68%;(0UT%Q"6.C9E,*(X-+):5AR3S* M@ YP"K(CKD2E?(J5DNLXR'6EN0YC6UP(DH+K:[4B;$:GS6*[VL'"6H JR#K MY4HLQ^OKJE:P8612A#G2;?47$#EPBY-YC-7XZAHTCYRXO09@%6 59+-<@H!X M%:KS!6I3Z&Z$<.O:FFJP@TJ'F2;+:LPYH$P>1=]7A/6QF(6[23[)%+]ZC^;Y MCJMG9VCT-R;;$ :#PN*._]8XW6]*X M\]UAUC:!ST+-LN^[^C3PY:FIY7PG9_]P2B5J=3BF @HVW''6T*UBUK<6PH<^ M>!!A^/NQ-/89BOO.NT^:C2VJ;!(%? 17])+5GS 9DC(G$$%#%M9) .PZ/ VA_(&C?*G1^:R%\ MZ%,#Y[ !^ !BPFIA78%[R\ JS,?E/JF&L0U@@ T -N ,(?E;R^!#'Q0XAPE8 MV-["QL9P'ZZ/",0LD%5_.4W<@#B<_\[3 X]%UH!0/F"J 5,-0OD "@ *()0/ MH "@ $+Y H "B"4#T+Y&0OEOW*$_&5(17H3 MEN\?%PK-WV!<&3AL<_TP_0F"#I8[@<2HM3E7G_%BS><0K<%VI*@C3T?.P:7D M ,)OA^ ?&L)7#,>?NBI%7G<61IZ5=A9:'T^;L&)'_WMW/I%ZL'<.9T!@MV RP5<+@AV R@ M*(!@-X "@ ((=@,H "B 8#<(=FI:&/%.YN@*9*UOF\-9_5-"PG/'-M&?X&2*R;X MZ_F.8GP#9EMS>W%W2YIB1O^HWY@Z^!M3YTMM([!J[;)AE85U 1NT#9-D)12+ M(][P9SA]* 5@^^&Q_:'BW>?!]B\'O:^ [>*L-IH7!CP-ZZH.HTUUN[9J88QM M$F ;8/L! N%_B.W?C89? =OJ>!,L[7[8,P1'8@-VO2] M63=9F)L(^"Z!8#M M#QTA/P^T?SE,?@5HMRQ"A_E%V!,AG/;$/CJM;ON=&-IQ\/Q2V+YS<@2$S@$S M#)AA$#H'4 !0 *%S 4 !1 Z!U 4 "A-7-U\P%E)9+A& M;O$3(_&4O)!@^D3F0H&19H+OD0VXPD"[Q7"]Y/NKCH22AV1B\GUWU0.[ .S" M;X?Q;C[@C-F%B^8EO]RJHXRZ"M19A;!=(8!> 7;BL70 Y MS5?/:7ZO79C;(]693JN,4:R4%&L[ZV/U\3RV"TD2,_V^1$=@%X!=^-T [\W' MFS&S<-%\Z/>:A6&'5;JZ^%R9LLHTX)$"3[RO_!V+?V8M]OV2' M2KH9^)H*#HQ_-"L-2)U[(W6.4#QACV?,JEN8JJNA4?O1]B+@?G[H//W@VR@P/Q]V/G[@-/WSC$[C^RWO"DY9D&4/:*,H4QMH MNV+FY>4\[BWVZ2N!Y2F4 0>X .;O.CQW?*' MW>:*&G?BWI*?ON)T'J6N>S@+8/[#8?[FV^@K8OYW4XFOBOE&L:I#FH"NQ8 > M;.!E%RL9[03S3+3.(WD2PP'F >;O.>!Z?,TY&B=QZ_LV]\Y39-I-@8I0EPA.LQH0JXCRMP'[\ U4*'YJ;0E-D; M=7P,;U&,&"[%3@S5 _M!@L/3#PE50%E60CRHU,*__'EJ:EEIF-GAXJB19/8_;%C/4W+L8KB6-%K=Y%RBRF8NPXVM6]$SOC-W-B-3^?%:I^N;K MW]&7I[]33$UV8\PL_E)U;V7*NR_)=#N^ZJE0!$I]QHBX ]%'B\/)!0S^C,8? M'=<&&/YGW*=GC_[A>9"BF>:KV4E/3[CP_$+Q9TS809#X,]$\^_J___-\-&E& M\U@PXYD$CY)!$Z,RUZ"IJ\E&9'BCUW^1S5#>>4][/.0S\JW&R)=O13>PN$_, M9QSY9^[[M[%,4FJSY"WT3&Q'$P:9VLS_CI,\?38S/ZQ=7,:*W8 M:"\T=M2Y[ZR^H,AG\H6^R92R+\)08M\5\[><6[CQVO9_?4=Y,>'_Z)6''^,' M16M#M.*9?ST_DW/\Z-D4BN4:]:8;B^"K)\;:7;XI M=/E>KL=U!WR1Z^6*0KI?JR)$SZ_T[2QT3;3E0(T=7/7>O M_MC3.!JH:)^A:)A,2RI&TA*.8U.)1K29))-3$H<)&549^(@I^6EG,&AWQ.X( M+MNB%?EY:&'!,_H@C'5T/0SA]ZT1W#5PAC>,1XTV_4E!&;F4:,2VX\RX+ MKWBVBR$8MB9"+;X3M4PKJ]"_LF-Y>(])#@<$Y4<[(]*K3 M:7G*AA*=;LD,"]# %_"JH=0R)7JH3#@;: .UQ8J*HT%K,JX(>/S,E.BYLEV7%%M'.8T>4=N=I6[7;MPR M)?I]4';1$;VGQ:$INN%$M6D:9:.6WT2?N/'?O.%#&;G(SS'EE:=]>?KFN1F) M_<6C[QA[-,K!9WK:6"2NJASXSM,'!T0'=_;9%OW8!O[FB#+H9R+Q1'WW MJ6?'-R('P_7.4#P3/^;GE, S-^W9XYWHD3/3"9_,X-//4$PV?#GX_F$DIS?= M[N,>*WGQ4U-Y&NUM U^[L,=]%G_IAYW3G]*H.%!$)A3Q.M4+%'$E15 )40 4 M<7-% -.4&44 TY0)142FZ=68&E $,$V/I@A@FC*A". U9401P#1E1A' -&5" M$!Y;NU8-K5=7Q_N2@>*8\8?_ M_41\>L\$0.C/Z&732>D_C*[V%ZZFY9K1+Q9>CK/5Y*S<%"C^PRN^IV\OHO9; MIYZ>4>W V@/0_P;H?[Q^#%EM$/K :@(EQ MN8D!UHL/,/+LF@4Z)8+7IOEA9J>_IN;Z-P. OF4 ?N5:^+LR"?'9R'M9'+(\ M"U*WB=_;+(#!+ "V -@"8 O.: LN[A7^SBSX<6QGJUA^?3>PI?DYW58<2[MT MH?*;[OD>KICAR1O4SS6>M_(-LEI>(+X\75K"U5:OQ92YM6R4ZU9_6Y4T]I:U MM=JN,]/]AN-Y)\H&%*$=-&FW51[6=ATHJ-30'92<)L$^?<7(/,J\KVH6P#' M\:\'YS\:CB];>.M5'/=%AR+VXD4UG XQC'SZ2N.YA$< S@&. ;K\;MP M?-F:7:_B>" L%CMFN6D:.FRA \M=(B$=G_R.JW&A3!Y%WU?C$E3^SF)P2_ 7 MFAM?*KURM85F>_I&.[(<^9RM^7%-&U_>?KD'CO)!*R%>?Y W=Z)NI%HP?S_& M(&_N/(#Y"^8OL+]@_C[N_'U ^WOG^Y:["-.^O,FH[+A:U*F<$KBN9BN[G._* MMF$!@03Q3CH9H+FN$CY.N([BW'G1VK,IE@]E7LRJ5]6I)9@!X7Q@@+(AGZ M/,-[!9U;[X0*.BSO_; 3>S]Q&@*21TY!J#02]UVRK ^X<8Y,UCA!^*H[H\WIFI MZZ[JM,1S/1CO6/*$&Y$U M='JV7S17_<%D':_O\>D.+(]B), [P#M8WZ]#QUP>[X.NTUDS7M@6 SDP:WJ/ MP>Q!C/?D% B=A]]YG.NQ6):[3)IZ5NA"?C99XCO6[1^F2]3J,%\\4!$#4/T@ MUGAUJO\J7%%D#KYS^[^Y>AC"?E>?X-[:(/7Y4K+THKDQYQ(=LT%7YNV!-;D] M7K(JG<<.'%Z%B3J'-:F/2FBP'VL]@Z2(ZK9.T^Y@PT;6).::@#4!UB0;TGEL MW^0J/-9CD553G2"6Z$V,_LG"56?P_6XPK@S$/VZ=SW3"1HL;K&C-BL@.WM5GU5JQ M,>]27"@QWW*3WG>6!N#YH?"<\KX>&L\WRUN7:?XG:;TX0I/K4N+GAET MY'F$YZ?<(P3@&> 9K,^9S$!(HH-I]VJB6B[R/'84FP(E4Z$YZ?>P?J(YVU(*[+:TZFEX6*T<<+@LY&>'[*'<(NI\7<)RRG[ MT0]EW99M19?-7(017_M>ONEZ-S\BT2^O*L,S=^H_JK[Y^G?TY>DIBJG);HRG MQ5^J[JU,>?KGC#X,QI_=%Q=8/B?<0^?/?J' MYT&*9IJOYKX]/>'".:%?OBU.6-PGYC.._#/W_=M8)BFU6?(6 M>B:VHWF#3&WF?SG\U=-'R6+T])GCZ;&)_>)J\3G=^\[J"XI\)E_H MFTPI^R+IB-AWQ?PMYQ9NO,3]7]]13DW_WWWEXC:% M8KE&_>DG7*\SB\V2?[ ^1VC)/W;N:880)*8@?WTO_/,^(+Y4[BFMR(2CBBH1).X)C$TQE 8H\T03/MTZ-]5;/KO+#:'H?3Z;)]K-*4?]:/:'!ER*1EG+?)9L3RM%/0K%>%1HEKMN+E8%0?^4.\L[02/[% MV[G^P@F\R!7V\CENJVB14>@M9%?+11_EVII[_(FU(I/L>__.4N=%6P[4R#-5 MK]VKE'W\C?NI[Z>G1Q.(DXB&RMA,TB@,D7"&5"2&TC1)81A:5DF$9#3R:$KD MIVU)HS(0=+O+,X8PX*AVO]J=BA4VWD!A+YLRRA"OALU5'4:KPQ5IP.5PMYY+ MJ$2];#FJ6F1)6@X5HUZ>+V9$RY:&1ABU3#]4'._W#+38U^!U?R!N=TZ1%X6D M::JKQL1CQW5J.(;KG8;7MJ,%.23B]R/,RZ:4H(_E$LRTJ8 MA+YLN=K8:LMS1-LH#JI:E:1$SZQWHI:I074YD6]W5BL>KG#;&;5LMM:T$D8M M$?AE4[J!H&4+59G\=- M4^,O]E6F69T/5V+=A%?3ICF9C\VD:6K\7;'4&Q<;(T:$NB0T6-EF=V/&UPZE MQK]CO>U:;^XASEK4ZXXFT36%F4*_*CTT' M]F#H5>9;0A1TD:N0ZYTSI,.X:4JH&]NQ%N%@(XA!LT8$DM4Q9LGM:6FA%@I\ MD\>'E38<&%/*Q&;Z:#],.I 2JJZ7RJZJUDLZV4D8[4D0@I-2K>X4:N M:B K VT4O1GO5$/9BUNFA%K95_L+&35.2ZM?\TK1*RB9< M\;56>[1V9+R5-$U)BJV''D.KH0VO18^<#PO.5BF&<=.4I&8.UNZ*;MCAZHY9 MVK81DUC!<96L5%=16Q*F94M8PT+7+S7P)E3#HH>2Z8F*%W?=R.H41$ZG-JH' MC3:-#1*7OB%>MK0ZPS4Q@?$"7)&'Y$H)1-AKQ"WIERWK;0NF>==IBJ2ZFL_Y MAE4ADI9(2E'*P*57K*F%!L3S=68L-L8,&A_]2@VIL$+]\4IW96[(#Z?KF8$R M@UT8M4P-21S;Y9V#[!T##?F11E:ZAF?&Q\530YIM4*=/CWD5+FHK=N=[#,+/ MXF>FAA3 KA &[?Y>1 ?K.M_EL:V+QRT1Y&53?UF'RS)3K'*0MMM/86Q4HJN= MN&EJ\H6]+4P0=;/(#3OU);J -;Y3ZDCT"86VQ!6W6!=UL5[1_.$X[#EM*T[] M28V>9E<60A?+,1@9MU(%W&FVWF*'DQ MC<2I-;>J$X43Q IDP?S:";9)YE':GD737AQ,"!>N!-U@,5_6]E(O>6IJ^&O6 M+8T+_>+6@"9*01>V.[)4B&/EJ>%7-\6!O$*:IK$>%VVQ: F;:L+RI56*KQL# MEU,]." 0/C)G'N^L8WX_/:BJS3!\:8_*<&_A!=Q,5R>[:D(=I@:U+V-X:RWL M7=&:U#=CU2K[ZC[N:7I0VZF+=$QE6S70KLG5R\AT*OF=R)RD1[5AE\%8&I?* M,*EAFWJXW96FT7(:-4UI=3_QQFT\ZJP'+1LA*W30U,9PO>EK?Z AST9T56\X1^ M;1DFO4V-; Q9'*V3]1#6K8&A=19N7XP\&P1-"\%9=06G[&PZ<%#20Z3*%K4N M/X^;IH0@.-,F$]E87QPVY[7=O!>@%8>-FZ:$,+5&PM;JMARQLATT%Q"J#U0U MZ4#*OIG+_9Q;+7MFM AW:@VE)&_GNZ1I6E[EO;JK6+LRSUF]8"M;1(W1RX>V M*7E5>YM%C]\NQT8%CESP@LJPR+"V#R+YX<#&H64:=T*'JWF]NQ&[2--4# M>MQI%[O^A.-V-.5VO$[)F9)AW#35 8E5R0$R[XQ%F19JRW(?:T[T3MSTQ )? M+8W)Q7H;&!9>7-0*^]U@3B8]2*_PY5))5+;SW@JNAP$VZS:"Y6YU:)OVL-EZ M2X.LSAS6=6,\G0\*&[XY3]H^K?&')+\G)O 0:E(Z"8*SOR M9C&;HQSXHA]YNF=QB2-+!Z<8-M]]>NOQ:C!% "UD0 O +F5$$NKJT6.JFKG1XH'$CY1M#TH_]U<$=]'U%(CH M[=P'(",PC?X\7P"(Z,U(/A 1 -H?1IF ?-Z,_P 1 90!E &470%ECR,AQ3'C M#__["?WT^]L0ZK+5F>++S/[D!#^K*($5F''1H6\G^($=OCB(;EJRZPXD]%;L M!H@(X.S/XQU 1&]&(H"(WHH1?!P)_>+M%-F@ZK]Y02GGYG&L\*UE_WDLNWO'NQ[A=2_I_;<>(SA=[U/#A,,#ROVM;Z,NVF57 M5N*\UUQ@ZWY7F_WWDQA](_5\V59E5Y6\A!^0ILQF7%\VT- H;KK\:./V6:(^ M_Y1+[D/;'OZ0]21A)F$2%E_2AR)2X$%S65[%S_(U*[(G!Q,11Q8<._K18[>Z M]ZW5(?"BCL "MBZ4.:G-!+_R44S5%MV33^^\GOE7^ ME)LYKB7[__VD;_TO=F"ICG]L\"EGRU8DT>,;OARH#M[S DV-S'2DO.B7\*=O M5TESQC+ -_"2VS54O*(7F"1H'Y@.8#V ^SFT^GI+;GCCNH]T0[3%6:6):3939OL)HE;[':35O5V\S_@PQVNO'ELT_&LHEAR*NZ'/,E#5.3)"S%1(=#=U4A<2T99+]G#'BS.LV=-D&9Q M6;4"I\'U^/(Z$,D69!B)-<$_?47R.,( )^2*QN3:)9TN:DNN4^CL7FW):8@> MS4<#$KG*N+EU870V'_W(7W,-5W>XL8E[#Y2$;JGZ9Y#T.0%+W>?00W.8Z!GF5L=[EN9C^<>+;)E[G0(9A[F>:6SS;Q,LC^]QV)E##XC/&,#BK65CMGU^76FQT\-K=*J3GZ_3AH MVW5FNM]P/._$IJ#CFA-(ZP_G7&^Z"96ZK$/P*(Q&%,PT&2JS+C6O&%EZ1-[_/ M8+VZX!B[$KL7 V0*K]D!/6U1['J$=N(%A_KT]7VT,\!Q)DCD,_J,'YLP?@/( MFRT:5(528\-!MMB3 S9[TG3;F.BC5OSJ#,Q!YRX M>Q>!X'TSO?=Q0.@E!5QV7"WJ54X)7%>SE5W.=V7;,Y.9F)/59>#Y\:KAY7.V MYN><6ST@&:VW$ $$1)RR3 M\%2=2U22=D]B*$B<_+,H;O%HOJ M[WN$W[TYK^_\Y,W)T<1#(4;^N-(7XX7^A-]'SJN+4G.D\.*NLM@RK*'CN_9< MHN,:20B!I-R^?P.\ [S?[T)S-_L*D,U^5UP_<(8RS@A_W&QV,/6RSLY^G 3L M&[CB9R94S^P^CVBE-.!(2C8$$R?-(DUQ\):-W.>8-KV4_WS?].A]9FD_380X M ?M0LS_G.SE5=S7%=]R3%"J(IGW,A.SSW^QP5C8B7>A]OQJ(,[ADWTO/XXHN@%E\I]GBU_ ]0!+X^6(69]EJM-:< MRTS4)0'WVL9^YM!*<\.R,=T&7W^O<=\1C$P'*I+) DWC&1%-V>]3XC[CPZ"\ M>#;U G*W/RH3#>9>ELFA>^> 'W\*WDHL6\W?>G;=;5H$%ZD\)[F;G1%.SB# M74UQYG;RE,0O/.$!\D-2FS?:M96(!F%YLL;]Z5[I2 BDQ0P-/7/$ MU<,SVRM7M[X\.4+<-S\H\7)^YB('>V2UV!/MCK%>**7)NAQY_5PH(4A"28/T M9V!)'L"2_)7U^D:7O?[T/78C$EOTM%,&A!1Q L(Q&=9KQ3T.XSQ.EA(#$M^+ M^L[CUR#['&2?@^QSL&)F/*J1H<'?4UP$3/<[35//T.@S%XNYPGR_[SC"780+ MO-A7-F574W/_^L?K.X##GR3^_[&PB(HV5KRS"9HB6>O[UG!6W[20\,PQME\K M#/*L],BW(;8U-XFKE8XC?5D)I"6[KJ0/Z_!@WG 0$5IL5P5FW+1WT5B^PI]A M,N7#YU::>ZC!1?$+E?"_F\WA'R;7WQHN MF4B^O[40P&)WT>3\6ZOWDLG[MQX;F+J73>Z_M7XOF?Q_Z[%ERU4[\XF 7_"R M3%X<>?PFP(UBK8'WEZOUO$W,8R\KSN2_G)=UWQ3\?:3RQ\^<_O#,4(OG>M0M M4XU^69#-N.Y[/E<+;.V ;PS.'[Z)I^7?_YE^M+RTR]>'.DE<8Y%]4YU@:FI9 M,'"7K_K.>I(P.V.9=U);H9[#JV5N6-L[3M=3.A#U)V7>DZ$5E5 DE!(L+N!-8GL*0/'HB?//!P)*A*/6I:,$-0/6#>/YQ M^1,/-Q_P[;+$KV]"?KUPW2):1S77._2$MQ4SB#70=MSD;G+?=_5IX,N1OOI. MR['CT;F.:49-^&BS_J<"@8"Z_-^_T=1 BLPHZ:JX"\T-V[F:@O-]O2-%ID(Q]*. M!JDUY0RAZ$D3 VV+I956%*T^/<^>02J1X_E\@^NT6-^U\49GN&)HXF"0\,@9 MRL,G;D %KM!%CR3=')W7,T>G KS '+W;')U&^=$"<:10JQ@(Z\"[NK#=-=B6 M;'8SZ!*-POIP1$P7 QAJUS6HLW!&^^(\L4#4IZ\X#,S/E8^(W1R.U]R,I8/T M#VU_"@V_-UF-R(#3G+&B>!5YPR(9I(^7T@:3!*VUAG4*Z[=G0W?45Q(*)X[G M,QB9QYGK6HY[B_3_)Q'Y!6:PHL5J>Z6KJ1#]._M^/SV5DVDJR3-,F:*T)DT9 M I9P=3J5Z"FF2C,5A:SQ%J+B6!YA?OG]2[5;,X0XTZ-RN-2MQ4 M6E7CEJE!\?6EU"Y![I9;+_=ULT=5;*K:B5HB\,NFVP%7]GQ8^AZ4:1EK,OM&@--0RNCW2)Y?WK\XW83W\ME5N.&NXK8WQ1KBH&S M<=/4^$>3$FV&6U[FUL1P,4(4V1\[K(2GQ]_H2GQ <(4"9TVK.X5:./*TUXE: MXB];%A?=1:VF.RM8\/ !7^KX58:;1RU3DIH: HK5IZHL#K?R:J)R4KCKQL], M2VHV[94'9;1EP-;&[A7=:;44&<[ M%AL2Y:;,Z0UOM HK!7W%LA(AI495[01NBX?;.F<%]"JL6DU8*=3LM<;ULHMX5@Z#"[>=0R+52AKQ8W M"VC1%NL.:T$K;=(SF?CU:4EU:1?K[M3I#B["@Z[>W-E">Q6_/RTIM%M6>*P5 ME,6BT MA9Z$/Z''2@92DEJH7L@JTJ8IDK>,5[&W0*DT[T;*?ZNJPO"TI+7%> M,8*9C8@(6?0KA7G4,J5^N AQ;G$<,+#L^ZQO+NFU.XZ?2;QLN>%,?:#L?4&T M6ET-1E5IQ"_"J"6=PFEO@T#&@AEQO15M[GRU8;F11LF$BW@A_C#TQ::G($:/ MFVC^C^4J/209,7E9PQ9,R(Y3;U=K<.0%;L3M4P-"1]V%E.ALF5AK850 M=,FO">/H]51Z2,(>&\U:[QO#%^8.GC1-=97I^6MDLQS[1@]61%B@K DF MQ+?6I;I:,5V,[1+;D;AS.PA36;M\J15&+5/B1];,2AWMB(E8Q)H&-1L)Q?TX MOG0[/:BA;=3XA4W*QJY>[W&"UQ:(QCQNFAJ459G@05^4>4/OD\VM'I+SV2YI MFAJ4IQH%.-PAB+@C$'[FA=K>CE8)!$Z/*M2Z<&N,:I@!(3[CC =%15>2IJEA M\=K.'-'+F#T M0D/UD12,#*TX;\1M(CZW>V MP;Z'=C%CN%#X\4"$YFJK$S=-(8MP"%*Q4!L7+66_Q96:P?MF4N0K)02QM?<7 M!9B.5M6Y1?!+=.8XYK=Z8"_FP6A=+COUCB="BKQU]$V)JJ^2'J2%8-=#OK*U MPWJTLD$;9T&4\*5Y:)OVEXHU'BI9FSJ\:T]9JS@B"A6;C;.%4T*PQGW9;94G M)KPNMW!Q76T73.>06)QR II2I5+H87MC#:W6N-)GYNH@C)NFA%!@I_QJV!IU M.;0HL'VG(VWF_:1I>F#\HDZL*FUR+D(+I$VWMM!"FA[:I@;FHG*P[ 85@Y,M M;D]!5KD8[+^E0;_ N-W!Q9[FVES0K->8(28HY4*2H9-JRI#L>-8,C14LRPC; MG.O(AIC/CXF$+^;7TI9F4L6JPWISNVO-A]N1.YL?\WY^;.JC#M^J^?!.)+NK MMM@K+R%]T3F&Z7]L.N<,U)H51@)':NB^:(Z:N.B%3RSVRR4>=1K*7_+:C/M IT6[:E%>>]N7I MF^<[,3+:;"T.&RM+WD())6%_VS1#IC;SG^^BH80623YY2C^&_QGOUGSWZ:W' MIR&'7=R9RLBH^N;$\YWHF3/3"9_V@$\_0S$=\&7J:K(!A9$0_EHY7I(N\\75 M3-G7-]J+9QX9I^3%3TWEJ>>8@:^]&.BE^8-G#:-?OI=-B,;R[>M%CSL!15Q+ M$6_5W >: )!X-$6\?B7K_A BCB2HIXZ[(-H C@,3V:(EZ]G 'HX4IZ M>.M>%* (8)D>31&OWQL#%'&U[=SK5]@ 15Q)$6^D^@,]_)H>WG_WS\\4BW[6( ,H R@#*+H^RQY&0XICQA__]A'[Z M_6T(==F;FNG5V^?@7ZNH_ZP,UL^*YP,[?)%[?H"$;GZG_5V+".#LC^,=0$1O M1B* B&Y=#NAZ$GH_>Y\AJOZ;%Y1R;A['"M]:!M M\[HE1\&UI>#>#^ R+M?L@>/U38X486/ZW:CQ" & BV>A/O6-SJ>:^"W; J0_ M"^GI;SB=:M+W;>]D^M"Y_4SY!.G?V]GSW.'76P,.(B#23R*-__5=3GU+].E' M5MN<:QN:@/\-69-?3P5G MA]R #-M[_$)R5#LRS >LM-).Y_0% MC)!91N DQPK?YW17P_FUO<]/)_VY\Z=1FK/X3U)G>O@!GX$YGLS_#'/'880\ M0(F3> RS0>'R;> $T[B",@P)QRF)M^S;^!/!S1?SVGPWF8+DB%9LOJ8*ZJR M:DY5Y[![#'D\?(/":/)*_,L32)&7\)G&9]S4Q>L(3C2BW8U=!.*4WHSKRP8: MZ.RF5QUMG#Y#U.?'IK0CJ(@AT9AV6'R:KQX]S%---1K]',%$%%VPK?!'E]EJ M[LNJ0_ Y=CDV8]X33;715?95&!.&"U:0O:7IENGYZS'OU5;I3^:\QWNINJZO M*B_3VN&7:>UNR/WTKEY1A9U)CWEMWVLX0C2J%GWX@>EV?_$*BW^<6]%+=[&\KHLI<'0 @ M[$_D_U4XX_ FH25C^!$).K83G0#C>8XV]>-!D7V[95ORSR#8L[;[@AS8"W+ M=95EN4]R>/=U/N+&#G8G;1#N4@/I-FE(I5.F-F?3A MQI8C?'^ $5W=9&';$.N%;FD4V2K1^'D2Q1])&K\P?6>J+7M%!HQ]J(+%]@F4=>U^7[$+P5IS(F1$8-0#S\P"H#' M!<'CXEWASFS$7**%6XK0 Q*Q3:'B=)NP!'?KW+C0J\%*&CV>?$T:.;O14F^S M_I211M45J<6Q$OCA!X7@CQ1]V4C)E3O9W5(ONF=^SR%H_ $MUPW;=(T:!7\F3%:G97PKH:ESCG+GJ*H5YN*,H*(&CCP@.?\HFN(?00_HC M#)??9.K"#N"B2;GK^F17S:V[J4]ZU;SKM$9JPYK.,J+$U94I,]O 8ZW<^_N0 MU[L73J?270Z"HM?1ZR14U;:%Y5C1@^C"B1S/Y[EK[D*.+^Y%/J'.>-L>XP\$ MF8)\OXLNVGT80GW9A@M[0:7.)'U%L><@\&QLZB8O556_+L*K>J3N13[@6-T[ MBPAFV].;C3JAMR[@DNVHX5OE9-]Q5$O>Y3Q'LEPCYL2 MSI[E/&D+HGSW4TSTCJ(,2)[14I@4[3Y+KF_ [UE,Q4[1UE/G]03,#I@=,#M( ME<]JJGR*=I\Z#W>:W8R?3[.O*@Q?M#M+DRL'8X5M\_EE?O+W0:[??5KD!WFR MA-DG0[@?V<&'LV,LI?_3*F9>C.*6ZK5G?6E[Q(,R=)LMJS8W.+@LM-M(/K^O M-=2Y2,5I]\@C3'_.@0)NX6PFWJ=H\ZF+?P"E\_92Q5.T>Q F.&68X&(7IFT0 M[?*P7:&X=G?E=$@D&DN&K22!XE=<4S'?M MH6%(>CW/!AO*;$R];@0$1*CE #(2![\Y7>8.F]ZFJ7__09BW)1NF9W.L@Q# M[;I767,:C58OCP10NZ54%P5SI)OC?+=J+ZA]O18A03Y$ IQ^1/,TP . !UG! M@U,FU&?&] 9%'YD*B8&BC]L/F]QP= 3P:"IB':"@(961BK_5PU?*<-\P+ .% M61]>XERCWEN4NI%K#GY2Q.FS>.:R'6'(9K%#,O20\^R<:JX,>Z>&/X0,GE,T M1Y4]VSD:?@ !ZMNL<@"1C?F[XDM)FM M0TU)O3%:S$4Z"G,@CW >^728 P@:J"T!M26 WV_>[W>SZ?8@0/ )P^2#F_6G ME4+Y9==IC80V/!S+Q-!KC^LM-@AOUOS##S3_2&$@GQC S#W"#*CJ 54]=U35 M U1(4"L":D4 NX-:$5 KDJ4(S*<-G?K4[)2$<;/$\:R/=XV6HTU&WYGNIZCB9[JI*+&2D7L?S/TI"G<$V@>8N%:B@1 M5T:MJ-2,5HE<(5(.@BZ9"KK\E([V[/"]ITT-E5?E<*FG'2TSD:NNO#'V#4M M_9DPASRF0S7F(@)' 1B,?J3(SXV.!/)S*[&4&PZ9 ":]"<]DUAR0$5?^$P0W M/J'S?^8&"T\X_,0C=D"!$=J"9XV[G%0;4^-J:I!M8 MM.R>*MMS*WY*K' ?4:,KU+Y1+FY:IE"N]UM*29[8$R14HY'(%TX]XGD" M)/\#4+I#4 +)_R#Y'R3_ VP'R?\@^1^P.TC^SU;@X*:2_Z]@%K7$C>LBBS6M M:^A\6VLT>AM_')M%473A\G91MN,.J0XO%+6-%NY(R46\L@GYP/(.]0$Y298= M7U5RT&\*"$"L^ ;#"8" MQ(9=U'=O>.^Y6CF=^?%0CN17^( MM8/?J9;"%H)7JHG:9:J M<))CA0?C/@D[YC3AACA8[.!=L-X.FV90QW=_/NCW,\+^3LW)3*QIX[6LKSG' M*5&R6=P83"3U"'),[$]3G/RJ ;J9*&Y*A*[I__>%]!/OR76#U^:CZBH(U5U=[X38&L]3US M.*MO6DAPXGC+GS4/>=6>Y&6+'=6)8RS%IYV^;1'2DAQ'+#9IH[L)V@T.Y;IK M>F_R^\6H^_ #_H8D5=S<2G4.O7>.*KL9CL/^?HS+B3/TI[:CJ YT6/T=66US MKFUH2NY_X/A/1I NPY1.4D]70.WOUKGPZ0E_1P1 K8(:U'<_ T M7OMT@+"DAR. L&176.[<;?]LU+Q8,J^L&U9R%T><]9*KF#VXT.CKJ.HP8L%= M8S4I$!$L=M:3CSA.?GAR/B:,.U&2*M MAW,(4US[=("XI(=+J7UQ%4+?Z!OBG#3Z(Y:&U:' M5M/U8@;9VW7 1/IF5&UP!7TSV\&D5,6,HF=.?WEFH$:\'KZ6H83_6)",:&ST M8Z[F6^I!\#'X\?!-Q);_^=)@L<.KT=&1]@#PNS_GZL6<*NTA$, M7JM0!3J$.#P:'T!@CQ2&/*(P"=)?OU2B<741^>44_G&RJHRK[^MZ2?&7E_L_ M[^^X"*\RU7$/;U*U9,./*-"QG>@ &,]SM*GO22&]^G;+MJ+=.;9AA$NJX3Y# MU/".3:55IWRMS8P& CK$B4&9Z")++8@ @PA5(H 3?Y\F?W5A.CE(''/! Y X M4:D,8RS6I,BV-5A;]-Q.O8G9C/7%J0[G R.&9;["CGGX':)]&D35KWQ>!X! M1E170^&/,)P'L %@ \#&B6#C-V&[<7M.4;C-3 5RU\Q#VFZT[93_/FQW-KP0 M_ ;?(+ .Q+%M5&*+) [RD? C]LDF#_<0S#M!S.X6(.-8M U QN4 0/U8Y'F$" TO&5LJFKR]K),>18"!)@ MR*ZP59(!V[L&C4+#XR>K$>ESJCV69;DBM2?,_G^?BW%DA[%=FF,?,3ILXA[UF*X_XI/]@R,*JL1==YY MU414]I/OGI(CO)/7>+4P_,?/LI>B;7[\)_SR_!394"4GDIW%OQ7-71G2[GO, M=T\?_ RM*/4-(Z+7"7^U.' &!G]#HU\]QZ3A_XW>\-6C?WD>)*N&\6[UZO,3 MSLSO*/ZJ;O5PK.2KHWGU]?_]?Z]WDTPE>;IB7IW@T\F@,;K,56CJJ)(.2;/P MX[]+1B#MW&>S&?F&Y)^OK^\OUQ06O1/]#4?^-_?SV^A,$F0SI2WTZMB>L PR MU)GW_?"_GG\57TO/O[/=V+']W5%#FS,T,=]0[(GFGKWZCH;:T1MZDPEBGZ6> M&/M)F/](N84377;_T[?E8^S_MQ]Y^#%Z4'A'A#>B\>_7F/?TJUQ%76\?!(MZ=>7>^80@L1DY%7JQ^<$\2UQCU'MWFZ%C][TO92B M3J_:;/>J?([G>H,JR_$YMMWKM'M,O]INO>037?\]V7:KR+5XKAB^7XMO-ZI% MIA_^P/?#OYIH]L>Y?T9LJ5F^JOQ? MBG;USZJ5ZR]LWPT57/DG! M9+>5SX1B)N+J$B] M73G%^KUAR6[ANK]H[9Q2L2H-T&AE\J&+T$K5Y5@_6F5%YS71&+DJY^ M71F@%;JONQ0)[WI8R>E7;;;0#,*5B4T5B)*.B*4V+$#NJ)=O<6V^LV/"E0C\ M=BE?VO118N-MX?+2EUITO16R>_3QR?WOQC-:%3BY+;3+RH)G. RN=.;1TL3^ MT;V-[R72*NLDW&L6/=/MX7#TJLG]\]:0,KA)J\Y)HE;K;Q%JVZ8"$4_N?S92 M40,5YH&N0:N]B31,J)GOABL3G#)KEGJRI$LNIS;ZO:XY*W17"R9 M6"H7]&&)7Y9,A\CCZVA/R4-M&@6DS50<7M Z!-]I[1G*G\1+$XK&O T;\TZ%"5)0^7H9W6U*,YX;DJJ[]B!HS"SBI8E#S9-*T>7);I[C8(5')+C*_/[(&@KF#-J7N.:;(5-!5!Y8HGNY@XF#3[D4/11+,U[,6;;&#EF=Z7=&8'K\.K%9( MIGQR]]C6]VFAY59T$LVS<'/B+2:%>;@RL2?2YW8CW]YN=%(P%N7!%G6J9+0R M^:8DTN5MO;8@.#7?HHMK:+O<^TRT- EH[+:I<)1;TM?6K+V8]QHC"XN?FMA4 MI;=M>U5E,89#^ML!NE:H44A].KFIQ6C*$YU&::";]$!P_**$#"K1RL2F.GO! M9AO[38=;.U85-6D/VLV[X!(1&U176V1'01LP'8Y9(E4.6FQVSDNXG6Y6?RRR3/H:E(;LFOX6&#K M7+_++6G+1@[/31P"9;7(\"[C6CJ[M#%MR+D]V(D'7B0. 6(&QL9#MGW.E,K[ MP4XNZ%4^B&=C)!2@SGJ%$@4>A]&\5&EC X9;[;K1TL0A>(+FCZGI: >SZWUI M69^:<).>1TN3&Z,W8Y.<]M@VAU8:VZ99&)3'V\/:Q,8F".$2?5(:Y/'K6EPH(AY5&A=UJ"(LR[.!NQN4X];,R0M[;^M.LS^P!!Z=8=WF M?%=OK.-^KHF=(9O*!AG," 8N2WC5E@6NJ(1(]-3Z]8UNN1$*%;&V)&"4MP7' MU85RE0SBM4E\78M\L[*!!+C-]X:P)P_QDGAH*9LXA64CJ-4LAS#@7:&'TMO= MKE/9Q17MB9U-R3H;T(C6UJ$V7:#0TF+;/12_)\@+S?KNJJ/E_? RF,)M9=!O MK*KQTL0A+%I"0YI1ZZE@4H5)SVNXL.K%)4X)/.[SPEK?E8>RKHTGRZD[G/"C M-?-U5H+;IJB1/:%7M26';'[6%X MTR)'-#(7*W>L^=3R.'8^71#(LF'-HK<]HI+MUZ6J7N1Q!48W:Y0R=74UZ@;1 MTL0+2$V#A)C]K,JI*-F>EIMUV(GR)8XI916H"]'JE.G#ZFBX'\T44"I_M*FQ:W5G!Z>FU#+2BMN-*F22%[W:T9'J,.3Z;(?[^Q% M+XM]N"^NT$/43;8-0UJYZO?G;UZ;N)&S\,EQ&+FSY(/#[%='Y:LHS).;$DZX M&#WG^5.?GH8NIH MX6,JJK%1HXU$CY0L%TH^]T\.+M/=#+)P1!^E/H S FST]70!<$0?!O+!$0%! M^V*0"9S/AV%I<$1 RH"4G3O("H[HVAU<+WI"LFU$O_SO _KP]V8(]:['[O!J[:DV1VWDSTA>C] !([HH] -.*&/@BK@A#X,=Z2D>]QY0PF #Z[= M#O)R)_2G P%3X6M_46,2VLG]F(W7/H/+>,O_N _6M8\%L$8Z/.!7/H/+N+B! M=%R3,[YNZY_=>?1E4_]EUMDM6?K7EH)[/X#+^$RS!X[7-SE2A(WI]X/&,YD M+IZ%^N?U4WV5\BW;.A'=+^*1^WLDO#C=Z6]$JBG?M[V3Z4+G]C'E$Q+_WLZ> MF]"_WAIP#@$D?Y)H_*_O<>I;8A03LMKF7-O0E$M,8OJJR!^&PA_$(YY[!*[\ M^S2&HW'?D':JFQ^0_VU-,)GNJ_]Y@//)Z _,O4R9>[],WP4@<(=F7S1 YVF$ M(3#_[M+\>SWW\FF\$C &@3%X/7S_&[(FOY[J-COD!&38UHLGC;E9N=S/1/RO MPSCQC4(SS0>'67. #TYBTF>8#UAII9W.X7N_C' P[C/,")SD6.'[G.YJN*BK MZX/A\S]W_C29=A;_2>I,#S_@,S#'D^F?8>YHV"Y0&DY@^V>8!:K1>M4]EN(965;5D&=2 MYRMX;[,%R9 L67W,-25'7ARVCB&/AV]0&$U>@W^Y_10YAI\)?,9-7;QFX /% M)_ .*4WX_JR@08Z MN^E51QNGSQ#U^4,N'E^V/?Q'QA7;,Q$3L6AB(@J+O@O-)6D5/<>J4]HL=ZO_N04U19 M,R7#_>]#M55ZR,ULQY2\_SYH6^^[Y9N*[3TM>,A9DAF>Z-,G?#]X.*JNZZM* MB-(A\<)_A!]>)BI"@51S Z$!^R6K D$Z;#:&T;A@].$'GG]$"?R1H(C__.O7 M<[LU43A!2=[I=G_Q8HI_G',_%R^,.!$$"'Q1%)=PI<6WZ!*WEO12W>QO*Z+* M7%O^(>Q/Q/]5 ./P)E5+-OR( AW;B0Z \3Q'F_KQ2,>^W;(M^6?4ZUG)?0$. M[ 4X%BBJKWQ[7H--K%_0QM-*GZI%P$$\_ !X<4&\N"6PN$P+HZR"Q<_BG"@S MJ6H].2N?@ .GRNA2%RHXO.[#:QO5"PVEED+@<,J:C6SS1!-6L?QJ/+-GLY(? M 4?^X0>-/.((#M #H,??;.;B94:90H_G=+9GS_8S;"@;G>SBC:ZNHN5=H)31 M$;)*(6PP38KTF:7D<'YAMX!W\J!N4$$(&]'4ZO1XM^[K4W0\& M>@6G1BWF^A 2GG/XT4>P!+5,M6WLEX;>KMCCV:@Z13RC&V$)_O #>21))($D M_P=TD//M_N*=SLYLQ%P72E*MA1P7UB<@"7MVF!S\7YO9[9Y M+M':+3UHHVYE<3ZLS(LPOX"(=MWGRVLD2!]$##&"LGK,6H;K:-<4&=[?4HNZ9W7,(&G] 2_5R6JP0Y[*0$/0GD>#,!WSC MH@WT)'O+I)*>_NCCR9@O=9%&P'NI]D6?C/%2%[4"C'+->TJHY;\!U:R%IA+>H^<'?^QPZCCW3O"@__(A1$*@5 MJT +I**O-V8=K\R&X\*T&^XHBF%@Z"--T)^R">XA4I'^@,3)Q/CJP0=P?V1M M5,<)=9=TL5Z:;Y!W?=>UH:^S^MZ?"="H6.]5N;YOU\YTCTR750Y'4!W6V;9E M+OJ&C-J'>X0*[Y%S7"'WX&).OR?YA(KC;7N-/Q![>*=T(&P_4G4>F1(3T2[3 M5?_O ];ORJI11N3VA"DR C]KHO*N7JIV:D'X,I$C.-+Y2/0\ IL9G2^S145O M_< EVU'#M\K)ON.HEKS+>4X(2D;,B3E)6?JN%]TQ[F/.4KV49K9U*T^RSYOP&_9S%[.T5;SY+/'3 [8/;;*FRX"+-GQH"YB?3Z M%.T^=?[P-#LE_R!-WR\2-4\.Z=HCBI[ MMN-F,W?CAA/13]]Y[*1F1+(1$9UO5'RFO)L([;GCDYV:M)>AX N-R*)G'_J0 MA6\>%=B$1VHKA_YD\=>"Y*I*]'XA0,8[.]*O#+;==1\>EDF]3B^I3C50!$)B MQ'S4KPR!'W'B;NY_JGU5[S:PYKE/4NAF'N(N*0_L +*! #F@3*!U+(>R&Q/@]\;9+:GTFM] M$AU:JR%LYG^SMI6^'YNQ.3V+-=3 M7<_19$]5/>JX!L'[VTR(!S[Q]WSB M/^6I/3M\[VE30^55.5SJ::I[Q#VN-&H]:>Q/$1A=S9>S M=A>2(0Z=@]CCT2 M" FR94 Y BA' /P.,K1OJASAWV?H'WV;OO_/7*N_[1P=.)#>$*L51"?M.;0O MR*M!3>F&]VO^X0=%@:[1 &Q .0@H!P'E(#==#@(425!F ,H,;JC,X")!&%"5 M 26_"098UISO(O?^-BOFS4M7M MV[_YY#C(/7V;/]13PTVX(<%YU=EHLGK037NJ;,^M^"FQFGI$^=S1'FOMNNN= MSD)"W:I-*TUVSX@('+OF89"J#W#D%OSI]^ VOPOO^ T[P0&*WHI+^W8]U\!! MG<$J@6NH!J"YRN8!9-@K T+6H7CVJ-==XD3RDH7YY%9$#NESV,79-OW MG,WJ@Z*VT<*M*KF(4S8A%UC>H>0@)\FRXZM*#OI-30*(X]]/Q0%(W0 Y[R#G M'? [2$.]@9QWX'Y_HV>O',W\_JP(<2]Z4*SE_$Y!YID%.V$V.LVQ4)5W=:LB M!)NNB""1WQP'U6( 2>X@H3WUU3/G'5[\&=SX;=87K@Z6>\)9 4@TU3B)(&>NB2>VBW'\4.LIGX<$,-]O_$9KOQ#D(_V?-(&Z%C3?3[';9&%3F" M4YOK8BF_:!5;5B B:-0FB* >*2S91?^HV99^AK^+X@#01A_P7K;;:E\]EI!Z M#^#E^^?\YE;Y72"!M4:]LFLO)SH:0,5AQY>&_":^5/(//V@"!C?*W4GUU?WZ M(+$^8XGUH%D^P#S0+#^UK'4][9E/'\EM] M.'6LJN'-)MJ\&[M?X/.IRMEV#V5,? &_]XCNIAI_BJ*[W%/^N#7V=U??^3(!&Q7JORO5]N_;GA3#/7KVF9ME. M^"K/GU)494>57+7DV.9KGX[;MX^_5L4V%-5QCTW#W%/% 5:W"SJJCKM>'C'8 M%LR(""8BU,,/Y!&&/^G^NY&DZFMC#LB2OB_0.;'__XQ(,:E4<8JH$+;>%O,H M9TU+8F,21$@1#\Z]!E)D1AO/6H+Y<_&E&_&A(3FJDOOG/]X7C,-_B<7B*;U9 M01NKJKWQFP)9ZWOF<%;?M)#@Q-+Q9^G)KQ*@7[;849TX,[GXM-.W"2?:7N3%A25&4_UC(X I"]5J0.KJ[LTE0(+Y]:67=!&_GH!3[_84^TU/ M>^L)SY-V.=9ZHH@?0>"/%')I[,F,@^I<95M7%\;+H<^QR&&ZT.<<7NDOZCRR M[)N^$2Y5VMY"=:)ECKI0+5?;J"$NV*;ZK/_('JUB0=_B(-J>UEVKKD'C%*#0 M;^?!; -3\!I"8\.I1JNJ2SQIH>-8$4+P*&T=@>E+SX2Y:TWH2-SWIN'H2# X M76B4:EWHW2J[>H,SBS2N^#I+-;C92D<65C^X/A:]A2#(MQN@VZAMV8%LR)U:85H&O""$1$1 MP=XNE8AU83-49E6X3+:JBXY-S7PI$%&1>KNRU=PK-)'W%G!Y0$O]Q9I1I4*T M,OG0 3'<31>;^5Q?EYPNTIDI'M*81TO)MTLAN%@9$GO[7AOQ]U2E M&RU-'NJ('G9E:SOCVG-[WT!HC!'Y>;0TL7]R0R+J>B!/='[:<-VR,!C)C?BI MB?UOQ*7.#<5^42A[V,BS*GU!#$F%)_=?]HQ^82FLZS!?SG>6EN2H[<(\7(DG MCG^ZP_>JWZCK_#+ M?FT9BP8)ER9.*GEJJ"PD_Z+8_="=S /U:@RJO/-_;Z]E?I3$8X^'DF\Z<*;+^?^M,L(O.S-A$X#5[5]_-3$H>[* M/4RB:VV#(V<,X7N]<1<9Q$L3A[H/H!TR*PT5?=UD2XNI:TVP\%##I?FW2TL5 MUG4M,2]Q:MM98I5.X R9^%T3YU\DI^9:D7$+]HEN2_,697>TFHN$F#B #FQ0 MD[DP:^B:7B[@8K[&=,QNN#)Q_KVJLV(VZ\$8)EL$2>:KZK[ 1L],G'\IX%K> M2A_9<'LL>G;-P:OJ*%J9/']+G4T"A73*W+JY5]G=S&R,QT&T-'&HJ[:Y'6Z< MC2J@LW6CN5ERHQD=/S5QJ$Q98\@R1M.PU*M0I+H3L%XI7IHXJ;8W%>UFI0?! MY=9^N;8E;ULK!J$NEWA5!"YQ^K *-6&-WS6WV@RJM,O1R@2G]!FU,9AKHZ:N M#KCA5JS,]IOPI,@H@/]&3@J"Q%0TML;QH\K$"-9<;1E*/RDFB,]-6R5XC]M% MG5Q5>\.RI$S%6O3I2()0-67?FM]WJ*';#5S(@P5 M4*0NS&C=V,=+$\R7]VQ=H*'0RUV: 9B/KG[$2_M*GZU+,%KISMM MHZ:M%;ANN#*QIT&S9($BNL0>?H;=BG4UWF\MNG0&W+$1$N3 M1R!Z)N8LUC##F<9F,X$DJ,@R\6.39^#) ZEI"?DVQ]K\=%/8-7"_<%B;. 2X MI1!+M=IC]')C:#202M?;ADR((,E#T+IU :7T):J;-(*WG*8WA1=!M#1Q"%"^ MOEO7)S565RV[7R76\%*%XW'FB4.8TWH+]>%-7N#A_F@#]SH#R(I?(+FQP8#5 M,1VK!)R/S8UZS1)G@U ,H[6)C2EFG:^W#;:M2VU+:\T]=K.%X^>BB9T-V.W: M+Q74#M>&M)HND8/2'HVG+B66NA6)9(@!O-59OX'UY<*2;0SBMO.)G4V:7-]I M5,B"0'8HOE\8U"I%;!XM39(7@EJ[!BD;$PXJ5OJ%8:FR&L'Q8Y.G4)6]06V\ M*I5U$JH/W2D-CQ=8_+;)4^#9"=HWUJX%HVVF5S%0?TSIW:C]36)G*EV;V%:; M]CFH+X[R2\6LH--#3ZW$ZV+C$43MT0DGU V!K2HER2^2092TGWAL?5CLPB65 M*W'H?FB8,QK9"P$3Y_[;JJ+$<5TH5A M;=2E6YUYQR0&\6.31[O20]1T\R6$6U>Y :+K1GZ^C$,TB3/P0L5Q[."#'FQ: M&BD&;M\8R;$K-?$&[HY7?8DE5O"NG2_"78.&%E+L$DF\0-7?4.IZ;C:%8:/7 MLGRARDX:<9)P4L_!\ 8UYU1ZK ^9@= ;3O7>*G^()R5-DC&\7PU+9$$?T@9" MY!ME4A8/CM^D34+;BHLM$$S7I.I&+\EP&YD?UCZK.K&'XL5/:]\,%#O;XM\\)\##_QN9E9[S M_*E/3T,.YN:)NADIVN;(\^WPF3/##I[MU>>?H$A_'MENW'" MUG='-21/VZAOGOGDQXP_^'FI-'5MP_?4-QM-I4W^KW O+U_/6ED*"'$I0GPT M!P)0 HC$O1'B_3D9@! 7(L1'(SL (0 TW1DA !520(6/IJL 0@!/KMO[9G4=? M-O5?1L[^!X?9,C1=B8?C]H/) "X.)9J']>/]57*=^R MK1/1_2(>N;]'PHO3G?Y&I)KR?=L[F2YT;A]3/B'Q[^WL>6KUZZT!YQ! \B>) MQO_Z'JZK_WGZY!"!PAV8?:[],/ +FWUV:?Z_'9$4' M@5#_!L8@, :OA^]_0];DUU/=9H><@ S;>OQ"?L!G8(XGTS_#W-&P7: TG,#VSS +/(] SHACX#/;?6U,_0H, M,0Z>P>PQY/'R# MP@C].RJ?:D[Y-7S#?\H 9]CUQ>L*/E".S'5/R_ON@;;WOEF\JMO>TX"%G M269XI$^?\/W@!JFZKJ\J(92'U O_$7YX&15:+@0>)N)$&"#P15%< MPI46WZ)+W%K22W6SOZV(*G-U ("P/Y'_5V&.PYM4+=GP(Q)T;"POHZG$CDF M ]N=PN)BN5]2*$,!MTWU"4X* MT\FF59]4 IVERDT'=WIM+0C2!R>CWFQ1@BW*U.NRM^HUJST1JD<&#((__*!( MH(-<$$HNWA#MS%8,0)+?(\EQ 7T"#[R[[/:1(:MP:ZU?=/#B8DP6YND##W1& M.S5K;6(<;VF#6L/PM #D'C#VBI7DZ+U>(L9!(E*?<<(LY@=[F/\"FN M]D!/LK=,JNWICTB>C/E2%WT$O)=J[_3)&"]U@2S >/?!>+<> BGZCA0]1T3$ MR!Q 8;%OBZ2(P8>:5Z46'[$ M2%#R^7FM,%,(6,7P8>#W('-!=<,=14&-T$9 4?13-L(]A"[2'Z$XF1BG+AH! M[H^TN[1/J+NDB_72?(.\Z\P>XE@^WR!J,[W=-VW":8F8&ISI'EE/Q@O+&>Q( M'6W*Q(XAYBNA&=\CU,./SP6S@,_YZU)_<=?R"17'VW8C?R#VD#1K28&NZMR. M&T^&E$SM^E](@GE75O7YN-="2\T.O![6G9G1X29P.0A?)G(,QSK?YZ)'V7+_ M?M';FXUJI+=NX)+MJ.%;Y63?<51+WN4\)P0E(^;$G*0L?=>+[ACW,6>I7LZ> MY3QI"Q(-[J<.F!TP^VV5.ER$ MV3-CP-Q$OGV*=G]U?WC$XO],LR?R\PGZ\$[L%ZUEH2!(Y;4U]RVQ9HS^/D'_ M=Y\6.3^>S%_VR?KM1\;OX>P82^G_-(69%TNXI7KM65_:/N3<\#^&KW+$?]*U M.NW\DH>*G-DMKU>>@QJLU16I.',?>43RR?KC_P.7\ UE[Z=H]VD+EES@&KZR MX__:W)[%J>(WDVM^A6OXQ)&!RU^7'$P7B3:Q087UTA\,AO)4IN9!>%U&X88K M7)?9CD.D.MP0]7F*NIU%D81#%ZN<9^=4D-LV]RL'UD2[WFQV6W6+!%YJ51<\^]"H+WSPJP F/ MU%8./I#9.!!YY Q4X;^(QJ=+9=T=E,B6=M*WP_-V)S>Y;KJ:[G:+*G*KF8 MCW(1Q_],AW]R8@>:MUBHAA(Q990BKQYU7H-X_FTFR0._^'M^\9_RU)X=OO>T MJ:'RJAPN]335/>(BUVC%$]%!I274ZT-E81$LXNRZ(AVYR!'LD4! ^TM0H@!* M% "_@ZSMVRI12'\::UK\_Y^Y5G^;0XR#U]FT'4 M4\--N"'!>=79:+)ZT$U[JFS/K?@IL9IZ1/F434K)"Y9*ZYK7,1H\-93X#2,B M\"%=/SPQD*X/D.0&/.KWX#B_"__X#;O! 8K>BE/[=GW7P$6=P4J!:Z@&H*3@ M=+[G*Q@&HMFB#']!40(TF-N2K#"E8!4;!H<*A#-9!MGV/V>S J&H;;1PJTHN MXI5-R >6=R@[R$FR[/BJDH-^4Y< 8OGW4W4 TC= WCO(>P?\#E)1;R#O';C@ MWVC:*T@?E:\.:/B3%0EE"BNI$"%5D)/*=?VYD M%4 2@"393FI/?07->8<:?P8W?IOYQ<\'O64P;4#Z4"=Q2FB9 M!B,B:-13B$#H1X),!E"/&GA -&XE5G+#(1' I#?AELQ:'"/UWL?+]^_YS47U MNR &[RH*8CQB. 9N*0 J0T_@ H 4 %P0]YM M@**WXJN^79=TMCS/(*7_9E+ZKZ#LGZ.'S!\JZ!-*&"&*.X=TLLM/>G87&6U6 MW=B1!)]30\^V3SRKF?A1EOW4]YZF 80TC9C5L0TC?(M<:%W&W81 7/QVT^Y3 M=A[WS0V9]#+?3$9^NH[CSD7A?K>>!B=WBHX#R,&=;CU+OEZ0% V2HK.>%)VN MX[ASV,^D#_I6\J53'^5O_>*GJ8:?XJBN]Q3D'^)8/M\@:C.]W3=MPFF)F!K\ M>:71LP^QJ5FV$[[*\Z<45=E1)5D, MB_0Q&&WW"+DLE5UD,X^0XM =Z I(D1E%/6L9_,_5K6[$AX;DJ$KNG_]X7S . M_R46BZ>T< 5MK*KVQF\*9*WOF<-9?=-"@A-+QY^E=;]*''_98D=UXHSNXM-. MWR9VMR3'$6MXU=QO3(R'U^Y@*'>KJF^W@HG'MO0'&!8S[5^&&:^\M709BFCK?/*O1+[KS*WV:E=S% M$:MQK0C*O+&T.["_M9KJQAX7-;0K(GC<[X9XI/*?['ES#U&7,7[GTK\T-Y]+7Z!1<0.G2UT[LT/\# M56NY72S53K6]%?S=N!FHHXF@-F)5*W+0GT_5RK8?/AM5 ]$SI[\\,U C7@]? MRU#"?RQ(AF3)ZF.NYEOJ0;XQ^/'P3<26__G7]-9217Z/8B>N#/@5W[ 0WQ3; MGQIJ&@#N+YLZ_T'C'L85V[,3=NIAZBY+-D5RK^_,X=[I-6HSJ0CY\PK-Q2'OX? F54LV_(@"'=N)#H#Q#HD34DBO MWR5.'%'(ALYX;Y6KO E#8THU]#40B;]@N06M;A%&)/4R\C=&>_',)0:U%I;39\J4G%>D_^ MX0>-/*($!0 ( - 9JX:NON&L M!O8GC,;,&S4F#AW-JR"]K(7R_@Z1?[4IP# M>3IXFY1LE3&%88-CNMN^.-F5YA'RQ!$_ G^DD$MC3V8<5.>JZ+JZ,%X.?8Y% M#M.%/N?P2G]1YY%EW_2-<*G2]A:J$RUSU(5JN=I'!-M5G_4?V:!4+^A8' MT?:T[EIU#1JG (5^.W '#?R:-:V:&F>NQ)&HFA.W>M M"1V)^]XT'!T)!J<+C5*M"[U;95=O<&:1QA5?9ZD&-UOIR,+J!]?'HK<0U"], MM)*#SR?PKHN3@;Q8%IWP M5XM#&AT&?T.C7STG?L'_&[WAJT?_\CQ(5@WCW03!YR>?7U__U_KW>35/*>-/M7)_AT,FBLN\U5:.JHD@Y)L_#COTM&(.W<9XWT9DDR&9*6^C5L3UIBI"ASKSOA__U_*O8&GC^ MG>W&<=KOCFI(GK91WU#LB>:>O?J.(M_(-_0F$\0^2T\%["=A_B/E%DYD8_Q/ MWY;?LXK_]",//T8/"C7PT! Q_OTZ0?3I5Z]8*#K7\'WZ$2='':?9R/ZQ//=% MM*1?7^Z90P@2DY%7B9>?$\2WQ#U&-2DV8T0*@TE%SJNBA$B(B%,X%GZ'4B(B M2])4125BBN1:?3[7+N6BM\]%KQ_OZKW'\2_[OO[6_EFU> MO28;2)E1]?FJ!:\%+H\HD%UJ].=16YTQF)U3IUR)IM734_KT:MR5T23 M*Q?#=0^:=ZR*SA8G#-8P#&2M!R*67*G1ZQG"T*8 FZ66A4NB3):+\W E\7;E MC)YW6CMH,>#8,8ZT_*"D6/FYB(OPVY4M8E!$%+LOP*SO^C/*: ^ZX:<3R97H M8EG0D)&KZ1HJ8D-NQ,BR.Q>)Y'LBZG9?@ZA16Q^6"AO7QMO=\21:F7C/E:36 MS6Y'=V$V4'&,9#@E6 X MM=& ^18Q+V&%>&I'8BG?<\0%5MB9,$^C#M5%Z\I.CKON)9:.)CPVKU@PK[,R M5"_XQ:5KC>9154]BJ>UWM8TYFE5U=5BE%TZI8-.#V F86+IA15NT))&'V1*G M%SUUEH>C$SA"JITPA@S$VY&ZR=;0D;);3J56N/0(K@EYEY<57R MO1D/A=LZ0JRME&U\7%^B/?"$SA"6!$I.DL=+0R$NHFBN[JCR^MM> )'"%L61TIW MIY;:^JY8F?96P8XRN7AIXET5J@E-'++N"6L;;Z+X^4'DID\\U8-[M0J\ MYP;PKL2/A'QU8>>Q>;0T\=1!SQI6+'&R@?EJL:85*S8F=AD1.\(N;6):*<(S M><.AZWUU/: =F#+"I4?8Q=.@LN?BY$ @_998EBI4OLJ$+W"$70Q,K;/F7&OK M91R9<"UHM"Y&3SW"+DQO/$,+!*QR_+ZIVWIO2D&E>&F2L -L456-[0!&"T4+ MP;8Y6BU6^K#PI#5]J71 MIEH,GWJ$L^C.7IQQV@[E)!O'.J/U=E8>ATN/<)8?V,W\(&]8 E2;SLW>6&ML MU/#"/,(N(YV,&5Z70B]'6!#W?3ZS264T3J1DL3URL^J2X[@;9OZ:8V&:DEOK9RT/BI MS_=K['-X,=T/P;G0*#.DE:M^?_[FM=X5:4]/AFYD?LD' ^_9"Q+;U9+OV<^_ M.%C5\6]^L;U?A6V>UL )J]ESGE_LZ0.1@UKWN4:'%/*->C=,],JF?/5\.WSF MS+"#9[WP^6L">OGZI MB!?]8 @2(,2%"(%\P]Y-#P.$N!0AX&_(NSW0 24 -MT7(0 VI800]#<:J$UI M( 0"[HB3$N(/&Z5_:#]<;M?YYTC<:\?Z13I,?70]9NL,0GLV^N5_'XB'SW MBG^CSUM.D?]B:(77MKEF^.N%F^,L155RO^O%@ U^VX@Q;9?!692_O^JU>0WTCSJLYB*+W,W- M'-O,V2LU:OIJS7-1Y=0F-+15]_LYJZ>NK05>N^[R?3_CC>_^H\##G8TA!K)P MO[O_R-%]9Z)P;1OPEHR\MS,O6ZJ7T^)6-[DLZ.GI&.)Q<6PZVOX@48"(%.3[7731[L,0ZLLV7-@+*O7W?5,ZCCW3O(;M'IL:;%=8SC$0 MDQ/,P$/E;D>M*[LH(1U[^(&CCPB.?:HK 9"^FY&^JU_I%Q:^\\X'>5?X!L4" M1$BX,-!-#IMS=8N@%+T;"A_Y\ .E'U$T.1 D"[Z)% X$N;KVPBA+W_6B?EIN MSK-SCAJRI*P9:L[ZJ=:$OX]^DB/GQLJQH\$R2FZZ^^G=.+AQ?KHX/?P',LM2BU0J_-]2XPZ.E,*_$ZHC9!B&C M>J6IT#K'%\CBP$!H;+8)1"KRF1#((P6CP&=RA\)Y=47@IAPG?RF;A6I>RD\" MG^ TM6^OQGMBC.ZBQA7DPP\<>]FFY#JC"4FW64$]?S[P7C0 MV\X<'>ULAALKX+'5,!#C!HK4(X8E=:!3B&3&=9UL>J,$RU'#]]JK2NZ?\Y!? M_B]GA!P3J47:TUBH7,BR:LX-I!4P8&_(@$W3[H'Z]67UZZ<<_T3]8G@,F[B_ MS[$LSA9>G08H$;1@<].C5TY)\W?E;M2M.E2\T$>42'JPSCK %B# _>[^ZLK> M3?FZ/L:"WXZU[E9:;)V@.QM.PTH0N[9;PF ?@T(4B'RD80JXOV[$_15/9,^% ME(3BS.V0 J8+#.M;1NO,J64W%5F,Y2V:O!M*&W<(]1\SO2>U;A'O5YLZB^Q7 M>G<_:@K3(!H,$F5ID21(T0(B"_2HR^A1GY/8F=BME_!QOZ";?7A>-Q:&,QW' M$AM%#$D$)&[=B*N,74C6/'R69N4DUU4]-PX4&IH4GP1HW0/,XYMVD*7H/( L MW._NKZ[BI.LX,JX)I//"C^9?AQ_ R')(H/">=U19U3;1N"Q@;:46HVXH&^BF M_!Y52W94R56+ZN'OJM5[$:=W?='MRAB6V'Z?T7=\>S[6]$&3:W2C::98:%@A MCQCQ.6++V,:S<9\W,\J3ULN# BXI.7 QAR-V3(W4,]6O:3>9+P_"R30\U; ML+X;4D!UF$@\CX!U@R;BTH\VCU*[*$>*2Q93 PR>X"4 M QWLRCK8GPAY4QCWV1YL>SID0&-^N=+GO4T0"7FHD6'H(T5>.'TOXZI:JC6R M0ZJ.[#N.:KVGEMT%+F<9?H$NE0)=*I8F]B!,,;P>LWC[ZTD#%\N+KF[:I-\, MUMOB>!,J47&':11^A)%DDUM0EW8',@DTGS-H/I\2R9)M=J9[UIL*Y1Z"5:@] MO2YS3"22DM<>E:4 M/OD!KKL#B\;MA8?KN[$Z6%5F5;LRZ8H(&A:JSD&FCN"KHI2Z]JCCDOJ:K3:61IO?+G>AZA7W!" <9LUXLF)'B$S4$/TON8\95 MG&SZNE[RK5Z5D@$+]X8L7)!TE4W]Z5@^1N-)1G?OF:VS9A>1%[QO*MNQ%O5?IYLFS,B9OE-.X#':"PN,)LK*,+TRO1O0TKX(R(Q*W$0YL9 M^V0H$+D67'5Q7@T +6;68=6K8SC+2O,1IF_+[$^)>:#=1M:RMQ.$LH;J4\5-V6F6&8B,8^S MK!X1]++#+#.NLZ5:-7N;6/^!BG87"/U70#RU'45UH,/B[\AJFW-M0U-R_P/' M?]("U'^G=UU[+I[%LG+LC::H2FZZR]DOL<:(NAO@3+N D7UM M;+R.L^W:NT[/C7!>_2\4JP\EJ]>C6C!^4F]^"!T.U@T!A=1/:5.UT*-2(L<-E6.B<> MV'3- GNG$=C#!P>PK6@YWB*@+-^;4K8[1\&.J7CP3IHO(>2/?WOE*U[I]R'+ MS@CXLRSRP_<+/PBU)ZTW3RT:$U_WUHE\8X2SNST+!V3 X I7),4;/43V;(K< M@[G=F6.5Y3H M+]GF8Z\BYLN!WIH]-B:5+N;QN'""1+_SY0X 3,PE_!$ *OV>L M?0EQ?0LK$^U496R5Q6XJP?,U;9^1Q+7FZ-*L?[H7TQJ"T8:NT;=OM= M$I,*Z@R=$[B7'8C.F/1S,>F'6TB?:G_HG_&H?-,E&,V"*KMJ5Q!'A M49Q=Q.9H^64G/+Z6372:\2RR6S33;!,3%Z5ATSJP,4;C0@78^E(S:*=I.LH0"9E MNP>S:#*_]!-*K,R .3H#YB?9CO64);>R'7]Z,*[E-59VPQNJ@YL'8S2^&\N2 M7 "O-JYJ+B@Y1GGA1E_&XU^+QX_>^#C]W;W78?'RY,:YO0]+B.[UZN=75J_3 MZY\O,(N+WWXH.9'9/Q6759,ZD<#5@)YH9L8QK?[#=Q&/ M"QX9+WS=U7_X9MUQ@>/$]?]1J?G=_:FBY_O> @8,P* %^YORT=QSYJ3*MNV2 MS![#1Z:=9?)\:LEU4'=HZ!:/B"LT2QFQ;OS(J'BY*$XV>=GGZH2XQ%TRI3QO] I[9,T9%EH.2 M,?5GM3NRT,7QARZVSR'901!IKD%LCJ="RR;20RKS?DY0ZIR72: M_Z1S.?Z(-^7F="7?AY,>/34N ^ZZ=S-[8 EOXHM2N9PLO:R$Y=>R?TXS(+/V M_/9MHK?3-$FD^9=BJ1+BOAYGO4+GV62$4*JSI5O+5>ZY@4HCOPC#FR]R7).8EALZA5QL1';%)]@?#6\SQZF(?Q)?>2G(6V/DEH"YO93Y:5X05A=BW79_)_CVGU'VZ:G7[LJ[/VDS'C MIM*\A-GV4*7H3GEU*REAGKY1Y/' N/>""0(I3BI%\SE9VB^+ED6_,N[_G&&R M+%GI4\6&KM!LXV:++!Z4N9)':G2\W>&,C$H_RR(_7#F>_AY2:AE7/?])-?PJ MS%$70YZ^+0H<+2Y;GR"TXTTF'C2CVN&<35 M@S,_YQ/Y.5GBSHD%+U)>?%X\-T;H9C8I&MJ@O5I-KQ\:1K_O=54NKN2;8YCL M#%7&UR<>EO@\EM>+V=K@KLV*%BR5082\NU5UZ%PO,UGAS*2^\3- ML:.VNMKA"/F9KWNR-4D_+&+ST5#XW);81DK AN-,F+6:%JE\60E3WVM-FR-_ MQ=,/?#L_;;-1N]X8JIP4[S$IP@OS,3-YMQ.9O/BLEVV=OBWY6S+BIV:DV.=+0NCU*O3TBJN4^O5'W=,6 M6%C@BUJ%'"N^( B)%5/R9%+2,+V=U MS?@#OM=^#D3B'DX[_Q*B__BW8;*TK1.W\&*^;%N5A"NO@"G;+A;H^/_*$Q-> MH2#T;2-$)KEDU36W'VRT/"#=:Y79#5N,KMJ#AC76[L9-KJ8Q(-U))6U!WB^U MD+%\QO+93NSK&6EOP^8_M>::ENH$#Y7.DJZ==T-.;['>0Y[P.PX*RB_ 7AYX+@;/M("5$;QO_#= MB3 :-C5'K$V>4P"3R;5X[LX>Y$&DT.6.R!0KD354^;C*.2_G)#&KKY6)C!// MT/M4Q2#>77CLR8QIS;E7'J\7M,97->Z>KI5]LX!E!C8:A=PANS&+ )Y,!+#T M,T.1TD)*1]#0Q5O'GD6%(T3-"$%E88!/N+>3;?G^GAHH!&K;4AD65Y".!;_* MS8OG?O>2UNANHW)7O+J@S>''"/X#O^^TE8%1EA8-%J4CX?1%ZY] M?Z/L2,CO=L63K'RON;MEF@[V0"?<]:; B>_])6RYSW MM\KL^*-5P5.@L-@,>_>S6S&J(._.,(*:-B\P M'Q0H/*0)+D+.FTQ"=E"J^",G'*YNK_FNRK-Q85/:?)-7[R ,RK=$;^[=6J<#3R8MRF+Z[87E"M-,:\ZE5L#R M@F3["3E1>MGU95\VUO>?4 /*/IJ)O3K_&$ YR-^>6 \AJF 8WA2&7>%88"U/#YU#@$W$7-:!#*LE!U1P*&"I$TZ=M:=.>__@O_$FG;3A(\S&5 MC/XV[6#F:*OO!,#)!%*9PDIGG(#A!8]&"+/X=XX^8_&CU'*A_X5!N-'U5G]Y M SG.LX9^VL,;0Y3E-X[WQ."5-T"S\??__I_-U>PS7");-R"80(8E;#1$>=U' MVB2O63#\=\U9:*L@6:L,;">G$[*&<_\BWKZB&&RA[:IMLQO@"UA MVKR#K/![_%;ZB,CC])D7V%BB?/>1HX7V'.U@+,%YZ,V^L\R9N(-O<0_9;W+L MBGM"S'\U:N1C*?\_?<_8X<]_-&3\%7<$TA!4@1,_6<0K31YMD!"&*\RGCRD9 M.W\EK($(3R620-N>7$HA@L@9S$:D:$.@/<.(N\@]A+5WD3O_U;=&2<"C>XX) M/W:NZI?MJWJ/ZE6NKNNE2H\JM:\Z[:M"O]YN_?<_^CO*QV?G66JWRI56KU*& M^;5Z[6:]7.C#EUX?_KFLM/H]JEVE2H7>.55MMF]ZU+\QN]4K/= M&UQ5MJF2JK>J[:O+MV"M?VP!:<2V515-M$3&X%5#,$R51V"0RR8#?W1&M@P> M6<@4OL624EL?E+NIT%%/.*\,M*@VN+DM.IK>7> ]_]V6E^.V-3=J]F"0EQO5 MZV6A-V@\%%1VO^5\W)\-&V+ 3C1F,A_7&L&<1KCEWNAYK8X6*WK4JT3![?W5 M[+RC11==E5/IW9;GSM2^I>_TVB0?7K8#WJ9Y11A"R[W1[_HMY>YA?E48U.XO M\O1#MWJ]ZN$^]T9?/'A%J9SG"@.;YQHU[L8.Q6BH\@=&5_3[9G$H7-(/;;V9 MUY0@:CP65&'=DAA8:SLE]@5! SG:+$#?TP^;>,>:/-'J6-<8L39+33YB1&A1 MZ*4/8A."/-DR-#;[P7%B8*. M^Q6%,T7Y2!=FHR'\^':;81MKYLX$]HLMF3UCN"^V9(8^XSXTF)=1=D;9;T;9 M'QIV^H@UGRDGBN;?S+$[(H4LI[[^'[@&+\/VD0FMUU@P6(SXX?_W3?CVDL6S M\IGPL=DK\C]UP>PE=0F/1P%5<7%QGXO(17'(AJ-S:>Q&_VVR>'..E_>HXKEE M'EI(QMI':*+\"5KW_^Y1[)JOV5_Q]4]5&'LFG#2GXY2"W^3DC H.4<''IF*^ M AG0KT0&IRGC_]'N\0?'7DAR'KFOPO)\RL:H1T'X^I=7')%3^@%)-1_KG[Y^ MSLS[AU6.Y_CQCVU]Q<0.VH4KZSE4$I#!._ M_9!R$O>RFD:OAOX/CJJ]31SMF.TMPYLB*M26*,A1+B*5[7QD1?@6,1\9R)ZC M/SZ]>O)"^OAE\?LO,C.W7MGPQ/Z)[;:<@EEHMLUE; MJ'Q\*B$GTB\[E)#Q[!?FV<]?D^BM+:D#C/K3ND%C>E5J7VCWX\'-8TF8=RX? M)>FB !R+SP6\XI6KG\=T.N485A,7B3$I+0A0&%">'FJV2^Z2>"H2C(TM%WKW M9@A3K3ND'/S2ZU>7.WD!?L*>\1&M/C/37M5,N\*+:UN# !4PD[<3%J^[:44H M?.M0RMI$'#1M+<;^ >UP6;WJEN3=Y>!RBRSQREYPQ5 5BS]$Y4=K7$)F< MR.1$%F\[>BOQ=>5$H2ZZ+?NB;0]*][*YD(6R7:XO0$Z %'K4]Z\X+U&A\SF&2V/-3SOCW+BWT(5G( M&^?]N3-&^&)+_F@M] %+5LZX(TE(S@@[(^R,L/\9EJ437?+O)I)?DPN?#^ITLR ? . N"XSA5L$C1SQG[MXR49&7P6 M,OA'QTM.7LC_4:'GCY#^91M?W8Q3%TUD.)J/]^1=DW*]D%JA,,YZ?,OJBQ]M M[7UTM=9W]U_?N!CK>SBGQU)K]=5K,Z^9L:.M<,BY%/D^B-Z":[8\UXB_'-CS MFDW/_8Z9O.?3<^7<+E6/9][T[*.#KCZ%/EZ%>OGOR''*U% M2C_H7O7Y2>."F34Z76=FK@KQ"1,V)ROOD.QR1/&W;!/[!9O8KUK]>M)+5BTY[)3C/ZD4??[WH).5%8Q61-A13%3B=57E3E^"1:*DFPPLR MIPD,RVE)VL?')Q^]K,)TO+)6NU_I]=OK8L^;M9Z3E*1"L]#:5"^4?-.]^ZF *X& G=@!EV$?H3>R+I^EBW!;HRE M+X/!Q;!_QVO 4KP8!;:+@N"52<&!3E.E>4S&(R%1&UO/B3+_U<89T8]V"%1M M[!/DMQ]M?ZBY]B.A \+ZWIHJJ 365+**CF]//=\.J![RY[8!TRYY_LR+6U/P MW'-1>@D?Z$%LN% SW\/>)D@<^"&8(6SQ:YX.EJ,L30?N M(G//D0'!%@#G ^4H'X'%:Q#O(T>&0RY & $Z-F<+7HQ&@>J'M=F6#?/3M8", M;$0!V,-XR>$(3,WAB/(B_Z4Q@@ -\;BJ6$ &LUQ=,@.Q'5X5S+PU$^]>^^Q, MO57=BAOD V3@V,$"+-H N7MR(YKJR&];5PB03OR!7CS;ISN5Z%B2M#3?5W65 MOB[V6OU@<#.4IW?*]:,J@"SY 5!!:"]80"4K#\ZHC^&6(^)B(.N1-D=K2J)B MFQ'H>&3/ B#T< 04._9\*@K)C'-4B!P$CO84R"JFZ0#3L67C2\QSU R%OF>, MT!2[;?#56R ?B-XV@3&0-MVG\MAGMS&?X)\"S'I .#/-#PF2")L#KP6$$O!X M6\R("?XW&"4'W R IJMV7=30'@SLJ SJD %D0YS<4,<(L!#8TZ"UEOC8:LE MF8B9='RI!2&V:.(F5&$(%!BOX]\8Q2S]]V6O0#XQ?_^5HQ8CVQB1?H;(!9GD M@"R:1DYHYU=@WE/:^O4S,*) YB L/O XAZ82=X$%F.5[T_7" G*6E$@I*U;R M3T**5/2 =3HQUO%JQLC(6"-F#0Q47/ D5CWQ 5VL)HA^P"@H [@GAPP/]:H)-3B>KA/< .1O[ #/). BG"X*U$)7A3B M.0,?&)OQ+VL=_PK6\:\6:'ZX<@18@N\PB0]<3:RFW:"1C,3U/W40"\$J260#(UT@BZ!>8"%V25]Q;X M;#7F9]NT-1]$S=F7)^[?M]Z>5#&5ZN+46DN-MWYBA&!<)+-XIZ/=*33DA>-6IA.C.%(>QND%8#K$CB$.5VJP%1]79B 9=MW+,>)4;M1KL^5LM3 M.PA2@_YP4_P+84][;COIXS.8,WEJV7X04HF@Q/3"$'J)#S_&Q')@]5@2 [I= M%!,,L5- IR/B4>,6J8(D]4%=@(NWZWT $VE#(OBH6!^"EQ=KV6209 ZXK)4% M)D\83]<#6R+MW!C9R-IP)C#Q$&!,M0DL)M7XI7;Y,E7YX+F0?IZ\AU2#+YZ, M&F )W#WF(1#E/G3G3Q!6RFUXBGN#*0TC1_-!_OMH;J-%0%YXFLFVG(3'A)#! MYR FD9G,(G@":"82,>:3/40R@%K+2!&60I#8$SD1K&H!2D+ MN@[8V[+#V!I/Z"(&,@E?1& X!C K ]8()F)(INBCA\@&VW$ MY$F(Q<)AC:FIMDK9?L-),,@\[$1;X$"(OVXU]FPL"M.V>)9/\040M\0MF3EH MXW40EQZ0#DC8*:;I?8K96GB.,I"/C[=38+AZ:]\QYBLBM)X>$\DX6B?DP9 M!1#!AA=@.S6(L-<$D]0,0@+IJF>@U MJ?B?[[INA67?/$I;U ([:%L=,*X4LQAQUP( S M/+@E81&P-5G'<\5*T7?=\VEMD!]6R^/Y]43@[Q>Q449NTRR$S[13<3/FB**_ M;&+4$MA@:MR$3A8 _B,7@M26M4E@(DG)^*5+FBR*^D56,D$5Q@JQW^S?'X>( M.RQ82<@PCD392VKJD:,\:'V4A^+ G<&L19I@3R*.G^D(X> )#EO%80(-6,8W MB<5%C-.KR$GW%>@\S6"*NB(V'*:G^(=>_C;5O3T$EDAL8*1U0*B"020^HW \ MB$L.?S"7I/;9ID_VWWT AB9S%L"DC V&WC.*87.*+/J'+F]HA=/:J MH:Z3X-S^"$0:1A %N.F"GB6XU[$"U\S$LQI'[H9KA1$Q!8U**OR"=OT%NL^V MV/ )6;8;^]/))DZ4;JZ>4?&[B4OHS6PW,:*>[)O8PD[[W.HI-LP#;#]0FCD& MXR2)N&*: 9>41'8M*D[3P$L *Y_8&T]M_Z+ E41! (2YIB-+ SMWMB'V4^Y\ M=F%G:>[&D8KAX]@8[OBVYW>@;\^\0MNVO> M<+37PT@BAGP2/TU]62(.-\GX[*"->8P0.PY:+7DN%GIQ3U=V,"F!CK=#_&E- MEH;37?H]_WY!BY-6:>"& [];+>Q;OX?;O:GU^]I$7$JW"HU-N.R2\@U*_"UT MR'=GI15HO. ]3!*Z/J@:PO[R0E,"^W;2 M\P5>+#Z,EIU5X=L/SSVP;VDDLXB-T#0_91T:#T=:B!U!;3;SO24L/T3.BQ$R M RVO\EUU-.*B1GLB+H:EE6[W*V*Q^\H(85]PY.TP-B[!D9U&TP.P72/ +*[6 M.'A6/^?9#2S,)';1G]<&BT%4M*L2RR]HO0 *^D"!UW\1M]4+B>M+QOZ;&GD+ M^.CG$H,KR<"*\8&_^G: ,CO(5\WFJJC?RY,[6ELI$F\NQHOS4>$G=M"U[116-J!BDD)&L[ZR%W_ M<$FBBVKB*:I[A%9<%<&_&>']>])'VK 'E!8DDJ"%PE]W ^X)VNHAG<*^R(G[ MNG)IHT(O=51IYYOV[&+@WUKCX28'_WV+'DP>HFN96U=Q40MM& WBQ6' MGC]("WT1"GD?51K(**@L;Q[RDP=)>:@J4ZO*,-UO/]X4KU]:P+\/7A=%;K!T MT&-W8E\P;G+J^<1E<*D0 M;[;&HBE-Q=N2(YG-];LV%_W>-M?.K1J?@B5UU%075K\V']S,RG9#**Q:?7'K M:A#^396Q4IM:7=^_K5=0Z?S\=ERF;R_KP(K"Q]E1R_[ M*G=3O0AX;Q+5E^/\DI4?"]W%B^VM3+#_EF!_'YQ6;^^M&=T8BW1#+5Z,5M)< M-=6?;,L]8VN=4;]O'1R1*$@SY=.?CI=N[N]*R[G1G3=I=J)YJ(/:%ZW^Z]/- M\T0S;IB>Y)7*-;I4OVOG[Q\#[58I')4@.!V,UCW1,F?3031@K[OF4!@I4\5_ M?>G^/$;U6[$\';>+&MWNN+QW[HV'E^WAX2V8?3$P2X^@;)SY3M*#<)K1L7H! MGXE&WM8^+"-'K]7*WIB^*:Z$B;ELCBH=T!*,<"@F=VQNP.G@^=?2_6WQO&BO MV&GQO%&E:_H%;?0>;%UH%_!UX0?QO&OX;SL&3TF!F]OT1Y,6O3^QMZYQ*X]IIT_G+\HJY M?:NDU3\Y[<(E:7M727KW>E74]M*S@R^_@FD,05"=FNG-B$)]@N7L+6'YBZS. M/TBK?0]8UMVG,QHLS2AQ1D*UT"M2=A!$ +]";T"UO#/R:YYAU[4DZCAO%%%] M;8D/T8+K!%) XNF_OE,]>SIS;&N5)I1N4#,.(V^^N"Y0$1\\\='4F^/C+4D> M-B+%ZLAYQ"2I.JG2@M-*$VXG]>W2T8DRQ1<)X'2..*9-CNF 4[5,#B(,(SL^ M%@0]PD1];QZGO,+/Y*#P+#YS@_.T*7)0 P, _D&6%?DW.G&5QV?LB-U?5*V MP5VY0&1!8GO@[B\T%Y\*TM2WW&:1D8U")/ATK!:,*,OQ%L'9SRY,8V=QU>XC+.S[)NG_ M6P+]!:GFOWFK7%+$5%%8P9 44]60+JD\;[&J;(FZRNN*KL@T,@71^+9[4[U[D7;K[:+- M740W%9FV2X8D,?<+\T$M'+ICM[54^@M5'D@5NZ(4NUB,-RX8W?=LCI0 M5S?AA8EHK>+W5%VHW35]?&^OO-M2O*I$-Z(V"E-Y-N5]L]1OR EKNC<[? MR76[JO=:=+LHWVEF?K@JKX:JL#_ZN%-7NVI+'%16UY=:IV?PJ\D%;KDW^F+5 MT(N.W!P/V$NZJ;2O^[WS(FZY-_I%H7N.SB]F-_3#L.06>G?TI<(.P=\\?WA\-":KRR JA,QJQO(%:+DW^EW8 MJ<]=Q6W3VLWHJC^[] >];D&5]F]AONDUYBRK\U-Z^OC(U*VZ\AA>#U5YO^5= M_6+!C'4D#=B\?S-TYX_A,.Q"R[T512.?'I]KR]M)X_+Z5M'9B*M7<\WFGAT<;=E&-Q.F OQ)IR4T'F3G\KFN?N 6^ZM_:$S M*E[TR]41_=!KM^U[MEZ%Y9EZ=6YZ!JC@]KMR85@+NEW<= ]68>O6 M["]FC7:EQ]B!G.=;P_G50F4.7.Q=&)W7:&5Q41BPVN/86W69JIF'IOP!ZN.J MRVJ[!9Y(?C&=M?Q Z9F=(6ZZ?PFX4Q8O(G/5'VAM[;XGBU?7HMVEW<= ]8;K,Q MY1LENSAH7^O+F1(*YL6<+&L/6.YEH7>A7 ]&M*W4:X9];YO^")8E[$.@7NS? M7*W\ C=9>?;*&DU\EL$0$/>;6A*GWH_X2K.2OQ@\-MCR#=_%1'A IBA,<1D) MI8(_T):-J.[/;A5F07K=HZRJ=W^5'YP'A4J);;&W5U+KFFZ27O?@*L'21:]* M7TW:M_.\,2IJQ6*9]+HO_HH39)HKJT^7N.O^N.OXXM0FO:; >F/ON*K9_K7F M1*C\="A\W^VM^==3VEUQ;@6!32XV)>_QX?Q 28C#[8ZN) 2?.,EX\119/76) M-+SVS#=.YU7HE1)O2,9NQXO*%/T$GFE%L92^<.FBK65OWM@R\U&>W-GR["G8FET\4.S=I6Y(G!X:U;P#6G$U5T7'B+N8#P$C UB(W]P_'\R M*G'4<,]/A^]CE^]#BY8<$=_4W32TD-N 6_!47,FD]!751'/D)&46@#)G44AJ M?5(/$2D".O/CBF*1&U0(DO&M3.0\9(I@>+:!WS.J^I(Y ML)MS <:?'%<0VJ#/#P=UY.**T(E)9NVYIJ+@Q((5Y98E]Q>D:*H0"?S%\^$ M2V>"!TV+C;H;HV_,;K/\&0EM8 AL B I()J4>POL,$I\_L4(D0Q$_-<.H'T8 M.B!3; N?(\LE ([!C7OY^0#'73+MC6V'GC%"9N2@MK6V(@J$" NNV7RBP405 MF&WW*I49I!83.0FY;VLXEG^WY)HM9Y"_&;7;8U1L.\6WND[@U^7@+,]QO 6) M0!+Z2S98<3%X( 0B@9-B(AM2+XU>_( M:J*^2*T(?:V?#BB(_4)'>W5TJ'_'D.Z4<^NFH&S&Q;R^]#IWGSQ3E MN9OG-L[P;O3O09\X*IF")/U.[*/O\<%PG(SPRS/9R0E\,G#:5-,#SXE"],;' ML5\E6KAUK/X?W<+,GDE,AH@C0 1S)HH9(HX!$=P9FV'B&#"1R:8C001SIF0< M<12(R&33D6 BDTU'@HA,-AT+(D V93[=46#BC.(LC5\^3_UPENO-^J MY5GXQZ5'WU8_GA8,#,_!#_^_;_*W/X2'0)_)?%J<,*T R$N"!+;CCYN[FO$3+8S_O4IWX>*O92U$ZVWDMQ5OKP*IE\,E M+4.XN;9,8ARAQ/@3M.[_?34B?C[<]Q4P_DMO]H/N(\\8X8\88:TDV3]5DHQP MQK)OOO1_H@0W;@YZ)4%PJMA^&V_]JXB]=]#VIR;V,K/N4U+[)W4$_US' 5$< MMX[KDC2VF/X[))?M5%3=J9'"T9L[;9P1F&'_S; O'#7V7]_8S73\D9-UQMI? M0\?;R<6 MLGU;3T_()28 .5N3B?POJO7KY'1AAOXOJO%?%?V9KC]RBCY2KC[>#>E8JY]P MUM:_-P_6_W4J8OYX"2+6YY^$(-B,(%Y)PW\2@N!>BR!.TQ+8OX[<,!"RK&?O M6/\0$^&YQ1:28@FDKB)#@ELXE7$^SS/>?X?EW07"LGL"?&4:OM?J/SN[\ MX-6_>UXGJ5)QM/#XZKSPL2E_&2\<$SPR7OC"JW_WQ-?CYH4W-Y)?D1J./6Y& MI?\GA>E+N((]N;( ?\#EP>::0VIOGH*[^R9L?/PV[/^>Y*&B72%#<4_D^#>^ M(N%E-U ->F55'=/GK5Y+J58>M$FU,>TOSU54V+Z JA"H;6NC-&%ZI].ZY&!Q MM?YXGI;=(S[^UA50ZS;Q#@!IP.Q<);71Y<9!SRJNMH=<8W6XO\TCH>OZADG' M_KU97(E2QZRL9H.%-=/[Q2Z[=;-WGON=BZ6 M_&51?!/Y8G##U1P7M\RQ7U+ M"TW[@UHTJ;0">U!:^)+BCDS^QBNH,BYTS4A23I&4 S?.G:+H2(,?IWAXYW-* MA*3:=D9.ITI.'VO%OATYG;A%^CGBMQN5@G\>Q"7QVY_W\I,"\B3T2U%9\#<+ M_F8!KRS@E06\,E[(>"'CA2SXFP5_/U/PM[YY\PH5++39:;K:6=#W9!3MIPKQ M? 3=G6PLZ+CH[ITV&\HPSSDI_EIW@]"/<+3_R@XF6UL"J1B^ BG< R'\\]V% M/]VP8-]ZP\+C7&-:7I0FDX=94UO8Y3+7UQ9_O&'Q!+;UZ&WKZ6$:^5D=V*] MB_$H7T.77 4Y^9ZJUW6I4B2WLXK??H@Y1: _R79%)GQ.QJ+. M$G'8C>-9OW M#QYMAI3C]YYN",M""5F(.0NK'0,\OCHO?/6P6L8+&2]DO' ,!O&1P>.TC>BC MLI4_Q#$]36'V)6S9+ZJF,P+^+$HW(^",@+\: 7\&X_!KV8"G$4C]54;O5D6& M,C+(WE*2T,L\566@LZH,6=0TBQ1ED:(L4I3Q0L8+&2]D4=,L:GK24=.L*L,G MB)9FB9(O3I1D6)5C<*8D?5)E&<:#61C*GH,&FJ>.VI>M2<-Z+'Q(689F-1J. M;_3+JXI=":P:5Q@6KZ9=E>%Q70:.%7,2SW^21,?L(/VQR8233MK/R.FC[=@L M'?931W'WZS+\))3[Q[49Z*PV0Q8"SL)>6=@K"WMEO)#Q0L8+60@X"P%_LA!P M5ILA"_U^&K_\B]#=R<:#CHONWFO+X:L49[BYF=R4>MV2."EU>U'OCN="^NI# MBC-PW;OSYFHJK08/_J,02:K!E9RARHBX.(.28VGAD^Q99-+G9$SJ+!J]-H__ M$^(+[7^D/-@"B>C;QM%,]!5)P7;QY=[?.?'9>?TD MT.1\BG+-O57,/6',I> M:X^ M.@&_C1CZ!'YRFR?D;U1RA /YG%$+F@@AQG16FSF>\M08R#$V&!N*;F M6%Y3NA9 ?QZ9(3P,1IX?YD'134'6AZ!'2/>4H?G^"@@V>0GF[D4^Y7CN,&YK M(CW<'"$X.(3A36>:;P?P<6&'(PHK)Y@E!1"=:[ ())C"@MNAXAVK_8]KS'_^%/RDZ#0=I/N;:T=^F'A@/162E8ZXP1,%_!H%.]'P'")+[.3= F("&)7)MB/*Z MC[1)7K-@_.^:L]!60;)8F3ECY/3JS^_K.SXY/"GEC&?^13U]Q$#9P]M46^8W MX)9(T;C"2OQ6^HC(]O29%]C8@OCN(X<8)CLH2Y >>K/O++B,.P@7][#])@X_ M]X29_VK4R,?VZO_T/>-0D9D_'3+^BCL"]@ ;S]FZ'CMYM$%#&*XPGSX10\"" M)6Q+N_CR\X37M.W)I10BB)S!;&RP;W#F,YRXB]Q#6 /&Q@:][48:<0B(-:FK M-?]Z2KLKSJV@GCT5FY+W^'"^4'%3YGC4ZWMH+2RL[;V $64'U#3V"TQ*"S>% M%&5H25 N6"C"89B0$*0R=V-BBT MG"$#ZSN0%J 6<7-S[0P01PR;\M"/1VE8Y@=8]I-9I#H,?R&(!>WG@R+Q 4)4 M% )H'_'\3!L490B//!U@0_0E/,7N4P[/WHDPZZ\'BD 58N5$?MR 2*P\5C9R M3*R!YO!@HS^ #H!AZKDPS$/DQ>H[Q+\ZH&9Z"%$M>$@Q=&P>,G^3?UD@?**J"<7$QC))H3"0C=8V6'AA9=/E'CLAL&WL[52VZ3]-R%K MZOF*5B\D=(WPI2H*IL"SFJ#*DFRH/&,(JJ+0G"K*NH$$'6F\P7Z+I4CR!BOK MLJ:9LJH;G*#R LVHBL%IT!/-,8S)2:9%;[^AFY(%GKR"Q^!4GF,-%;J05)H5 M14-6!(-C^>TWD(1,AK8X519,2>5UDU5E@S-5T]0U!LF?L-2609B],4550$"Z\<5D0+C,H*"/&*J>N2 M9FV_H< "M)%W$14>5J1505)ILI9!LTJ!B\8LK#U!OC0=FMY?L_WZ_IDVA-L M0T>-176\4!EU9_XT+8DZS9BJ(HD 55XV55T41=5"M&Y9DB+RXE[?%\NPR$NF M;M-BX6[B-)>-T6.]J[([?4-+(= '5XS47DYZ6EDM3BNK4;M9@)8[N+58TS0E M0":OR7B%DJ$JLL&KHLX#CAE=Y!6TV_?@(:(?YE)Q/D%-_J)LTJN[&BUT%651 M'2Q4?G^%?*38R/+KX.$#28C?,4L0R&@5!R9OJ8.3C_IXR0OLP5-'Q MC,FW5!E.ZJ@P\\WSQD [O[ 75=I )6,81\) >""S$#[3+E&:% H,;0:3 %&% M/B!U" O9V'P0$C>\8#Q$=FP2!.N4GW=W!/=E^Q$I_^=5T 8 L3%7C35YW;5\ M#2LD@WP]!_"#$@6=V6R6SK!^RN"\-].V2UUHH(;]%<4(.0JS,EA+8#M@"&,3 MZP6PI?Z=V W5^GEB OP5VP!/7C28(/_[RB'P38$DK"72TY%F M;):I\?*V5Y"S1UM16RF MOE>(P9Q.$04M%+8MDD.?(& =!#CMBZP"_$W$TQ?$8!VK!5C0U9;VYC>Q?:0 =Y;"_[ MB%AQ0!]3#5N/.#*#XEA*$,_5BGP\M2//+7@'F-$=N$NF) M T8P@!LD)+LVVXE7&<2QGXUIK/ $2'^V2SG : "9$2@#&!8_#4?KKS$7;D\D MGGF\K@0:3V $';8=*(.A -K4+/*-$4P6NQFPU 5 TL)>BPE0][UH")C&;D"J M;C%N$9!_2/P+3 BZYF"8&?>B:]$,R#$? GH)^\*/U-X6,F MX2H1/%C,$P$6!00"L7\'A&T@!)"U?&^:4 :($A.3M6=9R">.HT>H>H49P?-3 M6.$N-I8*OAF.])$50 \NBNF"T %NJNUHIOKYV<=HG2/2,?UUP%A'#K &0#GV MF&,_?$W ))P,F(WI%-,8^=E'CCVUB0@"OY=H$W/#[0]2+&E)H8U4<^$.G*VT M[0#,6C-)W]Y%E@G=@E,,7&U;(*# G8=)N4-X#T0S\!4F&AOT%(Y*I]/ T6Y, M*D]Q<ZZU;\3ZO88UZMG^[FVJ M3P&;9A2C+D'_3T@9VT(Q=>!PR,+S)['PG6'Y1F&W)!_-B(34H,\@@CLM&AK][+ACLUFJTEP.HD&'^B MR2=*#)XGN MGS!3>GD=\0GF&.X8!.7CD^";@5[PR+6WO;<3(L2A:[\ F&-]!-$B= M(-+'8-E@NDF,[40;DL9$2.AH&R^!AW5VD,BEM<@&\PM,RP K;^@L?2-&( ,C%^]AZ%((_1&%:Q8(SL;O3O09\6.#$II:7?21K-]SA= P\ M\Y<[]4E>!ADX;:KI@>=$(7KC3?K# 4K2#@"/+!G M7(:(8T $PY[)?(:)(\!$)II>%0^_>5SMERKZO7=R.X?#._\F/K 7!3AX_]?/ M:CB\+ND=21[8VVJ<3['(7TKS$SE?^WGI][6*UGR$O.IO[P%N"::W/"5]0NA] MBW()[RZW#AY+>K4C[Q\NHM[XM.1QI8K\SKG$ WMC/]O@8@Z<363/K9%]'2[- M0>V\(3\6J[=!:XPS&KEO/T1&R+&\\J+#B5]0;)R L=H$PMA.YOE:BOL?&IY) ML#)QLYC9D@+?RC:I]%S0)P="(O4_&@K/&Z[4OS-5L%E9-^'SJN]--V9V0/(W M5BA8R//QL*(UW,**6=Z*G?.NRF')S] Y@=W/:_CK:TF/DS7[=ZOJM-(33#/- M/J@!/HGVWNJV!%/6?1NZ.4?.'.%EX"[!&LKO]_L[0:NW=!FV92T'LM;T(KQ] M]B$JYSU\B@]?<>9T_+ZF^:/\]"?5,U+F;(6[*M&3DM>J*8-B=?!P.U1)%7>1 MYG,2^[(J[I]$;+U:Q8JL%L!+:@&P62V K!; B=4"2,Y^T60,@;-41;?@#8$W544S.96W-%[F%=FTC)TW M-,Z2>(NE51XI OPQ9%76:$,U%481-(4S>'[GE+%F6;INTH(JT1:+WT P&@]3 M4Y"(-*0;&K-S EAB&8XS$:TR##[)K%NFJEL2I]*L+"-$(XM3M)TQ>)&6>62I M2$"&RINN<97* ME#E3$SF-$?=.&7N%V; T>V@-5LN5?LV,1+?@%0Z=,G;'S*7.B:9;T6J1'VA= MMW1;6>R?,N9D&LD\3$!!.LQ"T3F@!H-5=<'2#(57 !M[9YU;4K,T'S^VQH/: M@S^YN^YJS,5U8?^4L4(SIL%I #-6LH#2.%V5=4E494Z@&9U3+&Z'TJ!OIO78 MOE7$:6>0ETKM K/H#JYK^Z>,59;534- O*HK&@.4*&JJ+%F,RBHT3YL,RRMH MKV]N9A3.I;P#!HQG]ELWTZAX/URHPF[?(B_K,L4EC5<58'E5 MM#A1-WE30Z*R!Y-;]>&VP3[(=/Z1#V_Y/._TKQ>JM-NW+B*+-30-.-L$7-(, M0-XR317X4^0D'@9&>_->L!6V6#9U=M+H-(75E:.;Y?Y0E7?[EC0623H &-' M!#RK\,"R"#[QL :1T43@D-V^U?9868:%@3]Y0%'=OYG/;L;MA:KLX9(1D2#J MLLH8!@^\SS.JAD^ZLV"^0,\R\"B[VW<4YDV^JLPO!VP'56ZOP?Y;R 65H?>0 M*0FT)@FF*K.:"1-G+563.$85 >K(TH$&]X_1E\6JV%AUVX4!6U\Y#VUOT=#. MAR!H]J#"6#+B$)C;LF5A88=P@04%! S'Z1I'8_FTVWD0JG=W1LF)*KUV[4*> M]!O\+!CB*HL[G5LZ*^JX0(,A6R!)H3=5$5E=Y6B:917X:G![,^]=7&C+D:>= M5V[J^KPQY25OJ$/G^Q4 %%FA,3 X61-!>G+ 28(.(I[5%<643<4P^=W.E>'$ MX^;GZH!&X;(PYOB>O+@MX)N3=CK73(G5D<2K#"@"E6=X!80Y<)$!$MC49%WA M.&FW\^M2H>1TYH/2I,$'MX/'F^5P-1]B/V97JHBL!O)=42TDPLPY$U>7T#55 M!"ID35&4>$[>[5QO#Q[%(]<:=SV9!T7@%IA64P@ 64 MH\Y).B@56I(Y16*8?82><]W.W45[.9HT*M%E+V_5Z#:>^1Y_@@24.%Z65!&! MA.5U +P&2DYE#22+FH9,B=Y#Z)29%DL#IS.KV/F)+5[.Y]T[%6"^QZ""(%F6 M8"HJ8S(*IG.0LQJO@])C:(&7!(O;5U6=U?U$#>V@4>F9[858:*Z&M0;,?)=# ML;L57=QRT>7DOO)0F.=1-=]85"X7N.E&48=#I8:>KYKP&S46\#@_&>/95.+C MS14_O:3FGSF_69YSEDR8X2'+"B4PT?5">\Q]K[7=/?=XXLV@G M1]'B(H,O/#;\&9.D/V)#\OA3%;,4ZRS%^M/D6OS]S+WUGWC/\O13+3Y=)L7G M391([K)YB\2(NE+@PH=I/Z#96^E.%*Z*8L7HOF8V]OX)?6P6O>",/DFB<,W* MDSPYD$K!3TN/58E&9F5U<36\E.6T6 M9$]6A0%=8S5WP2!FT+Y:Q)G@')L3)3%S7T[6?>F0&O"D:CER [19JS:]#>_G MRNFT,)FG5!)UL!Q*]FR(%#J@ MC^[N;*/9==H^W Y[9X7 M5(GL]'.@-UZVTW]:KN#)U%QAE:#_ERW[_Q#H_/TZZJ^-9(U+3G M8,FNS9+8+"VN+K6QYY<<,%)(]^D[*5]?;;)UTJ^W&E7F[46I0>B/-#>]O?& '6Z% Z4Y"6AC@*[HFPXJCZZ6MUU5(78X(^=H MFLX,\=,TQ'>451]?7(Z)[Q/;&IDMGFTE9*KN=U0=D0HMD JI?FO3=Z;L3Z+V MI+0HS>JK8O56;)^N?F/FMODXJ)]K@Q(WK-<\O7X=]+NX.A/>,,_Q+U1OGT0^ M?B9?#.]/D.PKQW.'>7P%<+8_\:G]KY]'CC)==4 E M]!_G46%6<6_I&ZEZ'\GAV+:< JZIAPLVYY079NF>EDCY$A[/YB'#F;:*"W:X M)J49AA^AK4(=GUC)9TY0Y@3]@YV+5[^"YFMJHR3)=_.'1#1U8LET0#,9]:7) MM"_+BTF^U?)7S:LV-V\M<$%6T$RLE&/I?=5T\!:;3R+)/IF[LC[$^ L]=%I( MRIR5;+/H*RN/MSISN/%#*C@V'AVZ NW"'_."?L[0>7%J*,S<,QX'75QQ&VN/ MG"@QV15HI^O8Q#.^PC?UH&"71 M^11JJ*/4A%N&+GG^Y#ILE^6AO\ W,H#R483]:YJ"\G1,A&YY, MCG)1B.^72MJ>OFF1>3:99_.5=S8'%J M(-US7J4G!UY'")'>-A'V$#]$B1R\R.LUI/\'+.SCQ'\YBMEH0P/TO;=1 M!\6JUUG>%:I-VBZ-&+DZOK]WQ\/7]%M*FX*A[P/36,@'7X4Y=%V7K9>4JGPI M31JTTNOI.%RI#J 2(C@%.RO_&?"9O?U"O_";'G^(, $I.=[49:#,E7 M9!S;Q5[J=TY\#9WX'O.Z093M&IX_\X!4D4F%(Y1F)P %XSR$:OTY44^ M-0C3&WH#-,2U3,^HU!;"@3G/L$DO"SL/@#N::$R'\,OZ" M0Y!3("98J.=/0$S@EXM@#YB4YY(6::)'J"VIT$=:B&&5HX;I ';PM&18A(Y M])@@K4BQ-^B0(&6*R/M@;,P\?%,"OBJ;TE*QVXJF@&_CV$3HAM $SC6^FY&/ MK_,&"&_MAW=@[I[9MC#MIF"O!^4U$*J>7R<@Z&O+3@* 6&"V--]7=;UU?A^: M^?)@Y7HPP6[\"__>SHNX0=6-A*.OO*#N,%K?;5VJ1:Y2GVP6M:L M9;,>HKMI@=0U.MLO^T !U3H8\UCTKHOE?"7B^)-:(*=%$66^)'BS@'ZDM:JB MWEA#N>OXPV\_^#/^I_1P1F'1\Q/)L4,KFH] )>+T2&WJ@4G[B,5.K/P6"#LE M\%V#[]H045& K,BA'-LBZODXE.-;R9;"0/8;I5!=#/*K>\:Z;Q0GH5=XB=)- MB>?G,QH00#8!CAN87KKG[.IQJO0K4^?R,3BO:/REUP7>5RBL9X,]18LQ>?HX MV&-AOW!A5K2H* S$FS 4Y/ AOVB\R-KY0\#G']2(>6":C<%-NY/O7K1H>1F! M@>.YB#IDX>2 HP)L4,( SNKLR]LY6_/:](#!VL\3'_C;#PJ,S-A_&/D(45/H M?P1V.71I4A<1 )JC8>GCHSER8X<@6=EK*[%;\.,R&]$(U% -BV$O6$ M>N#QH(U5E,&1+,",M<,J2&UM( _)/9,>MXF&?I> M$(#3YX&;^196R2='7$7S73R-MM\$./XQ_NRYS@G3?J=?08BS MCY_!W]F:8V-_+@X27&ANI/DKBA%2;B4^^H;S8L)<VDQSYX@128EQQ_[/S\V&3XQV7GTJA$,W6Z;'*LT#&QD\%QSQB5 M[\O0GQ1UK\31(ZY<#P2680>L>U^^"VUI]M !B4-E0T QTX1 MR"'#PV'1!0(W*--./Z?ECWE"9OBX#K-F=-K*YU26LSWZ]:PH!O%+L?A0!Q?%69C.YN0UBE MH]O\G3UA[K$GR9W)/\> M66A8WP$]O)92WW3#?-COB^"G650!)&%ES* LA7&;-)AL!F@FBR?/CB$AR1?+!C95U!@)T MUX%1/-\.*+P'XF$AYQD32H=!D1]JL&(TG3G>"J'U?HX6/NTC_(JP822D\EUU M-.*B1GLB+H:EE6[W*R*FI6.E['JK^ANDW1L!C9#]&R!N#/.8NGV@D"'!;W'U MU*2CK?"CP@* 4[8#4HRJ"G;H)=EQ EP8J),@!VO,-3/DV0UN:-501Z_>YR\K MM;I0;BS&X_FXA[GA@*H$6]? >TEF,EBL,_>W,?]CVO,?_X4_J=8R'*3Y>!=X M]#>\.W.TU7>R!YHHH#3)@)7.. &K)7@T(N&U[QQ]QN)'26H"3?\+:]"-KK?Z MRQO(<9[-!4U[>/44!0P8Y*<:E>4WRK7'ZI7A8F@1V&S\_;__9W,Y^[E62;;% M!@@3T+!DHWR(\KJ/M$E>LV#\[YJST%9!LEB9.6/D-)/C^SIC@\.34LYXYE_4 MTT<,E#V\3;5E?@-NR;9\WD%6^#U^*WU$,C329U[,3-_CT.H<[: L07KHS;ZS MS)FX@W!Q#]MO4D>?>\+,?S4*A#K(C?_I>\9SJ0&_.V3\%7<$? 02P(F?Q)'C M]-$&XXITQ;B(R:)):AM3RZE$$'D#.;OIX*Z&TD'SW#B+G(/ M84TC@D)E3$&F!8U1>5H259[7#5563$WE=1K1NB#J.J]_B^>7O*'0IB;)O*X: M.I)5GF/@#60BZ(D1&4[A9(6FM]]@3%'4>5-6!5GF5!Y)FBKK2%$5I.LZ4!G/ MRFC[#9$364M0)-50D*#RAJ6KBH1,56$$1A&0*"%6W'G#E!6.9VF58R43QJ!E M53,U5J5IC99T4;=D7MEY YXJ'(=4PY18E1? [U)H2U)I'O>$>-ZR=M[0.98S M.<%234T$@"%HK%L(OM*:Q(@*+UG,SLIAFCRMR)9J*9RA\@K-J+I&FRJCT"Q\ M846+VQT#$ (V!*F6;G"J)@BPG35V581!5 OJ49,T0-7GG#5;GX#]%@3$XP* $2Y !JJHAZ8IL M\IQF2LSV&P)+,P90A&KJ,KP!0% U"3"C6*Q%X]> AG;>D$5XCB1X58&5:Q:O MZKHIJHPN2X:FR0*M:UMO] VU<_U0F4^5&CO(YV>UQ\-!38F=ELN/)<= M5%&Q.UD]C$I("V?BV"] RYV5:C)CL)+"JQK# 0=)DJ%J"(DJ,F5+U!ADF!:W MVW=[XN0M7KND*]/;XF#>8R8W9::@LONST"J/%I>/QO5*K\44[]SSI5N9+Z"E ML-O2K<[.'R)C.*^4)*54EH3F+W.[S6=<:T17]&677MV7FE- M%76A6-AAVT>.X(E0FO9'7*ETU+6?:Q7WN+LV098EC0>XQM %80ZP%2Y.@ M1Y9G=6 07;/HW<[[\FI^73T?"(-H>.=>*%77#U9#\'+W6D[RQ:A=,._ZE?9% M20KO3/>Z8^&6>T#HL>?+0I7I.P.V%I@/CU?\X_1^ 2WW@'!9J/3OEJ6B3Z.. M59/DFII_J."6>T!HK7298^4*3VMU]?JN/A@TQ'$7>^,[0% 0;7$"B'Q+PPQD MFJP*@@283T$:%@4L3>]U3L^NAK.N. PG4V8Q]1]J_<8=="[L $&E+5Y$2-)! M# N@)@3%4C40]*JF6 ;B:60(.R(<^E[1Z-(^]XJ7E>C*X@UN):XFXR'8]SM] M"R*K6QIP&PUJ!80DXD 08R$I2 I( =G2-&UG-J*.U9RB:AQ66A+#JR"&3-6B M19:G94;DM#U1(>G3^^*X;(XGTX8L#LXU1:X%"U7>G0TC&30G@E0W%!EAP<6H MB@@*4:1%GM-Y#93HWDI-$/-%B5Z.!D@;C.]:(-MO%D-5.="W($D6JQH)-7#4,T1GE9 MWZ-&F;^]?)C+UX/:77O*=1^14U(*N%+N;N= $QHH/]5B&%!]"@?]*J*ELCRH M3"1KNL7LK75X\7A=D ;6 VUWSZ7Q5>^85Q89X0_=DYKJR"@;3 MR&[U"U:']+K'.4MU,G>C(3V@;Y;T37XV'[6B%6FZ)YQ$6;%$1@<2LF#BB <3 M"R@&P*%;EBGKG"CO08(-D3P8V7)ITCXW#4GN7_-"I8NK>J60V''FXA=U=5)' MA9EOGC<&VOF%O:C2!BH90Q4W95_7G3JYN.E_[:U!8GO?#L&D-^#77C2;.<1U MUQQJX&J1:>/P2]@8P$D$0H<7^@;WD PY?E&?'+= M(WGK, 1^$ZHT#GJ2F.$A',5Y6<$FOQS&Y0@ KR/D4IHYCH(D<3F9]_>CWL8A M0:IUJ"<^8 -.O*/- O0]_?#W*X0YTHC:QA,<;B&K(H$R1UMY4?C=LI?(W RW MI+&B>(G;)^#B9@(?_[9SXN/92>].P<%7>]"394P>Q'42V?W,4 -"(8F;!^YM#*AX 'ZK;2!+]77P<(&DK!^3%!50K!%7V'*V/A5T!;/'!!]< 9D^3FTAG\&/< M_,!>\^']V"G7GMGYRJR+0[F5TN)Z4J[A=,0W@]?A])OYDHW.V^7FO))W!Y>Z M*W4NM67W".%5-WVM->E4FY4:?4/?G%\/VY.+ KY=Z4"RU]Z#?QT+._R^@TK. M-QS)[-^:F>E-XJ35O&:UM,4$32JKRMW]C61(JW[E&(FS>-F6;CQA>5FIY9OE MZ=6%LF"%=V#F'7C1*[.3YQYOT:3'Z,*]ZM64>E0X0GCU:LT[>ZP[K8K-%O7; M>C7??I1PYJ9RX'S?YV%F^NQ=7;?3BNP]F3EI# JGT27A.0 D.:/N.& ^21M M8>.4NHL]A"3OSO5"RD4&4&&(4_G3D M<*2%U,*+'#,.EL51*&-DHSDR2:@,#Z8OSXHD*#_I0?5/B:9 M[7#VY<9 !U*Y^S#]HN,9DYB[:[X7S=2N?3>X&%4\$B]AW$-L_A)"$$!((M"#$IW^K)(&QP6YWMVW KALW^MA82*7*S* ME+=PEA+1:ZDE-/U8^D?!1[602;GGA2@T]:\H[6G[+G@ \-"UG:*M/5A-EW)A M,1],!L$^DO_^Z_E9NG')X)EE!X=Y//P> M'?/[*R[3@X!($#"&0/-R$)!$PW(@@DA1N0 G"8D!QN0 XX>OVH*&7[]ROC]Y MR/3)0TXG#.Y=PKW?>KSG*S[9\_V__YV^C\Z\[DY]0YVAF;O6F:ZQ^U"-^=E* M=T<:@Q89M,@D@$'^+F 0Q -'W35@Q(< [V,UX<]TX[4WB[E,SO\]>]MW4(,8 M%N];#7"D!G^J!F24)[QO-4!H\!YH<.]:\%Y@\.'^XN]HP=-W0WX@\@/?R0^\ M89O^EW]@COCWO0#\O>G IV =TH&;U@'R)SO%2 >^O@[@K^_*?4$5^-I9P5_M M7GXU-S%I7/&1'=BO[?C]GG?[?F__>@G[9_7C?K?W^5DE^)?IP_V[9]1_JW?V MR<$V]W"R+;'-"RVSV_*H-JBJY8I87&8'-C<(Z@&9 2.F?OS#\T2:)2Z=7/U( M);_N>GYE$_]*]OVS@NJO9MZ_?&K]$\Q[ZH1YH^D-YF)NH@Q*:F-;R#*03Y?] M\8\@\&F*/&\2ALP;F?=[U"5_&?O^74J>3[#O;,X?6.6M5%TFN(O\<@@"T<6_J<%OE_-OG^9I><3[)N8M$?-3K&$XZ0BBOI^ M0>^5"K1O@H0&CG-T&N?/&Z]]I%9<.]WRQ:JLRD^H\M:.#=\O87P^)U[-HJLQ$S$P8F61@B31'GC7F_P-;(YQC"EW]# ME$9YCS3*)UEZRYSD+3X,5Z:OA'YWUQ74L:0#2V>!I=-IGB:0I2-+1QF5C\RH M?)*I;^K&5,YY_8[$&LV>)A:T_F8/>X0)/_YAN31)"?9*O[WK<6QH"*2]2WOLM MI$#:B[3W7FL#KO+2=QZXW,UN]R!BIM#4E Q&)NL:;.RZ!!%[U,G33=F^Y\)H M'0X";7JC3>^ON>E]8_-QE\LVRN+>_U;O;4T'LH/O^NI?)%Q#AH ,X:ZW]6YK M-NX\)+RIR.^P69LBR.@!6=DU%'2D_';CM0-7^!?8AOK-8H$X(S&9"MM1=5$C M S.W[92'6Z>78:KZ+1T6/]0*'%(KF3BSTO"74\UISKK1>S0?$RN1[5VJ)5BJ M[4I+J6;P36^]-V99*>,6,A,A.B5.I7D!G1V]EZ3QNUGOU4/$SS?>SSW__5[& M.^W9TG;%S6I2R(IAH5#9&35"!\;+_OB'%M(4SB/C_6[&>_VX]A.M]RI'NM_+ M>@6I5YB%[&!L8I50"[#YPC5' ;!>(2)HX82WU?4BZ_U"UGOM8/SS;?=S3VF_ ME^TZMH%7J1K5DC26ZK6RYG;9RT*W.3J>+:1I%AW/OM<-Z^=IB[P!NXJKZ#SV M5]J:?AFQO\Z.\S?/@21V>X;I%^#<*BTM,4>.0I-U6C9G=(+*HM">$'B4!J$! MG*,S5E]W,^;CL0!E5*Z;4?D%*)!7E"8+F_Q>JE8F EF!% M6("P &5[;B[;\RL!PBCC.M-B7Q$U([OE%]:NZ:PR$ F2A(_PR3V-[CP3=%,) MGRN5=]QCQN?V$SOHS#4Z^'>_&TGHS#527J2\=Q1,(^U%VGNOF_U7>>D[#USN M8PL;W%.4G15X@IM::TY\T!J=K?Y*&]BW]/9?) !":=I[3-/>T*M_D5@*V0&R M@SO?X[RQ^4"&\#U?_6M$>&C/ZO;VK-#9ZCO;E_KO+['3]&L5 WEC:ZA:Q,"> MU RH9&U=MK=^76(K/6\YF%6W#2)XYZ)B\L]XV ]5 X<,2DMSHA*!IV=!\&-M M@"(6%A(QEDF\B14L#O8:-7CP&O8:*_7.S[ MR2::J>!]66E--;,ZV$OJD/)S>[<-392%)LHA$_U.)GK]\/13;?1WBW _V4:[ M:QP;F,1PC&]F=C$_)5IDE\A &Q6@C0IO:WR&;/1KV.BU(^=K6.@O%\=^LH7* M@Z Z-1EM+R/].R=17D8' MKIUE67S/+6T?Z))@II@K'PYGJ6/'FIT81 =H0?3:JE_OW'L M[VAHQ@H\Q?N+8L\&:CQY2/3S7X8'=$ !?\VXKN:E3M06S-Y[CNTG<_9D-)\Z M:2\/3#7(F#&G31G$/[HV!]*P&IR :PR.\.=0(Z(2:00\9_ MD.L:Y($X?K-@@(%H-6.KJ>45&(YN (.+OY$-Z_+"=G(6>*'H;H?OY'P7P(SF M=#0KLD9W;JS=Y+Y,KM[):^U)#Q_TIWF3VMIN>Z0_(;=@?@.%<_9R:JRBIW4T MQ=970.IJ&H;G@;_X2?!A= M%BU_H.U-GZL537ZA&[H2_/B'?#AWWU) .RTH2R!V17;G#ZG>7 .W>AS+00,> MM03,D>'"U#(4B.P ]4[9LY22S&/*.9E(<-N#& [W 7BNS%-@H4E-M4C!EC: M?3 !*1LL "GYL-@VP%LZAO+BFDD?/>I;UB"IT:'6)78QD7S&J"YFA7+!S =/ M= 9S->4OU7<"VU%=;?5<:5X>D>1J,]^J&3/M1/C-)LT(C6)E#9R(&F\3L])" MQ#(__IF!&V"A)CL'%4CF]Y^4']TF98'[0.D;;BRI6.#QY*7 ARO;2X$A@^_( M5LJS4[;O0-D 37$3I; M0Y6A7LR )WK@0^60)GT!P'AC<_J%(//"P+@3UQOJ83LE>3UEIG.\+#A9!= M!/-Y:2LF@ IF$P""]\IU$W@9\2.E ;A8@V%XCJ]]D(LT?7'F?_S3L#TMYF1B MX903Y-_)//S?_TX_9_&\"^FW@"4IX;D.^((^)@HYO($W>TVQ@6?S5;Q\00A.O 3'^]4!*<._=K1L,BEAQV&4[JVTL#L:F )B>8'.!AJM"0X /:T:)%) M9@LN'%ZXUMPT6&$4RX=^/X"=G:9B .,5+1WY)H>?/3#T%'!.COB5CGY3;-<# MCS*64]]QHZ5N;?G U=&TXW/ _349+%?@T?&Z-91#\UG!A ^ )O@S!\O!2 $O!6T$\3\V CP^"SP"W!2L MZ/8ZNDI6M0V 20VLKZH&,%53XW%[\#*P@&C0>5/ Q#J:[-HK\ 8A$"YX63B% MG@V!E?#@-/G03W$A*+I2R[T#O ]Q(C54$+K9;+;IS]*Z'5U>3K\C>8;10 M"."RPYV!N'00I;O_?HBFX^#UGDS(,T' I>]<&)$L8@E$8,;][;U9$B_-^8E' MM7J\$YQR\ZEI3HKDZON)#*A=]%:[C MTZ=O'[EFL25"Z]-+P"FVWCE?^Y"EKH-*V>AS+PZ>'D;^! M\I\Q+@!K&A0YU 2@5M!V4UX IMU)+:$)/\Z[.[=]"]H55-OI4<-D1;']5>16 M@>\ $=LKH)K 9*QHTB-'E>;Q.6>WCD;DS<%$ MPH=)LZNC1G7B3Y[^KQO:?_P/_'.9:L8 3"I,[\[\/D6R4%TFF M#8O3/G^1W /%P,D$'\UC)X+"'TCF&-L2./X_4.XGMWYR/TS1+.O5$IW#'=X] MG:@ 5="<@QZ0]$EQ3JP4!!W/730W)__^YW^CG_5?/5BZ%$K_[R)-TT@H:E?7WJ7^ MP7AZD5\"%E+H)\(XZHA?\M/!'32$82F%^/N1^O0D$?F*)3X7[B6I/0O=7@], M#L[F+X0GY,O/>-VA_07WE_R$O/ +_FV\,D/O\274AG\[H+0/_4?@'1IN[.$< M7"KH>P+'8@5P7+?!>@MP&XQO"]Q<>)E\=+"@+WJX5^*=)(Y9DKN+7./(R[1 MC!&Y3> &D;-[?,(KR\N)SR*[1V<&+#JK="I:2]('K^#2'@E>'\+E^C10<.,96LM1 M7/$XOS Q!3Q"W_*,]8L+*70^X5*IS*/X SY67L(5$S[A\,YP0%$ X$63 N U M\HG 6(#=K!*_*$ZK+6'^"#@EAXC@<9!S>:L]+M671Y.&,QU-Z@6]@)\#'P3N M1$'5@;KAGBB'>W!C#U,!/+LG2;XH$K$CCR&YO7OP[(Y3!MXT_1A\I ^W/*C+ M0ZID!V!2'* !BB)#X40>)'"1H]<[B7. <_K3N4^<\U_[4IS/3C3ZR>A?,8*# MWK^@K'%\ N]E3^%T1O,5$0W+5N2+ 3\#7I$$F\8L)6]EPX*7Q;9@@<5X%<$H M].N!W*<@-GB,#Y( ZJ4[PK^_R2R?B2M6N3B@"$'LX\T!7/AN8N>'A[_X5"/6 M->CF*X>8*HZ/Y52,?2EY#50%C@QZCZ_,( @[/WA_)'6KWG_&A>*K^&!Z*?QD MRV4NJQ^TG?*8BLK6O.YX/61]4;-'BN(6Y6V&>,K1S__"YD62L^IH2Q N CUI M/13U<3]".$E)]VG/ZDL,1IK8.#-MF:RC5PLZ\((?F//]B&FR'Q$A;/*H MER%B<-!0J-3'-2G6S%VDX<#DWCC/:]_1)G1[,I]3?K5ILH&>"Z=&3V2S[5\J MZSEL"[QIPL3$OH"2@4N:LVZT+,8#!2-SO#QXA\>]"V7E>M%3,)S#<&)2RNQF M;"D3AGAWVE,&I5V&M)5?KC",R-=_8[C@$ACJ@+CC*'>,/!5\KY?31T2[C?N* MV]E0G#\4)YD?_W#G^U#_\Y@E^XG03_T-U7<.V+P"TGD* W!?!3-V6(P!?Y6B M_TR,=:WOF/E@)PVRSG@LA?)0RF8N[AI\LJL_ Z]_Q*?H/ZF-#S1 <]S(R3A) M+0*E!O\<5H['*9O*5C1=TS &;_ M< W0%_+AVR=BWN*C9^*$2)1,!FL:6!9U M#,S_:8[66&UM:ZO%JV.2_]S*P,>#B4]-F:^,C:^Y3];8. %X[G<<GS;Z6?Y3F?I3DC]SA).%[,F\+!JQ $-=)-EU[45(WJ# MR*D#$9$,LS1@*,Z)^Y+J74KK'E+@OOOHF)ZZXN"%0?R3CD8W!6[,$L@X2E>' MB1L?^;5@)*H/#(V<"E!=9W(I;#1D+\ MAC!@6MGI2"BV\".#TGM0).A(PV&:1DPJEEIFNH> M?U-!U!T>Q@D\^@0-ET8RH]'R!@(F\(UH= >',S*T-'#^@1.^@N,!3W8TW;>2 M^&%MPQ(");G)*@2WU^ WX?WCB7+C0""*,L!%VA+N?LF1OB28 B(<\'9;PP$" M6,H AV:S:/F=/^;5X:S)\+>%=N)W/RKIB0CAU[QH+3D-J9*%//8=>W;BB$(M M@LE)(!7' ':=Z/A10>+,]=)6#1A6/K<3-PD4H]T+J"4P50_T!,PU<,R!AYPH M07*;2 3P+K;S^%Z'[:C'(-*-8Z8 AF-@!C45?@764:1FEAVD+[W12<"82"R> M\XM6$$TQS-2J8(PN=&;B^88VBC+L\;A@F /"*[BS2$HBRJ0DX6K*Q=/\-3!*L M $DAA"HO@7,$S!2L&?Y2@R%-V%4^8/3E]S[D%Y;0JBS#C-0MSG> MR8OW/X-3AWL*70S/\"RHC@,MF3;MQ/+BKQ]3"1=C[Q/K#F!1$,# K7;,&L"7 MA8N1HD4#CG++\<08D?T!2YI&?XGF1GZ2-(+6Y[BR%9ZC=0BX M4S"982M@O4Q24D=<>5%33K)14$!)35>\6YQL]=B_,RM1=52TVP? 0->.VX&P M,,=UHSQ8HNK0'U2,=73;4Y6*$!Z\D[&*O7]X[W_-#1>L0G [!( 4= N2?!I< MZP%H@7O\.Y[&:%/RN)-Y3&? M_&CC54/E@G!O>&'U+?'G]QEB KAF]YR1;_ MH^?QN T'K.CD^O# IA*TLQHZ8SL*OXM6GXM"T)' M/">',4471B@'?H2W.?P%2SR/M\V>JD'3?[S9XVVB30QX'WB[R)K!?)[8C7ST MV9[OK .CB=\IRGK&"<]XYB(;C+S7XWL\I'+Q/,6.L1O/UM%Y M$N]L*;I8]^ MH0.WXH]OD'B)B3]XV+-_[CZ_(!"((0GT'#?I7W.)3G.'[G&;WP,XX,5)_L2A M2[X*4_V/N_VI\BI>-HQ5$AZD7QL7E/)YBCI&<$=[DE5.GZ6=X15G.]?0=SJ$ M'MHN^JZ>>IH*U6)/-7).+XX-BOLB'B<+,8#;0PD)N,G1*YS%)34OI66/2V>T M00 UT4T_J_J .S] 9=0%4(](L:)D5KQ(0> _7;S 4)4YYJ_CHI!HXEV@4M#I MC!1)\\!R?%@A7A !="J/BUT*!KQ6*MHR/HTDX2(&BWYBI_=)9OG;0W[&?>9I M)*ALQ(43A]J.6!]=[<25B#>4G@9-)Y' T+]Y/@(F"^"J@T/%'Z>=? MB0/+@VT>4@"/NO[4%)Y6$T4[;D\N/6Q:055*YF&5C0+%P\Z M='/D(A\.LD,\;+D40^1)+E_._/B'Y%\[Z0 %^&'3^=OMDF]@.L?UP7:DDMN, MR"I9*:N26BNST7_\0PD/^(O3F3ZI+X2 4Y[!^ FEZ+2T>>IP4=;?()[<.M: MB7,XJR<@7&+CLA,F3(9-MP*7I^9<;N-G;" MN*[@6CZ7-S)B6%[@\$KF^96+CCK,^29!XDVGX@8-*;>QO,R$/+]G@=%XGBNU M3%/>K?@"OE%JNPF\\NR>](!C*;S S23,"4;#?E''6U(PH2;X\RM7>;U5-/=, M&RJY?#8W\WBV8 MQJ3'UTPEMYD* ?" SIXN:JVLSA%D06H6@H[@;E?>VM4GS/F5!;]S"T"JV06I(&S5;I23B,M00=7/AWGA%5F!$-,U&EA*,"CM\ MTQ3"YOPW4+)XLMHUS&QI98NRC_WHXNE)KAJ":&7,!+@]I%,V=GA3-)@4+W;FF><]*_BY% M4<-G1BL].)5&<:\=Y)7@Y6.SCZV"H>$C;G#P.EE&XJ;WFV.>!)$IT M_Y/Q7JAD>UIN=0-U;6\)IJ*BITN1U.&L?5@_29HU9X=++X9.PU4):XGUE22Q MC7POWW*DC4""2)2G+M6X+1]KW$XS^Y>3=<]SN+*N.YH>U94\SU.Z4:+3?3%' M'T1)[-4A@%*2O?KX'/Y*TVTO3BLGE\1.$TQ9.7&=RS0Y5O^0RGRHQ*\?34?G MZW/')%8.IKVD=>:8BNK92?+I%W2$7VWG L\4?2E7&/-ES-BKW2*LA@-AUZLZ M\@2EGDH46M\45NEJ@ N[(D'\+$=3?>7)\8C+VACM M:LRL0^;;7R4G;\$(G@\21-F6L3_NID=9)%B'!L\V1.4UR1M$%4+0:=!V,MRY M2,?[4O*EL]W)#&H[!19;Q?,0U5L=2Y2.Q>Y37]6U@WC2)Y>F9G"3%OP0Y8Q@ MI9]W8>\FFLRH0"F^PT.J:P!%A1GY=+Q;XWOQS,=WC3:+-6<;SV$4WD>G>7S5 M.&RW06_E=,/AD!N.MVV>Y)7CZ8)[-^@0[DF)T&.96:0BL-0$;DY'6RG'[7$ MBH]'GU5MK45W3/EKB*31CCD6_7QZ3"LJS4E#P ;: +=_HA)VV+?[>& [MKG3 MK;7#H?/U7$[VI ]"B_?-X1"/&Z-R?&@=LLRI0)? 4"%(P!/A\9/BC3PWJA". MU?-T!_&D]BR=5"5$!7]PF88WT-3#I>G'W.3)%FG$!@.6?,NU(Y-W#\^'=];@ MLB*KV[@D--J&CY(;22'AT]F=QJP%%X^^/QN:JLVTJ&[UU:$=XHT0>>>1CBOR M.E*PY]GDF'KI$)(9OQ"2@?E?0W""(!7!&L!=.X L>S<]X5YR2"O.\T8Y69CC MM>2UJ_UU^.'O=PA\#^GTDT]@KC5ZJRA+;LFA[7M_1=PDI[G60Z(X?L6G#2?B MRQ@Z(6][2I_XZJ"?#_)9>CZ::#"^5TA'^3,BQ?_W7P++"7\_'\@T1^&X2"(%72(GJJ1_U+>3G6A=M$\0B1Q9"+*02Q;B:-#CD'7M&'8<*Y<>B8J>Q)IQ,6I\ M)@26L/E)F1\L"TI<3KAP0^N9:U9='3ZAX7,_QXV#CZ%BY?\-=5V1VR.SNR>Q.CG($*U#ZA#@SHI ZK5DZWN!0H) 4-":GON-=QN1:)2[3?#P6 M)C]^/8F13\Z6?!IY\?O[@!_$X?=BWCC*&4;[R>?,?>5YD>RW'9\PR6;!TD2B MU]R:F:MP\3T+"@YTKLKNSY /_&E7XR:;]R>WA9A,\ MQG70LL/O40[PK[@2!)*V_K0(XP2*CY?*4Q!R^<"-_-CZB\NLUM&%;U^TGM31 M_%$G0.H!IY @;D 0Q //(D'<@B"H!_;5/I%($@B;OI<@$#;=BB 0-KVO)"XT M%_X3M_537OIPVQP8X-0QP&U*FK75X*#A+>65BYW?]U0AK[4(@+4H<6TUA:O[O&2R\F\XGB:W$_2#6NU2T/9XZ MG ^Z89N ""R"E9UO[']E4\MI.PI5;SOXD\OZ MM__O#WV?GP6P-]9)]C/.1E"_4!I_L+Q.5.@']W[<7,P;=:QPIX[M83=9QE0- MMC@1N_)LAH^M1M%MPB-;%, CADL+Y.?VAT6FC$SY[DR9("=4T@X:FU#;;,EI MUW$9;U?%4;93P57]7.8/@9S;1Y8KO.3W@)L/\QQ.4*9FK_2>YAP[7;I- MIP6YT^2E>\F+D(J;3$7+M_$PHU0\V5B,=YX^H:$70>!"6N"$-WD1R'*1Y7YE MR_TX1^&W31?C*0?;T&X%Q]Q1;UAO"J)IM('I0J>!8-(\]UH <,<)BD<&V&/] MYK_."CC_C6*=CXUUKIBN.Y^=0V[RPP.B:[_UM7'PPSR8\@H>.+:=L& [OX:# M5=VH]38-QA590_>Z36:[)XG,A(E<&#[-":_%3@@;$#8@;+AU'^GWP4'-[E7* M(F:4Y&]F776]K;3Y,:26@DX2]Q-PN/W$RN?[^_<);^^ 8A2P9]7VX8&,J\#8 MQ73O>P#5%5[LVDCU85[,BP>5&I#?Z*7T;UL;Y"C!4WTSMQ^M2\IVDIW)&3C* M'_]0/)OF\'/&(F3*R)21*7^DT_%[MKR2JYTJNZAQ8C68,6YKL\X/(H92X'!0 M))/FZ=<2JF=G/Q^/5-[NR<]K'*,\M.**#LK?)R%>=+*UG+Q'/FDG5E[]BMJ= M\MUM"RQF['LN+_E[;MQMFD8EH#(__F'QAW.-._+=09HD.3F9?"CP3%%$Q$V' M)^VL#4C.%!.*S8&)1PV2GK-_/%*_?S0?Y:'?;S9A1\PH&]^(3RL\-NXM1&2B MY=7,D6-F _!;R;;@ -V:I=2C]YPL:L;8&6M4Q=1XGURQ'DEA,_VWF0W?L.5[ M*K"<-[%J*E E"2O16'F4-8F]!]LIT*_P_Z<.[4<2WK-"N922'V< L0F^QLMT M@2\7D3/=!P<&^Y"0@B 6C)/RTQ=9,%[BO+AU6<34Z#YAUWS\ M_BG%9-+:./VY[#!(^9'ROU'Y7Z8JOWEU_6P2E2/Y]@M$*C5YZ/5WVJYJ;BK[ M::?14(J->7!=(I6351RQJ:!3P8BQX-L) C$6W(H@$&/!C4@"8=.-" )ATZT( M F'3^TKBSJHAGMP6L:E6RO'$E>54:%/EIODE0"?,*R9!I MCB?N^H!0YH4ZB-MWL&_U\,#-GF9$AQ;OQ/U(;+(&3+)UL,B7$6I@;,?45EFM M\6Y@.U2-];5%Z\#00J0IYFTT;\B\D7E_0_.^AO/Q:_8]ZR_J5,O@IY*AXD:- MU)JDU=,3&A$+Y7A(C-Q18W"?8?21EPTV>D/Q0NH9O>'3R4T]!']'Q M%4^GDM\$ZYJJFP:AE5N5NH.7^83(A22H-/U&+CH$"P@6$"S2Y=+DJTS7=WFD^KSM;UR(=5)?IEB:[$"EGO^M M&N[:DL._HI=\=AZ)Y!XH!@X)?)24N5'X PD_>EJ$=G+K)_?#%,VR7G4>W[>, M[<6=0Y(^Z1$>3RW!GI>JP7__\S^>5.*= 41BR2=3F$P-&1FUKF%QH9\\ \__ M2[8".723E^6)!X)_/+5U&!P%!R4\T,3_I!Y_C(YL/9<;/$ER,F]/#I/$WWIZ MG"3Y["?5AB='SDCB@7TFK4U^.KB#AC LI1 G ?GSPLC+EOAD)D>X-IDI'*$P)#VA94&; MT!1%3F26TR:JBI,JQ>,X3_ _XO')!R3T#6PWUGNNCP_62SFWT>ENMIN!!\*> M7]F4F> MW7.YU5=^AFPK4I.U6&-8V03[50"N9)Y?2>7)3"VO%"P1 )A/%LM;HTK!*\_> M:+^1^TV55!AQ8XZ=MDPP*Q;/3*CS<6XQH=91YE87[\J]67M4US*%';SR;)S% MTM3=BA2E2');6#!!:5]927#7[FR<^8$7.C77S4NL6,W/5IFIO!C#>YZ-4_(R M%;Y1&\MF=[-.TBT4==]I@M3J[TAMZ MC1VFSO-2M<>W76[4=S.\#MSRLRNS;C'4PC%1Q3=EO^4(F7&YC$%2D;-W5P.I M-M8H98;+4_2^MEFP5INL5DQN*2GAD8H M/;:_JDI:L)U5V?FH-VA?U-/5TMRTUME]75H6VH-N1W"M:E6_I*?;;MYBMA5! M,*O2>,]5%+XS"?1+>HK7,,G#M"EE-K>R/ZSMASNJ?U%/G8T^J>;"Q41LNL*N MLE@,Q)I_4:>L.;4SI7DGAR\[N2#SFS8&R&K4OZ=2T M3!"TW5*K."O5,P2M;^L2=A'[^HV)(1/N=F4:N&'4V4*9DYC,)9UJ2IU\IKO9 M\OA2"W.5>;EA8KW,)9TJC 6A8Q97/6E0XY?UHLGQ _$B]IGE[(H;*W2(ASV_ M+I5'MJY1%W4*VZ@;*:<8;;&Y*Q47FU9[6N'T2]@GN49N7=(L7S0P>A",O4J_ M/V]?PKY)S1'*5;8RDMB%@R^;_)*D]8MZ*I1"L2/[;5?2NF7)6K',$EK>!3T- M*URHTBP^-+']+NRP/6ZSX=N7]%2667*T8.<]/(=7U?:2+L^)W44]%=IV&J_H7]72\5T.1F[0:$J;Y03B=T9G:I'VNI\Q4(P5<(2<$/14F MM,+@$T&>@363D&F-YCB:I\)+NEI=LROV74H MC<5BB>ZYZF83&@7]DIZJ2\;LA/D2+2TQPBG+O.6IZXMZF@\'JF.UYCUIN2N6 MC'[H,52Q?4E/0ZS,SQ4:9\6!X$^[1C;PF,Q%/:V8N]5JY@>,5*1H:8'1NY*/ M!Y?T=*P.^>Y 479FEZP%G&5SY<:N?4E/"R7)=&52'N#AW&XT"Z7MIDL$E_24 MY%LTV^R14SQ7'EE%<5'P!YV+>FKII=:X*#D;$\.(6G5BC7L;\:*>=F5B7K*+ MUECTA*X[\^2:W;4I-7-)3W>4;<]91QV)N7F0 MF^,"N1F$^D4\#<51>=#.F%(Q[&RK(T48]O,7U^@P(+M-090#TQ!K3<5:]VM! M73_74QDG-(UA 8JJVG1"$PH[F?+R=,*JO,PJLD!S+'VV3G7&-KY@6J%)%K)- M#B/E]D:_J*<6,]J,\(Q2,@?Y]6[NR_YB7K^HIW+%R@R6HUT5;_*+S)#9XD1F MUKZDIVVMVUD4JOI"--1JI\1[=7M-7,13MR)OML/RLHS[Y5J%&114KVY=7*/) M7<%:J<:N@S?G0:W>5DJVTH%7$L39$D$U9D(6^(ABL5*M^W3?$?M^^Y)*!T*7 M8[A"9F22%<'CS4VY&"XNJK1/*--:G9Y736S&K^2Y)6J,F;FDTHK7%*K=XGQF M#IH!W9H0^^RF'EQ2:3$?MH+&;+PS66>+50;TI-BKP"O/7VF,%WI3$>^$)N9Y MF:G-4X-%4[^D_4Z)R3$=>65(H:L%]'34LSCCHH=:98O==ACX.CZ0>O0.'U5R M<&_J@O:7'8;$Y^TJ)QIEI[PIS7K].7=1^_,VGR\XA?S$#(O+8D\W?;'4N:C] M%CV9$F7YO.:+F;P)5U3 M;**=6X7#BX;"EG=+E^0'+3PDRUR',YQ*M7714&;+Z@#F__*B3Y8G3GX^JQ3% MB]BO@(AP*X@*98;^7K>W>IY9B_I%0Y''?G9!5B9-?*!..\UPM,?KR\PE0VEO M7:.UZK1<<5#$QR*^(:9%[J*AS(F:PVRY4#,WY&[:I )R.%Y>7";$;H,6RU)U M+54%+LOJ^(@7,IE+AK(>Y6IC!B-5W,AVU*J^7-7$X45WILB9PY5(M3Q3SNF* MF%V)E9%W[L[ X+3E;3*\UW-%-FSEC+FX*/7Q]JFA/$L\'HA@R%Y-6FN=[0@/ M%T)V$&E5)Q$!M_0U(SWLZOI]TT4_AI=C*I])];(%U/KIRR$X9"K M+B2]PDM8K> ,%SE/6 XS/_YAJ(?SK/KOTD9:=@#^_IR4["%UT[QYGS&NSCF] M&M" B,O(-7:I);C7W$UIX.MJ"AXN35%X-,=@IKVY[*4"V4VH-\$%"9>A\ESS MP]0TX3$$WSB35CJZB;Q>._;.@!UUK'LUC3=M,R4SWCE.^$6K*);658E;@Y S M9Y1[V:HWV0V[.MR&QE\AYWQ/]LT;4=\S;LU'BJUH=P@6%4>4F"G;=XYL@:KA MRKKN:'K$HFFL 1L 2#8OIM2P$>Z[0 TOFVNT@]B8COH:/YQAL"MFK-$+5^@ M89N-&@UM.>^J>!472D2/X-5%OGV^[EZ^+EIWB:N0MM6[&4@3F6K8*PS^?%"0 M"'+<1)G@VB&G(!YY @O@$0;S.;OK D5>4POG4']AB MOY0(?EIS15Y7#-_'&! JW8@@$"I=700(E>Y%$@B5$"HA5#JB$N*S?$=!_.+A M_9\&T-^!7>UG>'Q?;'T,T>4UG%7)2\IL/O*0[K6MX&//9/]1%'YWYZU_EF6[]^/4 MQT(!^F*A@.MXD[J\L)U#C8K[V+^V+KL 2[J:LS44+:,#UQQZH<<+D_ZUAU:X M8&1>=,&A)V[BM9[<4,JLU'SRQN#_:D_>73CK+0JK"E -!RNJ+<+R9\NB;&[XL8!O5LQP%,)C)L*/?VB22=/D.](% M7R.($U>:HX?_V]%66A#5]WZ!S,4G<8E^.G9=X261"_5Y(5MLBH^6F-R!W"SW MG8S1,+:*2%;5(E&V.D'4K.) M-WULD_5F]80@F11@2NAM35@0N'Q?<$%AV)_ 0BNCBWJ6FBZD7+W268WM)J6; MUW8YJIF17W*ZFYDD3Y>=8:?AB#T-P@((Q2B*2>/$^4'-K['1UC+6F@4DB+)0 M'\=]S%UW:_E7&D.\M2@TDG.S5JKBA50N\TEBSN6D[YFTG^#3!OZU##8*N+PI=MS0[".-N M*@Y] >96X7;?; RF+3P4OJ;8;I'QMF%LS\[4B+S*"V2SEQM,2-^[5!NV8 MAI[ R;0@?&XS4(1SUS?DFYV=*.2]]NS<+,S].4+U1JTCX\6IV1^"CDJAHF%LNZ M(0G#4@6WK@UQ4SF0>8/?D&919JH.1M5)6X#TF7"CD:#2)/Y:UN_W=.T*$/'F M-J#(\I'E?T0,EY+MVK[P2&5GE&,[6@+,FY8#,8]Q8J M@4.:9Q"!T2R?IE]-^2/C_Q+&_[U;]/W$]K<[TB\U\[6MB*VD^G3%M>KR[MH% MUFZ[,&UC!8_&C9Y7V)0W^- V()$U"$MXGDBS/]^I._3ONU52R%L=%R*K1%PG MB(#I'@2!")BN+@)$"W?CR2?=I86P!Z@=>IJC0W\SXK57%,Z'+K M)MEJ3:AKXV+%&'F56M8?X#*&5^W6A%8\-8BI)$DN35)OB[D0L"!@0'$KOR^Z:.!T.5N'96IIGIX'-QW!-QLDZ MF&L,RF4%:QI5]]I(O#5G"I<;MSU\0 AL:#8\4VD%,94D1:9YXLMON"'HNI?9 M01AW4W'H"S"WKF67XEI0*N)2;)9<,=\<]OUK,R)D5OGU9MEKR&;1QYE^V>+<1 S1,*^,!3Q6HM. M1!*'+/];6_Z;0[.QXLPW4K7@26P="ZQRSJH(\VO[-\L:O\U1K%LRJ_5@+XPH MT73F[9@ADN'(M( SR/B_NO$CALA7;!\/U19&[8>:V26FS'AB%X6R?^V:'WXU MU8/29H[CK$"1!::'^V.A'3-$"CB?)HG7ZJ(_@"'R1@@A$?\CH@QYO'"-V(R^ MKR 0F]&M" (QK=V()! VW8@@$#;=BB 0-MV()! VW8@@$#;=BB 0"^2["N(. M3H B%DC$ OE)+)"NL7L+!R2!."!OUWANF=WMSGG^$,6%-(EO%,D(=A#K?F++D M,NC\&5ZLV_/M>K)0"J+6(T(L[,W5;?W:U9*S!CL@]A-C:1;E+MV><1I!A0ES M),?B:9I"S)%?!-1N'[L0P=LMN5&?Q>Y6*\SF2Y5E2S@Y7$\R4UO2B:OC(EOH MC\SY;+G'R7%-,L?-+-Z=ZS%S),^D>?8U%B<$+ A8$+#< G.DLZH,R=&X/L6Q MX6ZKS?9CMUN\=F9H626*E55([L40\X+<;NDN9XL@9HYD<3*-$S@"%P0N* S[ M\S#L!5CPFH/VFL3D,;X,I>U0+VQW1OG:L(!/.T9?#19;$=NMEQI0H0'!9F+F M2);GTCR'F"-1(@K1$B%6M7L,_EY@-IIE)HTJFU],1:,0&+V6UJ2DJU-[4X[- M&83A^F*QMI[.-N..O!CI"7,D"/[>R.R-H.N+0MK4I)WE=ZZ-4(*J;QUZFM7P7'M5 M!DI7*%!!D%!,,D2:I5ZKH4(4D_>#$XAK"A'-?72T*NO<,#.0!WFQ.,],FML^ M)G2":T-_&PQ(H5/(7;O*H,QF+)OWYB6QJY!*=CM37*Z0B2DF!9I/ MT]S;>G@CX[]CXT<4DZ_8/H?Y?IN<-WLX1OJ*C6?WDL9=>Z>NDNN'3&?"E<1- M3>DT>H&AUU9!3#$)@A)!2 O43[GO;XQD$K$[(BH0Q%+T%02!6(IN11"(0>U& M)(&PZ48$@;#I5@2!L.E&)(&PZ48$@;#I5@2!V!W?51!W<$H3L3LB=L?;8G?$ M$;OC[1K/+;.YW3FO'^+T0UJ V!T1NR-B=T2%S(CTZ%L>Y7_WWLY_QILT'\?(8U^PAW2QW%OL0NW8-L%[=>WA&;HIB,QS6 M'&>;&S9604+:2 II_.L?Q$)@@K@8?PE+_@P&U&&0ZWI MNQJ8T/VE'LJ-FE2UIIB>JW4J.3>(N1@9 4_CW&OGSN\@RX^X&#]H:_)KO"3R MCJ[.Q;@-M^ORGJH$9J[2J+7FKKS+T=:& M4G?9,?7&C&Z1=3WF8F0( "[X&D3Z1.3$KEHJRN+7*LHYNJS+;[-;RLV%<3,B31.I)E7NR8A5$*HA'@./SKPU!6^@FF/^8YQ#62@/SIW^KYQDR_WLR?\1T^(KU8_*L M(0>F9HJA.!H/.(4+>^*U#;>X+PW%D4[53%_F0Q+?9XA:/W-D.H3\Q,PG,QU& M C16P.'V_J+8]W#1/V-V[0+G/[1I21%/? (WJ1XVVOR7R$(T'<@B"(!P(1[MR$((#GQR!) MW( D$#;=B" 0-MV*(! VW8@D$#;=B""(!P9QS]^$(*@'&JT2MR )A$TW(@CD M-]V*(!"O\/M*XA/A9_((B[YN4[T-EZ MJ"',+).E_HB(YV_52CF8LI[[C1KOA_R+^C;3EPP %42G?3I#S M24S*US6":Y\4?SV'4A3_;0OHR)7[TQ6;&A]-+EPKRLK)KN,U9"_@;L"H/ M%OX>+H^<5?@'[?#%=Z%"'7M6)5HBV=[UX4.9T\0N M*9%-(4_;:&Z A_$/X@_/E#_(F! PSD"?:\#P_SFE *LM_/ M[TW9;%24J&SN>"_-P9]/0_H>U"AOHY!OX<7 MC>7:I4VU3DM%==(?5URCLA"N?;!Z4NL7@@'-E,6E.EOYF!;6U!*,F CRQS\T MR:1IN/7W7K3Q5T@T?0QK_#VBVNV#UQ5>$L5TU\HIO4#H6B@:GE=:Z!9>%5J8 M599[ZK9Y;:]JMMMX5E[+XU+5+DKK7K,&GIE?&V1$DMT4=;<[%$E48;HFAFB%Z"FOZTHP6+NM$1MJ-A"9MG+YW+7 MCOI8AL@[!E:'2[.LQ03U/IYDW9JH1U'QC=P8E@OX$%EH97=2S MU'0AY>J5SFIL-RG=O#8L2&Q0J9);:209@2PO&\ S$G78MP(F@RB*2>/$9S2N MN$*6Z'/Z5MPC_+UO+OS:U,1OI%M[YY*!:[_US>/H%=)/+Q \]^K%3+8U$&FS MBGO,S+25CIN_=C\A+:]KNAG*=;.HL<-]L*]7Y740=[$0B#1!?':W> 1DUS;I MFYT=A'@WF0A[ >XZ6UW(Y7EL)&$%?5%5+5HJS*Y=2*4H7"@N6'\D:N-)IMN? MLGUJG8G[8PCL9W?L^=Y8QUSWB,UMSTZ<<+OV]'PIK'O'A-P+D!O';DG7&E5MMR*F,<(_I;DIY5YZ5).V[A00II7'A;[A^A'O+P M/L/#NX'.2C>/>G\0@XY:.6Z%]79X,=/H"[N>RYC.M1%J$FK81%XO='SI5\:U M6G=0G%BPDR+,#1(DB$*YGU)YO['+T&?G_SZPR= ]PN@[H.4]M!OXK4CV>[8< M^)SDW=9=>5QW4MB;73''U,12J43IUTZ]V4U]T-OSS1U>]8<[,\/Q&[8?Q(V' M2)Y* V/Z(ENE;VX^@@ ! <+'Y[:R^GI(&..Z)?D&.18K@CYQ"]=&@WJ%*&Q# MG:])LD;9,\/U,F8C$W1 MC$Y[6)OKPF*\N7:Z>MJ5<[8(6]YW-ZW,R#&QJ;0)XBY'),ZF*>YM[9R_%2A\ M71?A%GJOW2PH;'>D7VKF:UL16TGUZ8IKU>7=M0NO%3M0.J5Q@.$R$1H59V ; MHP4T8)C:X'DBS?Z\[.G0I>P7NEK]F=8>M.OD$\]>1[]&8\ L.;1][Z\9#+=. MF7KC01WT[6E*YM5QG8Q# %]^GKZ!*O=Z"S_^3-TCOK.G%O?,'LXXQ7YCUN!H MX]_@?<"@@'993SC)DH].S 9V$P//+Z^@!H$'>>#F*6 +*:"8X/ZR%?VBG#&X MK2W?3E O-M1G MZXOU8OLU XCM_OS?L[=%VG"/7==N5QF^1'^U>'I.M^CC3^ZHT]KM:@B B[M6 MD ]NJ?;9T0KJJ?9)1T.O7Y>(>AK]9CTB?EJ/B-]83S5KD\_9F^FV)';+^ZH\ MZ'5'=?[:9QX*ZZ8A-[6!*75YTR2ZTW'>R.AQ3S6:2C/DE^^I]@D\80A6OC.L M?&2KM+DPZHQQ-E\WP31U1[;O+1O6M8],C/%%D-DL!BTS-ZG61IL<)>-&TBJ- M9,@TCD %=4#[]OS6[P J']L!#9?W9+$B$&MQD"^Z[2'7+TS#:V.+T*PR]>7( MILQE7B2P@%H4Q$P[[H!&TVF&>ZV?$8*6;^NO(&3YW4[0SMCM8GL1PS?RB.M7 M6F6)LC73F7>P=XT:FSV004U M7^,E401V:XW-1@Y?+XVV(5XL6)B^'OM[TK\V3(ZQ5K/:4/>V9*PZ$E;.ES A M%R2-S2@VS>&HL1G"&80S-Y?I>0%D7(+.ASU%DT0L%P@<@RW4J7!MD,E[0K'" M!SW,9$>U\J[(-.QQ4X\;FPETFF._"H46:FR&&IO=",9\?&,SD=>$7I-:KJ5B M1I<\*U_G6N;5H::;,>W =KIXZ&>,#"/-[&8_B!N;T5P:YY [@]P9E AZAT30 M"ZC@#^0EP_7;0XE=^7U3QX.A2ER;N]BHFVUMZ!&6J)%-;NKWF9FF'?J:D1R? M9BCZD_J:?7:6"#4V^X9L\:BQV:T Z>TT-EON*=G%G2%IRKR]G 7[<%Z[.G5B M5V^Q@^4T,\/9'FEJ.YV@2_U,W-B,I-,XCLH $#XA?+HZ/GUT&S+/&-$Z>-^\ MQ+H-:T7I%6%0N[;7Z.9FT[FQZUJXI@_ZF[=MR&C&#P-$6A2H*OV&'L M$UX:-0Z[Y837"R U$+AU2V/XH9@KYNF.L,NM&/7:'E38K57#PHB=X<5@5 I: MRLAUA4S<.(P@F#1)?OG>L,B%^L":J&N_],UCU._C27^-S=JMHMT1N\$P#!2= ML6?=:Y_V: U'BQPSYS+X?-IE80A1HV7YK;:[/_#[=EDPVIAFEN M7'U"K0H2GE S7/X3EY.6O7 M1_ML>W-MMVFDBS*S=[.'634?1 W]J(%+DW\7F.OKPH"]]G2Z_67 M0OV\/C\ITU^:1DTAU*[957"Q72_LZ,SZVBF5("N3>GN\Y<7N?B!76#.[$%OM MQWY>/,L@+/CR#L$-O-3-0@$>JBV,V@\ULTM,F?'$+@KEJQ]E6#%=HY(9=!NX M41@1!2[+#.91;TZ8N1!P/DT2K^TF/VG,=$*[^@YJ>:%5U[%%4O+[H777DQ9* M%'M0 F,%@GKO+RSZY%GPKQKNVI+#OXP5S#%A4\M6S-<;C#UKC;4$SS_IT'7Z M0#BD"U:2-.Z*,PN7Z0V%:*#OVCXK9HZ-!=CP@6(82OP[O-98^7(BT>BZ$PDJ MEB8[,(YKA@@H/OZG(,7_ON?__&$8O@L=9P@W7MB&O&W MGO872S[["8WRB<&1Q /[3.#LF;0_) E)/4KF_^34W(&8^U\]6[G$%OJ[CXQ_ MA3?ZI8YWO<@.[5D*0C',8Q_M3WXZN(.&,"RE$"?^Q'/&Y\N6^%RXEZ0F1] ^ MX6EE2LJSZ430:&U"F\V!$DV=\ZS0[!YM?58$).\.=7SNO8MJN5A0EN MK%R4CUU+H94X71;_E5/LBUE"8#+SR[)6J$N^YI<6NBE=SMJ.( MXK+!M>"5YZ^T$U9T=F4.5%-FUUBAY-LCN@*/$)V]DAX2BN'[U:I4=*2A*PT- M9U@()LSYE>N*R9GU_;:#DTQ35;#Q9E&<0S__[$K3S/ND0*DRWLS5E=; T_JS M+'0MSK6I.K2$74$>2EJAX2M8ULEP)7C/LVD*9Z2TS6LU76*W17U 94)ZW(%7 MGDU3;E]L.;;B[T0VZ!CU<[1MCE\N?*+V,1OEQIE_9*A*!-G:>RGZPP0@2,.S55F@R\O M&LIZ9Y#U>;N=-Y>TS01<9\U:]8N&LN^*LX[.EW*F+S1G8DW5QZX97#044^.[ MPU4M7S.Q<*,H%H:O*A%)P-DK$=1LW!G7UQ@>>EC55IM\BU+:EPQEO/>7X[S= MF(N;S8:WJR6C5@F,S4.OFT-I,"J;;+F][*EB<,E0MCL&*(9D^+CO\A*5,UIF1[UH M**U%1YXWF38GY@;K6:'?M3*+4G#)4(;%23C,Y8M#D?6V^9J^Z0P$XZ*A3%MJ M/:SO)J&4:ZP[7)V8.(WU$T-YYBS&7YQ.R%Y-6FN=[0@/%T)V$)V-OW0,%"K6]1[!+5%^FJ"0&V1 M;D40J)WDC4@"8=.-" )ATZT( F'3C4@"8=.-" *UNKT50:!6MSHU>W?CZUN76/WED:W!&IT>[O6<]-=">^[ MB2EJ:8NT ;6T12UM+TP6:FF+6MJBEK:_^1:W&FG< G_E]0_HH-Z3OWHXAX@/ MYQ"GAW.(&VMI.YJH36-!+0*)K?FN/UHON'!X[2/_G;U19Q6SJ$@^+97\O+A: M+ZI)2UL&'O#[\IQ)"'\0_MP&_GQD[UN.FNXR8W_1%EE]:PAUG=NNKWZ\N-6I M"UES.]OC3:%?R"K-36F(9^+>MPQ%_:0Q'4*?]T8?U"3WNZ//QS;)K>1XMLX2 MYW4*_-K=M2*T$EYT/%-&7\KQ0:U;4S"9IDDMP>)JF>01"R 5" M[73_!(-^#R_6[?EV/5DH!5'K$2$6]N;JMGYMIX5MK:H=1A=6IKSOY32U6%QR MNR!II\NQ # HU$[WBZ#:[8,7:G-YXV[5)[33K5=YHT!SGHL;BIDUYMD"YO'7 M=JL*_8[C;8RR:V*-EM>=S]J MBRHV$[N6GLU5UDXFHUP[>UTW;&/4[ODCB:6'KEK-6D2'S<3M= F62?/$V_J2 M()"YB700ZJ=[#R#S\?UTQPW5ZP95RQ6;E1V]#GULNUI<.^YKM\4Z.>UG=-%P MVB!$E0.CIB?]=*,\$?M;O+@(:[Z30X.@Y@]@P6L.VFL2D\?X,I2V0[VPW1GE M:\'A-I04H5;DE,*AH2[+0PUU438<=5M"#2OO/P'U4CNX M?7W=&^:UF5BD"_6)N6(U<7CM/@9"KKH@Q&))%HVZL[(G#5+M5$VPPP76&U37(ZE3-*C-\V^L7430KLOVLKWEF8']?R]Y:3<"Z W[]="M6DY M4M+54D$S9V>:];)N8 M:87VH8DP QVSUT[8H";"]P,4J%<8:A[ZN9D[#)_ME2H[U<2N1[68/-O-YNK7 M=LG&[+9=W+1S#:EKMOJL@74&U8$>-Q%F"1+X9*A_*,(!A /OERS#%*]=+(&7VYMEC20XL=G,N%B]:$S(43MN(LSA>)IAWW:HYIN M &HBC$#@/;(\6&\L*0['M45C3@;RHD]4*I5K;\1EVNZ@L KE# B$1L9T6I_( M;B9I(DSQ;)JEWY::_B98\$4=@AMXJ9N% @[S_38Y;_9PC/05&\_N)8V[MA]O M6G-ZO%W"'H_2?N[U<)4*A2!I(DRD64%("]1KZ=7OU$;XKAH'WTCZ!#4@0XS0 MB*S^*P@"D=7?BB!0DY\;D03"IAL1!,*F6Q$$PJ;_G[TO:U)4V19^OQ'W/Q!] MSXG8.T(]3*+V/E]'H.(\*TXO!$*J" (R./WZ+Q/0LM0:NLJIJGG8O:NL%#+7 MO%:NX4$P$0/2[W//0,F:\]I&R:ZF M&9VY=YHA8W&2,M +JNHN2L.%W!O/!)/U!Y EB0@9?U\'UR\L?V[042L4*W^R M6+GF7+%^N;%96[EQFYMWV719(!*)9>W>1=?=9;O26(R,*M^6+7(NX.E$C9[X M<\5HDHC0\6_?#.<60B4<%_:G"Y7KC@L;#C(YNUK,;G"ETFM.M:32RUGWME?: M:3RO%L95GE?,)#U,MAJLJ*[\<6')1(1*?/N!J:&]$@X!^Y!D^9@4D/NK3-M) MM.+<0B+6RICMNL7VO>N;AU.ZF1Y/*0V?XV2BWJN S+#,!D/ XBD\@B=>ZW+P M!>Z@PR%@5TJ<^1Z'##VP!QL"9G12-(?WY=^V\-%==4L MC^:JNVS5^IK(DE2I&0P!PZ$C%L[G">5,*&<>+]+S@I#9%HOZ.%\ 2UR1D]*$ M$4##*MY;R'2;J4%#E*D\%V5!J9[$B6G%;@9#P!)XA$I^J-=,*&3"(6"AD+G? M$#"GK7)9>B!U^#R]I1D]TZ2WU+VC/_-19MW-9XTIW^ZOUZ65S5H)=9=V(7.TF1DP6NS3A0;9;S62;I&/%[7R+.9_,EM\X):=Z=N=MZ ME,1[<;SI3^PB*3)",*%T^HZCN&YPZ'#"UB-'O%X04I-,: MNC33[AWQ*LQ&)")X,!V(]@- +!V*%@W >S0Y[,XJE*"5W:'1: SZ:+3FLQ&I"V;RWQ),W M?4&TQXNR6I_WA+3>3X*.R_H#L6B2C. $%[-]LN%9U,Q5>#/$YV MG+((XD4ITVH^#<2*H\+R<"#6'SL0Z_",'A0_'T^!I(3VK.BNZ-/2+7;*B=(4 M,\:H.ZC]!#/,V9CP)5/1QD1,5L9C8,&O8Y9BJYAI&6-% S&LLS&1"-0V$6P% M46/;+L30W+" OVX%F0X;/W54/$ (QNN0G>$+@8XA;G5L'YF*);ES&XH7";Y< M@A 4-8AKKW,IL"$!0,P'>_40[W_+--!@,$00WLX!X#2EY%1S#;'TA&T-@U&GR!II^V,0$ZL+SOV^YH M!B"F(+4[!J;! U@>W&,8*TE0UT"N1YA!NSD "&0,"#6((M=VOWM40<3P_'W")4%0$Q[19YXF5D/%IKO;CO](!'9FTNVY\#R?T-_ M^:DXT-"0/MR[^1"L?VA3HF? " F9'"5'HY$@CL)X::$NI/#,HB7@HI@M==/%PBS'K 12P(]7)LDATRY: M2HOOL?52BAEL"9>>P)4G1^I7"Y5E5)YN^ 7-C=ATNJ':- M7GARIL,*E9M(! M0[6.F[4!"Q8]NXO>?G*DZF*SMC.=?(EGF'FI,TC7"B47/?/T2&N.3XUHJDBH MS*1+%Y(VD^UM4:.1DR-U^J:R;6QZ)#_G^]5MD9LZ;*;IMSLZPA*PVLRJSQH\ M,(HM<:+KK)$-FI<\7YE0\!DW:$5=7'$AF!J%XD1*H**Z4X"N)$I;]MM3=5-J M]A?-U5#%<502+P-]$XK.]6YW12TS;?AXSR!N&O%(TC=7EH@[]CXD"S6X4('#LK&)+FF&[ M%NC 5Z:1-QP$"4;";+5H;C(,J'*9-"EOYTL;_@TYRIX=J0>.R_?]['GO^V0\E?BC''\1C)A(.C/NPVA:/4 MOB$B*")$Q ,@(ADCPRF/CX"(4#0]""+(&!XJZT= !$'$XB$F'@(3H6QZ%$2$ M9M-#("(TFQX$$42,##GB,1!!O=J?,$3$K1"!O]&H-<3$5<>4OQGM^UHCNJ]C M,5X\:_;L2,CK0>7S,S53,>9+C]0\F$$Y"BGF%A1#4#'F_J/;/T,S9R99A+03 M2IMW4,ZNKP)V,8IYW6T(*88@8W@X]/F"E[Q7,/O2HH;2\3'1P;) \NKL_&01 MBHCX/Z :GF\V'^RA^L&^'H[[:M/1WHIJ??5:-]86ZF.!( 6*N,@\M.EJ-ATV M"Y*:3[G5ON[VHJ7HQ_NL[C*[SA2\-7C3%BJE?DLM.W2K42^D:K4DRNJD?OQ* M,1&*ONT4U3^;Z]^Z(/QJ7/_F/=N?S/8O]+Y/9^B3#(6]FD[C#V".5^,S]^,2'KAPH_5/C7X?P76OGU^5XEHR26 M38Z9]^)$+EUNQIF/%\2_POE??PF5^8,[_7C/6W[HE^G:L'Q6H9;I@-:NXB#?+W"#=*N'R553V4"]1BC9; M*RH0W46YOIIP+<,KUR)__"*)>(1XM<74^^^;'B86<=QN\ZE(15JXB@5D3'8M M^'ZO9,&$#S/D+Q/VO7(OSO>9' _?W^@O]#Y[Y($/>^-F/$' MRI?3H9>D^J_HHG[($WU@_-X'*G@X!>PCY?.W,?Y&#:$CL=OA4F7*S6*Q,:PT ME2YJ-8(\XK>MO^][;8^J]8,K>_SIRIX((_C7C>#?O=_KK4/\=S_PO0.!EW*B M4P-72%!\O, SR_EJE<@.)I;R>2?ZC,QCFV<%W/W$7U)PO) U,-Z6I 6!KTVUIPWKH.8.DESO M\T;8.8.+G(%M7>2#NH+>S*G)VF M.'YN=?B MPMU/_#BR(UUQVD.SS[@<, :29.?%)4M$K)\D(P3.O'>HQK79\NP@C)/9%O[PT6".QIF!%@_4\ARU?/1;'HZ 9JPP MVYW#O\,OVU[2A/+4Z5-$32PQ"6J2B6$IP!^T(,XA[Z%>_Y"SI*DW10!^!%EO MZP\,$.$1+!%1 N)&$.'B'@ 1(1RZ6$0$6KJAT!$Z,T]"")"T?0PB B] MN8= 1.C-/0@B0M'T*(@(L? 6&!";^ZBB/C-)LYO7LE]K2;.^W:0R8^V@Z2( M6/*^966?;0?Y8JG%Z#)56:^KKS^.7O!8,O&EZ>75CIJ'-!.*EO=UFMWG=WUM M.9*W#-OV:2$C6M8&[NV_(PO[SR_62\'Y*O(D>4(CKQW:/^_IOR>G_4UR2'G9 MG5^8&EA)MX/TL+12/'//*GCRU?J9HAF"36M$"0I:+VL5!BN17 MLVIF)5 "ZO6)1V@:OW&YW'WC4/LVI[/I<2+15L01OU2HK_^$4D(@1-G@B4OT.).5BEXA-V@VP7:RY5; 'U;7^3KBX3W M.R-C92"OUU49QZ-*.FU.V<:RQZ*N_00-A00=2:1.^[:&WLBW\4:N*B+>2G$, M#8@;2HL/.ABI1&(DI<:\Q;67J6QEHEI:@_4:.R>@?(B0K_8H_0*)4QG7AAL M%N;GR1JZ/55,^^S]QN.[ Q<;T_-GF/Z7B0SL**AU2$ !#UNI;92D\I.&2JXD M?9(I@F9N\_%9@A]P D0[)>4R)M?C0*HWI.=#-XJG4;,_;U(99&#R?4V&_P@M M_O@F_3VFC7Q;._\[\?]O6/S%2KS(F&X&+TO+0907;85E5E BQ'_\HA*1)'G: M_O.LP1]*A/N;[[<_87AG\)"2X8/6/==L*D9RSG4X,LYWR-:TPRZJR#I(HJM( M*D+CIW>1H2P([?_OP>47\MQ?8_,.T96(9:[.<'6JD*GW>N,*,_CX-)$/. !6 MM"0NJ,PBRC$&NTKIA?ZV-_9Z_A(_?J6("(Z_[Q8@9/&'< N.(GWV]KUWXJO MWV_8K[/4=CI/KIK\IM%;KHBVZF:::)X0"N53!%3FIYP>6O8/:ME?C,_#(/QC MLOP'+?8ABP-) &D*9]IR)[.BY+0]\-1YXL>O>"K"O*K.OW+Q0?>A[ZW0+E,! #2;$"R[)YB W'2;#7K MS& :S7& FI(9IA)74HN;Y@0@Z]WY.)%I51HE>=6URT"*B^I/,$936A M9$(5$I%$ZIU^3"B:+I22=&_.>U30W+U@.325;N=Y%2:ZL5ZGS1*^25 )?)0> MZ9,T,I?070D1&DNW+K2X-]N%;MG7C?.\(FQH,ZX O&IK^)P$&M]-C74M>=,; MFP7.53)X?UC#-QR=B#;&G89<8:&@\>HV0L?L3W?,KB]K_F!_ZSL)F/<[7!W+ MRH_+'8=4V_/1T,EWN+)%(H?+JP*))*AWYH2%,N<[>ES7%SA,Z$A]1=GS04^J M8FGV9)$;UOE>F\ZO.MU.4M)62-J@FA+FM?'S7Z"BI&,XHG:Q_+&[STE_NUSL M HY,./_])D9KMN+N)UDX191D0A%1>),6"3RN1RQ MNY/[Q=GXG(_P6&Q\BTN9V_'N^XWY4B:.LUV*B>-17,[E.5NO*AO$S?$?O^), M)!$_9>8P#>RCIOEW8.5SUQB/Q+-KF-V]Q\/7"7Q0DH#[N( MC[WB#":2?.>E0\C'H7']A['R@2<=%:AENF UJ[B(-\O<(-TJX?)-\ZR&*DY$ M]=0XJH(QFZ^NBLL#*2>FV!(>+M2G8QMC.%J=*;('ZF?_RB$Y$4>=IU,32P_V0#^UQX^[&8^8MKY0]: MV-1(KZS6S,#!Q>V4Z%8F>IH5/+_H\CPK?^VBVKN7,( M>NEQF/%H6_[ S(,YH)(&1 L1\/0?6;%-3=S\]$X4O'I'K60B1L71AN!'P3A2 M"H^1Z*/GPT(/'OWL>5$):-JK-267'3?ZXA@/DGZB](#:B>3I2%'T[__^S[.) MJ2=W70';'H P WIU\3GF]M12)RA).+@"O6 ,U_AQ&/DGL.:N!-B M\45MQ&\SC*(N$JV*W 8LLQQ.! (%[[U][5?*3F'NT$.5P)7>>.)2I4XNM6(% M\G1EGRT,EN)0&JCD>)R@V4K.!-6)/_/B^&TQQ&763 MP8]7+@83:=TC>@R^<(5UFRC3JE*=^)VHGJ]L-<4)E2%;-6YNY/MDOYK$QUET M/WCRS(+E='!UTA]RRMJ*3ANBHB^%H(3E^4JU7=ET*^N2S;N&E>MO*ENCD4)& MV\DSN0;4!GVK9BQ;@Q3KM-(7&ZLCR,EV>+BIM4-ZE!9Z',ZLV&RPK) MTY7%5KY;2O(;49V/2U*RO]W:I0(KI$Y7$D-0*ZL9K:L_\61,%LMFIL, ZI< M)DW*6[DS2I6F*P$M)2XK@!4=:J9 -;Z M^-A4V9LEC&^6U$3+$D:-?*7=CP\WD+*BO5ZM0G7<7A-Z%['3V#T&\:,AH$ @ M7!U2^"&D($UNY$:4VO:!VB9&\:%@Y%-%E[TEI/ )7JJD[>$0\O6TE,^-!X6: M""%%QD[[UNXA!3>$.5, _[, P.;PO%,; Y!690P-D88:*((A2O! B@X:P2Q@ MFT!"PE?;1*X+:N(L42:BKMLDI_4.'B5=R<#36QXD5K<$M5U@H_W>I)?@ZZOR MDMBNLU0?7_WXE8R=^KNW(4KB+%%">ZLFKE2@T@RMO/1 MO^$K3T_.!M:0ID5P/&^)6P M2S@MOL] MBD(Z/WV?;@4A]:8[%3C/WHMW2\61;6BN Z[L21U3P\%"^,?W1@\./>)/1<#( MV*M-2$(\W @/1"P5(N(A$$'$DE2(BM/_D>8;$'Q+_'T;\ MAP&62Y#_'4OMDB>D\=K!YG]($9'= M;=OH*_#*[\'#/]KIOR>'O1A7W)E4/F4N^8&_-QGF0STP[Z%(O CP7Q:8BXJ. M*/\I5GS5IT3J]!FEYO H%:'V<4]!5 M$5)?YVJBQ_G9+)5:<&J4:M.DF'+K> EE,E _?J4BY)F6=U_* H:((+^ +GZ( M#-C;RYL['#(40C<40C6XJ\X*:$M0]8R%\7\;DXH*;:?O8SM=OUE-*+MN*;N0O=19&6=$5M%BBW5%S"2Y M$5J4+*R'AB2PR0O[N)(0'E$QT:#-]/3D3BI-'%RU@>*A#13:0*'0>ERAE3/<EW62OL[BT8;G[-=_<3?SMA M^$]-E82"(BT25SUO#N!:O6"S?]:IVJ?>T=3MI.G%8B?2HN=HWW^8[-^:7 M4@MT/,X0\00CQ.G12* 91A221(H0DI#O\*28(A/D2?$U'V?G53':=532(52! M[*FC*J[KOU&UE,I3:(Y7,CBV.$"3#;*_@ROA)-;NQ:@&^HC;X7DML.8F, M1G78U;GZ_+9,=T5"C*8XIB9M:3JG]J9#5,E_\LRMW1]JO<(RJFZ&NCUTS;HN M)YL"=5I.WG/7K$ZV%CD\T^GHLE%:;7*=YKF:?U*D<):H=*M\?=RHD(K%J"." MA2M/WIY/)K,RV6!**@"IH3%K"DFZ/CG7'6!6K.M]?$6PJ@+*[5DC6ZXXU#8#7 ROB3)\IV?;\&-2:!6VSISC3W3SO(Z[)NJ!CM-V1%"PUK/-U MW!6;!_/M.,UP2F;$-4 T13LE%LTH>*V[P#5*WC_20.L>$%/G);%JL%F38^C5 MQFV:(LZO)^@^+L:\"+'GW15B6&<*;/!$C"M(HXZ!V<_>CDW%)+<,0V,P-.#LD"(%9T.\ $R( LGK.3(S1G8,NQG#?D20W*C2OSX^ M52;GZOBA'FG;TZR3FHM-'I27P_XB:A9Y>G(E/?(Z0"&Y!.7["/FHG!_2RAPN MV7B"+- ;VM.13HO\'UB'/&)]?B(>(^D+U. !,A++I01!!Q)(A(AX"$:'==%E,_&8BQ)MVZ]SV>]^72RMX*BX598Z]FC7$![[5\7CRX M:,NXE@5EU;D229>RYX-.?K2'/UZ M%.S+(>.O]5$)6?G+ARMNTGXDM#\^8W^\GY?5 M9'S9EKLS!@>M"BN4LHF)TFA"7D:1B@C%Q+]XH,*P3 .:8EX]E#$'F".NX=/0 M=8GA3($5_!YZ/U_0< CM@YO:!QW$*4&]V,OR))WJ9DR+)4:X:['1YF*CB/7& M*F@TFXBDB##T\(5"#Y=L[1-J],]H]/=QWRK?PYU)RTKSY%R=UKM%99(JHC;/ MC-?F.9'\KF&$NJ?,0S?CNA&#>W?FND]$X=ZGOK=0N]Z]!F+:TY+D5Z*D1KRF MV=-46\T7Y^DX.9T[E5$S: F=B%#D:]Y**!*N$7FX-W/<)S)Q[U/?6R1<\>;D M=V6"T*$SF_P\V>*47G18B,<-D&VB-O'0Y"'I"(W37SN"<7L_XVN*M0L8- _9 M,/ 2-DO8%_#BUR3ODDU:ANO:MC86^*C9&4F-[+JRUH*.\R3TQU+T^S([0P9^ MG_GQ+1CXG(7Q!S+PU2]'WL7!K-"=)#*@)ZD,51P:I72>Z180!R/K LVM3K*U=DF^?ZF8)4 MNUDO&NTU/X]F)H5T5.,5JGFNGRE-MJ*.R<<[?":Q+O6W[K:]%,[V,YUH6CG9 MZG7G?'TFIJ7TJJ.-P=E^IH/N5F$[FB1SB]EA2WP/G- M.,^M4ML*>ZZ?Z7::RW=+W);DYLNHHB_TA:(2JW/]3)?]@M7-J"K.M_M4=U7* MJGH+7YWK9YK"LW**:N?F:L9F2Z45OL;M^N1:5OJ;-EWB33 M619*I9.5]3( ^4Q_.L2C>CY9):LMIBZSYSJ?BFH[0Z_<"8/W^$DM7QFUM'EI MJ$EK%HRE:]JY5 ,K,)E)RB0]7#.J^L$] RXC%: MMJ:"EJT9"\B*@[$3"X YU)27[LWZA5LJ(F(HZC;$D@>8(VK(6X9K"C4ZW1^V M.)K#Q5Z1+%;II#$J38X(XK6ED GNT7JQ8N@3S '6')I:(\=OLNE3PEB4=MT6 MX2%LQ?;;RCK/>C6>Z\-X;& <]0Y_$VB>.'A4HKM4,\=W=VK'Y9)]&.L:$ MG9\^831?L!<:%3:E>Q!$O-KM)T3$C1"1B*5"CG@$1(0<$2(B1$0HFJZ'B-^] MC'W+:KW)J7>/S< =CBP%/J8 M"5 NT:/%'4[>OKW);P6B"W2WPF/4 M=2<(/G*3Q]?5RM?J[OY/'*TO-SV+^E@W_?#;XV@W_+M?W M\^1 M-O1TD1=]Z7=G$HZ6Z72IM+%3O+H9U?2*NTV)6B5H M!AFGXA$\]5H^\[?@@E &A#+@4JF#'Q4"2;D4[YGC9HL7-6VYS6;RS(QJWDH( MZ)*U+&>4\8JO4ZFTM.4IMK=F_?:11(J,Q/$W9X@_MLN7,>9S8$F*J&%@X2HF M@@JF&\[YID]_A-GR^)+I]H?\,\35.TT6-,M7>&(<;LL"%!XD M<2+9,5AWXMH.?"H92#0[KI'K29N;J_.*0S4+,\#FB=B IA^ONO.!:1H=7RAH^4IGT M1A=O)BD%.M&&KEX!<&VY#PKIM=.S\RN_SR:5C!!T& H*I4HH51[73GM)K(S2 MCB!MB:ZN9I;Y0K*Z66C.Y.,%K;\I5DK#4CH?'X.\.K>S]G*RGA6MD^J"B$%<^,VA9E\F<,-#N$$+#OY1]@MA%=MVO5$EDF$[823GC_:Y M'@A<#^^<(2'YU]>R<@YXWY.7 >=S:Q/H-C@W^E'L9=*IQ7J!YU/Y@E,SBT)/ MG_@]2NE(@CSM^/5W&+0)!4E_?]'H3 3301BB>5PY?HENAG^&CW8UZP-%E3M!5/G<53K'U*+Q MJE+&\\6146W7DPE@LGY_428.K8U4*HRI?)U#A@QW?VW]!L=5Y3E767<733PO M*#F[:TO-U3#H!TH13"0>?VV^T5<.@E2 ;?_$I&#PNXDL&HC-,/;Q)[LNX7WS M5PQI'(JXESL?3U/C6ES)XS-\GEO03#_-;T6E*:0\VX*,4*E301<&,D)I$$J# MKQ:?>*&W'MK8^)5]F7BYJRDZKK-E\FAL2Z( M=4)<>NR+)JLPR4B2>C,-]7"RRF$3\<=M$'Z+?76F /-;WP 9$R&#H)(C!77+ M ;:#6:(#,$A'SOX:!C-"?%Q4>3LL.!356DF6B)PMW5CU]4[#0D\.\(!A]F @DU,-4VL?O,C/"_B7[^ MJ4"R5Z3;#O5Y8Z?*R]O\\>MX\@:$\-6VEOHJ(JZN8VU@.KY0(E-(*!&)")1Z MF-<5#,H]*.\,R) 8I';X$-GC3435(A**P0P+<0?3" ;%V6YER=4VF/_(I/*KMB. MY?7SA1M GN7A ]GG"]C)X4.]\1M&5 ,B/(]EB?H$6!'O4V_LAE_["X6Z*5K> M8 XT215 ,/R%)D_L.#""';RN@HYLV;LWQ#"D.XX/M1OP 6$#_6$1^]=53)(D MFMP$X;NOF?&WD?/GC&S>ZM>2K4[P&M> WL?K7YL\][D+X;EK*$[(0('/U7'_<@?[&Z7$QS MK2*;9FOEC&&9AC]L)T#3NZJE6F!I:$MHC3Q_9_ (*DZRL_QT(N(+9:T)K4TF MI:R;'\9T1=%!?7ST)G&MS-UYVK L;Y!-1H2>!/S\+/:9AKQ:NZ/^1BVW\4(^ M[8)ZL]3TI@.^AGUK=\BCB3J005>(;T<;CU$##O5E%61T YN+*O#(QD9FG'CP MH)$(V10;6\8<.@!Z+05O!BP\)CJ[P8HO+D$QT:7+:HKCYN"#Y-'E5P9K*;@K9ENHF$N:HW:4G MO1G[)GE)QGRN.)X'X FNET6[(\(MRIZNE"3H&*-OCX'H0 L5$@3T!U:&J\&_ MHZ%.F&M[E*1#TA%MX!',7F!AD([0!Z/=N;"S Y_\AN\'?>PEJ- LY+E/_Y$5 MV]3$S4_/KPM4_LY-)Q,Q*HX, ?A1T$Z?PF,D^NAYL_N#1S][7E0"FO;JM?IE MV^6_V*R4I)]<_,#-)U*G+?'1O__[/\\Z_I]+/"[+WM+3[?W(Y"X@PE$0>W M<\<#&,YSXC%RSV'MW.BV-Z<:_L8,Q,M->GO9J3F,%)H6\(9PP#52()*A]H/< MX8FUO56RDZ([<8Y!5>WKSTOKSOVDPKUQW#'>92A?4),JIJT7^]VER<\-2DZ7 MS0&5SD]^6Q^B'?UL&(ABH8M2#!1( UCL3NGD?)US5@G:K6J#:)4; "?)9:8> MIUO)-0,M[$3\%1WX@LI#H2L[F-X8&%2>KH/H>G+]2"J&W3P.\+C.=DF$/&YM M,"+N1P5/76W$(6T B1?ZRP&*[ M\EXT<^_UH]\,USK=Q\OF#&3KJS$T(1#Q_>S1IU\^YOO23":=6,_R,WS> QK3 MQ&71U-B/L>ASQW?'IT4=B@Y=4DQ1>\4/9I.M9'8SIA+X0K9,@0:5T7 .N91^ MW50- C43B)()"DZ;NU<%IBM2=M?Q2CX+^#93J)T:CLR*WR9CJK5"E@SH]S*N^V,G5Z6[ %\R&I(*)P/,4 T0.B M@)<\H8B4F^S=%_B374^8Q_,U#Z4F>LJ1L&#N%/-]( GZ'HL#*T(>@.:R$[ $ M@O<[LNY^0M)^E$'S85@I"R52XJ!9E\NFVW!IR;U/(<50F$L3T MO2",_?$8S#-!<1J'>3!OY@WCYQ."I" LMJG98EY1 9W@4AFS7YQD;^VL%#)" M8=M9=JN[G-4D]?S6 MY*I#C5NLT\V:L^G7K4G\"Q"N.DMT5TN-BELKSKK[F5O5%!2@, ME!!T\DQ>R4Y"^+I"7(J*YH4 SXAW%-JX%>0?X/[F=4XL]1*&LZ";/:Z>QAVM M.>#GM'39>\(6F$.]#3?P/J,AM]9,IDE1=9ZT!;S0R VX:H']\8N($['3JOX# MS?"'JP1^+Y]>\GZ\>-0<96EX%O("^I^0:J!;^A1+,,4-6ND9SJ MO ' [VM>6,(T+0-:A9!ZM3\L&'0^$0*:0(HA*U+#!^8^*'26W.-*,]].6$03 MCY9FZ[Q,]V=S%=E!L=.VQ4]";A_J&XF:UV)+=OW8['%4P8ONCA4+(OT$RYXD M-$5%1M^LBI8TW:4N$C'LC^%K0#K82]E#+>*NHX*I( 7T5BJ8GY**&Y\S?;P'B)$UFA!$ MA?RX('EG%YQ# <(U:W)NFC1G_+QNU7,:62H:##1MZ3-YIGL7&]+DF19]4(I8 MR%1R]C(CT!%HO9_G;-L&M&Z1;_YTV_!2L,WSR14;&P'OEF'?'!!*G7VB-?!/ MAAG+0'EIRG@?27WIR9?DI2_!.KXL.@WXBYH6!+K<-[4_1!A]"Z_77_342D6!$ MQ.9:&'3:%,/RB0[*2BY=[&19S&,E]%@9C+W\FC<>^G<$A6W^4N!>T;(TBNR@ M#&SLK]54@>I+\=(Y,;A<#*CV+]%?F@,0/A!V.0@HV_^.=\Y+9Z)_PERY@F/0 M%2T%(1"=]^D=SZV5PS4!E#P@H=]WLS[3G9J>WDZCW(89\56^EC,[I4_5&#R] M/HU"LFT38DRNZX=[(&_36]ZB8++>@>X&?N=O[M4UH;[BT*+ 1L#8$>"(,%A MJ!E^[+NPYY*@_;]"F\/TK5G$P.A$O[.7/]X.>5&8ZAL_T5BVQ)7^'HDZ%S=0 MH,*' <^*AI!?30V4=X1$K)=@CA"$GHMN&0*K7<008N?NW/^>;XE?X?+V,221 M/"V[=GX6'7.@6*1*B^9(7N75O[*$7N';GK:/B$&_.-F(:[V4G\06_K%:G M(W09_&I*3/;)#K*5-3:'8)W:V*[RX5G<%;G4H@SVMY)'3C32?4?W#M=%]1[3 M[PI&O>(B]_.XG!I/XRE.K+"UQ9@S*CC_<84_J!#V:+I4#+[> MP[E&L(05C \FU?.V(2!C: M_<"!^@I*3-"$U^%=^F@+]@;^#,*XD(>%L8Q:0 )0]D#AC6 98Z!X0\1%ZJ6Q M>#F*A)YF*[("+0@(T:D(=:9WG2MC,T,)3FV#I6<$3J V%G6O^@<^:"PN#6OG M(5V>S3 4#Y+@7LJXQY80G89K>^EIEB+YIA#\XE,9 MEP0]1_BS8[],F^*A]_&?YZZ''O2JA\=:*IX?')0"6XA.+6\W=NPP[23R0:[R MMP>>CF+X^0F(7VS'>T\$DZ:H7LVS!R$$+$-#(2B$24/WS<*#7P-##RP]YPY@ M*(W?L+TO0U?;NQ+7OZE_\[954:SEWFM6^%O:(ZHSA1B"9IS<>D)4 UBH. '2 M17V<]< L:O6QUZ.7]23C"R7 ?OF8(=U<%I2<67<%#M18S7'MP4CK M3CXHK [[#K0AN/8$_DQ$08UV<,=>U'LH.K;[*K<#ZGFA!>;YRF11!STN2AEI MHY$NT\,EBQ)SS@LMA)F3!AF^N80(PK 42')0I#UY0-YERIX0_* C(C2HU=<0 MU5:02WN=)A&?Q2;;JIN*45Q**@!\H4S-\@M!_@ VGZ)AGOZ#])Y#IW]'7PF\ M("SYN4RK\V4U6K 3X['41THEECS7;@-:UBC8Y? M"'F7N@@F7XQIGL>HSB5UA>JR+7PQ[JRY7'S1[Z50;70,/S44WI,E_>]3;8== MH5#G>W82@;H,>I'Z46Z7@D:17[2GB*;H8%>Q^86M"&BA>SIP4KM5XSE&&IF<8,".TEU1HZ* CV6NXTE/%["I8- M31,M>Q=VWG^.9**'%BBWDGB MXUF4G-93TWFUKW&+KK!MRQ,G*7ZBWV* MWTRQUK:LVEX1+9(GS=YX+:16R4J/1:T)7[Y=.V=9!%8 "MT<6WU/U5K8"EHP M >:0E?TLEK\+X'GF2%UONBB\XYL8$8RO9/R+)72KKFTP8X52A/;W/)L7C9 S M#_+(Y8TH8A@2?#+F']**#\CO^=\SRD@*.&TTR$>G[I)HX&Y*E:QY6VJKJSO6 M/P[5W'HYFD9S:J:GF%% QPVW#6TOXM7RQQ=-^*=.B0@;QVRU-^:#>R%?#4& MNY9_*31R;7@@V][7V?:")V2")[Q0;1O#7J\V.Z1E5*<55=91GY!_%KS_"=I\ MX4[+;5/D,B:G.TF\$DW$FV>#!C=5R2^$3U!16,!W_O_>4YA^Z-L<5) ]W1N_ M >UW%BX%6PI9\;>5'MW$6WR^F]ER]4Y)79N%JE@"'V%&_Z[B#70>*D#),FPO MQ55T->>\^O,*VKT8BK_H*7[^>CJO!2 -VM[]UOZ[ ?^_L<'8"S[>HZH_T<.D M0-(,CL=I0DB.)5F OXP%,3%*"CC!C'&:$!E:1J8^LJC%71/U7(>S0*]<2JBD MN%X[J_Z\P0V: B'0QROGU6B-&9#UF5JFD_4$33KK60&M3!ROQ$TU8VZSLP8W M+UF+>+VY$?124R %\GCEB)H3[L#%TQR93I83(R&S+$Y7<.7)VXTA95<[5J/$ M]5J\VF:M5KK9G\"5)V_7YY-^>T@877Q3UHK53EU,*O9$H 3\>&6#'/>XK;CH MN9G@96*PV%9QI21<4VU:_3F5U;7(.5RJ^J.&C17NK;HC>9#P$Y5Z?1;@B3H 0;S6& M2[.GE'!&!/EY9KSEV/SJ'+*F@YY2R>:F53PC-(HX4Z_/ZK7).61Q5K/"*>IF MHM;->1QWB?BR):!GGKY>*@FR7::[6S63,>GHM)[-T4/V' Z&!6Y;[> *@Y-- MN46,[7F[KY_%0<:V,ULUVZ?Q=D]KNTDGS5;ER0D.$$V3H[3062LMCJEVS6B_ MZVP@+\*5IQN=%(3,-IMO3CAHKF3E36T+!B.T48(Z7@H,<=3A'4/"W2I>%:IB MVNCWFP)]2H'= D52.@F/IJS(R2*7- OL; )7GIS>KO6[Y7&.;7/U%I64Z=RD MA_?0,T].+V^+2[K U0R<+&64Q(*MXV9Z!5>>G%[I*%G;R.*.ZJZS;$ID!P-Y MCE:>GKY@DLM\KYZ:XZ+6=,N3,A! &FUT?_IG/3I_)P,S$77=)CFM=_ HZ4H& MGM[R(+%Z^0+I*'=1&056]*\:_8.W$!:,R3UQ\Z%5VO1 M:4N5LKS:*\];^L9.-GN#Y@\,0)5HPI?!YX(K=0PFB$4/M,F>+[*)JG M5G_\CHT*O3N4VNFE:/@EBU*02PDWI )HFBBVBG+M-*_ "_W=2Q3P7(KC? VL M8Z"\:,5!B9+0<@UR0*#E88-GS_,R2CRO$K68&VF*/467_/!/P7?F_N P39$4 ML$]RDX ,R1N^!VY:-J SX_A9*7Y.BOQ$/4O9+(N'EV^<7>F!X:2%0 M)HW0]<,!+_$0QSG#ZE@B\DGV)C%^8!*OYLL<9S?8!5ZN;(F!H^;T98)%S*J# M4Y-XEW!['O;BKA+6R\3R7[KW2:_0M^5!XBG79N73*^HSPG67-.+7M;5\HO8? M=LKSYS.P?(9$A5'(04%N!$3W;FG46W'BU9[K%!GSY((O"XYSOU!^./S06-G! M.Q")>,E +\H9OX'7;JI@0('/M^7/(?S=K#7C7/);<%.*OJJ@GD9([/@E'=?N ML9B"1L;SK*1SQ@#"[+-;Q^-LL%TW6E=>"$:1':B+7B;K<$Y2''UJS,-N*Q4( M=X^S:@%@7KEXQ!=T8L0V)(EO-RUNR5NIGI690'^;>:WVYC#[" E]&=C*1/?T MD4><2(X#7]#[Q0'/Q(SGF9]!FK-++@QJ8#%1GKG>K [96 594;M2Y]'F.<6A M[P;)X/*Y3AE>N470+N,TV>V%Q,8=P:,O/2?G/9,\I5(&#_>3[* "G00LY?4< MV&7,!8[WDS V&X*V,%?B[ S?JL:?I-;0( MZC303S(P@]ZQP=[\K.4SD#]YS[,Q6BB3_TA(!*;#D1A 87O1\@7822JH'8 A MJ.1$KXQAK)=X -4XG%I B+(V\F'T\C<9^1#M[,@:URIW5&C M;;XW!E,^3I9O+1\XN\,D,M-R#G=SM,M-AQ.YVEM!^4#C,>KE@!Q"X94Z,#Z- M#[L$D(O08:NX@IKA%O71ID5QJVWA4RUF/@+D[&!;XE85I\7U]#S%:YO)>$BB M9DHT_6I_F<-I9$]UJ\?=;KV>M@0>M (/C;NK&'>!A?7,JDMO,'29,WG)&$== MBB&!&W.4+@-QY&O-G4*Q7W7M/%OJV$]$! 8L5-&\V5T-^KY3YNF77?<%J((T M3VVA,5C/ONDK$$3R!_;ZS@@5U[9V-(7IL(^_! ?JM7^_??JJ.NW-Y;(?3@>TY?#F52<&\& MW^&O"QQ;N&,;W_!$'R=^\U:$A=U;=[5P"-!/=:!!H,#/"S^J MA?.:V_AW(0@>7H,3KQK_HH,5/RVCKAQ-; ?3&U YR(Y6_&(UULE!HNXBFO92 MDDZ#B(E6PVV(;EOCF59W,$T+K,F,5E<*(KY=.SHV$%5X%?F>YVJ[<[@&/L ^ MPZ)',8H=[>SJ0Y\Z9&0,]$XDX>!/MJ$ILN=FI(..:NTI@+#"_O)6&ZX-Z'N6 706:?/R8930\431O\W/UP>$QTJB /#F5G27[^U_.\.]QTCK+NGG3( M+F/.L79OW26.^]3WYJ1G7Q.1,3KUVE#N@WRR@^>CBECDD.R(>?>[%U;\Z2\ZX,JI@><+%+R%\(_O'19^F.+YR<'A=")$Q",@ M(A&C0D0\ B)"CG@,1!"Q$ \/@0Z!C#A)BX'";^ MXUC(M?L$2M[T[!XDY'%=27SEVK]W9#GY!2FG_^[SFJ[KK7P: ,D'/_^U">!F MYY<,#7'%__M!_OBH%&9B]$/# EV]^J>G\$A(!M W.0,->8%\3'=I7U5^:)]W- <*/@ MT[UWK>#_6#$D[YKGJXC%CU'''F"?I95+Z]J91)( &(]?;;=R#P5GK7IJ& M9NB3*$H)PK0@SH7#_^NJQWGCTN3B2LU+U#AL040]ZPUU MJU&\@87IV98[J_)9CJK'7#5#EUS+@EJD\L1;1TW./I/Q:G\PNWNLURI'[NZ3;+*V4LMF1^K4;O0[94&]?EBB\J1 MXS]^,9%4_$P/S5">A/+D(E<=WT.@G,E\?PR),M!=:RW5R0R_9_,-H94 M\^H2A5:T.2AUZ*BZ:">CH+JLB'(5E>$G?_Q*14C\M!/VD87]'R]#\'&8_5FJ MZ0-GQ[\CV7,WD,4"DC'1O7F27EIS4+& \3!I\F]F8(X4;9VH<)' M&7.>;"P&A61_X63]"]D L%2+B$1!!TK%X MF,;Q")@@8O&0)1X#$518'_$(B$C%\! 1CX (:)&%>'@(/(22Z2$0D0QS7Q\# M$42,#-/!'P,1H6AZ"$2D8BDB1,0#("+TYQX&$:%H>@Q$$+%DB(F'P$2,B(>( MN!PB?C-Q_8CN%<%_(7IY((%]6^D2MW]J+>E"_QK6Z>GE?.A.7J]1@M$C"*^ M.KE<3HR$^F4/"RI&?GG]W;4%R&S_DV0%W.+QB M??Q#7('N$0G6)BH"O2X:;Q'-?-R. *_G8'VUE@!OE:9\]8X ^^)E^FSQ\B6J M^I_^C(JK]_7+9]L,[![!^7P:/"%G-;>",TO-N':F930(6=ELII?H"[ KJZ[K M3Y_5 )JM!U$!GWJF60 ^94M2CI!P;I%(E09Y2KD)P9?\\2M))6\L:1XMJ!$*G\M:.:_7DEQ=^""!\]>U M),[YOBR/(7%&?&+52_);6Q7S=$_I%O-%OGY=T^98T"15F=)9L"5P<;U,=#BS M!@9)9-$0Q(]?))4XD31_?WWW*10U]Q(U;]:&?!M#AWA@0V>^9"QN-25R>*]$ M+U<+O-^@Z#L9.DJN&Z?J$UKC,N-T(3T$C[#[W,>ZSV5$>XJALB8;&UO&_*"'G(W9P'$T('N#T2U@&A;J%2?:F'3T M'<,$B-O1M&Q(F4NOPV#L+F!X)W8>LLPJW%2XJ4MOZLK]&GW5VQ'76<66-,-V MK3.M%Y45G@!ZW&IQ2LG.:&Q";S&#E6\N*+H+9-9Y99V EA%7FL+^_GN^FN$ MC" 0B GRGZ!#)CSX08K5H^8%WF)@?0]X2L)V1[.@'ZDCK@^[V6/*W#10W]'1 M!IN[FJ.8&L!FKJ78LN)9,W8,@P^1 6J##S68U\]TY%U6V0XTMAQOS+W7"U77 M75'#H$T#)*_5*7J3=S4IPL6B-,449.PI4F>_O*_;UH@ MBKX)1$N'?[6HJ)Y?4'1YU#+ZN@+4.DAA8C,9*3M ML RTKZ#5YUEXRAA:6KJ#&18THUT;O0Z:67/;AQ$P1?1P;7/8SC7HS[IP1:AD M+?0K-,W@6>"'&\R0) @-_P/X8/B?:P-L*5H!?#>[KY\!BJ>@=X^%> E^]*"] M?[\/,@1M=&!H(HN:AS2OH!GN#G[/U:7@A!X4@CIF"#9E#+^TB2"[ &Y-\3G# M@ZQO:Y\W!/QJXH,B:4F#F$!FZ?2?G2WC670!G>T2(=",ACBB/OA14*M-X3$R M;CXU5/4KJ0\>_>QY40EHVJMC/BY;B_VBCTW23PY8X(2A?)KC>FOT[__^S[-R M\A,3/T@).0!A !K2,]PGT![TJM7%,7S_3U%;B1M[%W"'AGYREVWRP"W9XUO_6\];WT;?/9&R7R =,>P!AD[T.2>/?&Z MU@^T^6V4TOT\@S>5I6Q@NN$@::FY,O!D]ZGD1/IC!'0P5IQ#28P6Z\#9:RZT M#-I>4/PZCJ6,7+^'M8/>H"-P6X:F(86UE_%0AB/M>N:%HM]N'&[;5]I(7\%' MV H4#O#EIFC;46<*9<]D>K!(ESWI;[O2-/*.HRBG.U50X_&5#BRH2#OG]9BQ MURU_^5#SW$VHK["[S:7512 _D\@B&CUWL< M"D]A*WB<=P;$3&CS"G13F$XIMUQ7F=4DLQDI'8Y)-W\K$/^2P?T4B_J=4!2W M ^#>0D?!LXS/IQ X==]CAZC=AZ*BI&^QUT3+$LQBOIB>K#L--;/,D]V6KE1! MB84:*A$[G0/P;P]PUX;74001*K.:N%*!RFVXP;"7D!*;#M>\%[PJ<[N?-3FZ MRRV&615G)<,%V@K"*Q4[S8;X=V37N!^^4-O$L%Q GF/%@NQY0*10P'L6+?S_ M,P*-> R\YPU9@=NW@F ,>A ?:\>P,8!<"TW/)[O6"LSHAT-5L9;[-+)00:XN M00GO1W^=G'_\]N[TSQ:?QZ):'1?=)'!-=9$ON>42;>KE0?/'KX<3!0\"KUF- M55;U!J]RY,C:I PCQX[@67^A+-4ST>IC-GBFGP\CT<@W\V+1/WY!/PT>R8): M&)-=L%-_T)F$#T&DC(C[4.$$/IN.YES(+GP1TC#PCZ:A[\9;0%:&' /F.]T$ M=\Z740I >^/UC#W>F^ M.>BI7OCU#317;&@#P-\!E&%$PM?TOG "'F(T9:XX_K?VF$7(1%^!MN_S<,'! M'J CO(%/=E8 Z-@ST$9M($65==2'Z\^"]S^AE2A7;9M:3U7%7#8VB/<^Q^"Y3O.DV\D5C,ROW3Y.PFT;H'XNKB,^D(H2!"^+LZ M'UD:0Z.2%!35!3[@Q_KG@_H_=T+\ZT434.[W._"/Y@+==?> M"]N+QZ>H)%C"/T"P1K GQVCL0IY!3X(;MZ')X%F2:\5V_!%3:]_Q.H>;R.Z[ MIF7,P ZOTE)<47-0ATK"I:D$O(1"3P//PQ8I:ABTO%"M3+U;S$:)% :A(0/XLN#V(""57#'# M^A0G;ORQ9KNHA1_>D ./"O>BUFCT&N*SO1S<[Q%1)^1;_[E00J&M_NO*XTW3 M%:<]-/N,RP%C($EV7ERRQ/.!HO%W&/_(;OZ9#3:.IJ1)(K3E&P$\H($ K.63 M6<\<6/7MU$+C27[3X,MZ3UOI\TY>*$)?EJ;.^/X8I#H-00$*L6?!%)\6%'L7 MX_(X#BI^RP5'2@,N>V4,,I+KR$1X87)=,+(1\V8V0EDM:N.=4-IC#6'0]2)( M62!YF3\811SN$JTVO"U,T?=?7D\^768F6NSF::R\&ZDU*D%?1/ M\>.5!5)>#)E6Z_&2(Z?$FDP79UHFB][.'*\<]./*:-24(8=6)PKG4,VZSK " M>;I/B@+C0I1KLIR[F9G1.#=ET]D)7'FRS\$"KU>;:VW(9>96.45:\Z[50\\\ MV2=7IH3J=%,I;+/[;;1VFYY@N<9M]Q)]Y).$DNI9F*._LY.V) M0:IB$T2.PN<-J51?YGH"I:&5)V]/I=?4MM4TTSPS30Y8TNQE*JFF$#]]>];9 M-N9&;X"K"U[5RLM29@UZ$[CRY.WU2:*4IA*VPRV8_J+(DP.GN$ K3]ZNL(*] M4&A3YLK%U)2(4E)/9II0PIZ\'>O'V;,*IJ M?&T /II;CLP,;O:X%GKFR=O5^KB-%P>E";X9RBD-&H_5G#$1$J=O%UA[.J5' M]2K'%-A\O/"J2!>)M^N(?E%],.5TX'V\(%Z4X/PD+UKRC,9 M07)-S<97G3K7JZA]-RN)6UWPI!X\^? MTVO_?&C'X%)#;(-+>.\J7W0=8_>!?Y'O??+N.;?)>"P>_]R8VUTE/4F'O?P_ MG!!XN:$*U!N-FD-$7!@1._JG0_I_#/JGPEEL(?U_>["']/_@B"!C-!4BX@$0 M04#9%,[ NR F?K=SL^\;W+ESWON#"[Z7?#!G("LZX$*-\]ZRSF]\U.OW;J;O MC_G/]!%$V5B6? 4R>%U)AV3P6&2 4(\U1.520T6^*OXOT$:5\;JY?&%:8+W$ M%!] #6#Y/SR/,U^JW>C[0FM7,!IR8&2Y* .%]"]8\6OV-+BZ3GR/4;1[; ;N M>60I\#$%H"T!.@=ZI*C;T=/G_HX1]3G8O<_)O@*D_#03ZB9D<&69^! = _\_ M>V_:I"K3Y ^_GXCY#L:9N?\Q$Z'>[,JYYCD1+KCOBML; @$505 6MT__5!5H MVZV]'A?L9N*>=[ MW[J@TMM98MY)*SCZ]X]X#REDV*&4 M48.=#0K$W.9Y=UE*$SM,XG,*3*=)_/J#Q3'F-(GLZ\V:[F"S5,5MY TU%1HE M7VU-=3>5=9RX>!F:/J*%$3RJZ-LW[8@'HTJ D!8@J^!ZC!N:"M!4H(^NY!Y^ M7F+IL1B;ZA27Y]K=9'/F]# W=7M#P3(KR86TF_)BJ;?;%CMCBEW#S->O&0H/ M$_5 DNTVKN[/,RX>QE%N*PO'OUWPANGQ79SE;T[,NN28D)1AW",8J/Y>%DX8 M)?F*Z9,0R"?;Y^F7I&6JW94^JW%Y'B^7I::=S,'L\QL;/^9,78Q6M6H':PM% M8BEVK%)I"*_3?(\H2@3$DTT$FJ;X'@ MWX P 0+<][(G0K/A#;,!Q^']4]]L>/IE0B7;'3'O<%K;+!J4A)&IJF5-XM_:;QTP.F2(X^[I\"^,F/R!N\BQ3Y,IL M\(B&R<,0\EFFR+"75!W^WGF3!!4W#/ M"F)] W_\NU!%#Z,D890DC)+\95X)=; 4#C^OF=IVVY.7!3Y?%QIYSHXMT^SM M#86.ELA-EVE"QMQI;@ K:PAB,L1VNX7J'GI[Y;DKA0'53^ M=^FJ7MU7K\ 6_(I?\/FH2C!XL(SN-J.F(VM%UU%+2O Z2$T7/39NPKE%5%@1D.K8\!BKOA) M)5L^-1^F8_5RAR?<#)=N4IU&;; ^5WE5XC*CW;S2S6)B+JD5R%;)+ J368ZJJD M%"M*29;XQ:5?++H:JI9GE>KQ:[!YYH">^:96G>AEAE% MTLKFJ&I8K+@@762DVI3P,^4_,TM6O4%*16G MFC)M58A:U5@2R8F GZ&]3(R&]GS-3+AZF37Z>HJ(V(1/3I5#% M\J6=G>K4NFI97<.A)S25N%6LML!TE2LG\D-QZO;87KD)AYX052PU>*7+)M/8 MLB;$EJL)-/24JG(UM9ZV!T6>SXRIWB0/C.IR&VU1G?V-;4-<\T M\RNVN%631GL"AYZLBQ'42DF=XPVM-[&VP]*L@"?))AQZLJ[1Q-0;,8)9\4M& MSN=FW2(_RJ&GGJQKB54K?:);V6+JF#*Q9=%N[D@TU\.Z7FD9^&8EV*L7+VU+ M4T5V=:4^?EGE-BW:JI0RY*P**^F<+6J:!V;#0BBJ;H'HU#,<)PZLIEJ8KU M6N@Y0%U[%OQ'F^G]#VJP8+HV^ 28^\I&4H#Z?WJRWX#C?^/!+5Z:1"&>7W]; MO)3&X\FP9MK38^]7J@M& 4)"!( 01!P+2Z8%@1#).!6*IB 0@HB'996#00(CV?ROD:1=\.P8<;>NP'2;[5%AVK3]%>K30>@ M[\#?E)KNH$.=JG>8PQT.<[R3L4E/\DKG[R@$@P=]J65/K9..BSYA-&_*AF^WN( 0STU'U@R>#AL<#EA\'8X\/NR 8OR*1Z;"RXE#*YN M#'Z%"Z[3N^5N&]JS.\G3_UO5?_7FK U6]< M!FL[KFT#!YH7WLO7^=ZK#Y$0J!CCO5?_=G[(]U[]>TD9/PP*5_>% LT,[^4C M?._5OY<$\,.@<._3@>]T'G"X88][I2MJBA-1#L/R40)%CNI MDO, IS0!@6\ ^#R$[Y7ABQW#%Q.PK=R(D;N^HK7Q$3T4S#Q;?-Y2[:+PK1:M M')LG,CM-Y+KI5;UBSHUA"LR- ? EHBS-7@.^C^E6?\E[OC>C7P&_=SXF#@I^ M/UOY\O?>UG!P>\+_1L3QS5QK2D:M^4&PUY"2FP[W/7,9V$7RZZ[W":E*:2@ MSZJY94]JH)),Q*\_!!LE8,FYRP/XP2,8CW.V':2@U2.&/,+S[?!4+SS?#L^W M0R2$Y]OA^79XOAV>;X?GV^'Y=GB^_3#GV^\E.&<5PYRKQILISC_"T_L1#MW/ MM%9_@GOV([RPD'V_K4_U(URGG^DA_0A'Z$?X.S_3K?E9WLO#G&WUD!^CR!$1 MS$R<*%X;!AMU>#C;&>*T&\3O\,#K&QUX[2\F?^/H_1=S$_S&F"-V-2C/*L1: MRZQ:Q?[*ZJ3H\N2>V;U[#*<\"-?<^4BQZF/4KL:NNXX-5P V&+6N.9.^T.G) MQ=0DGQ%Y5Q>VV-"0:W0/=L@D?_VAR6B"^%CZ8'BP]Y@'>R'BKX#XZR8$_RWB MMS6EV:CKV!)K+RPF9NRLO&4V >*97W^H9)1(?"SA,#S ?- #S%M _LY>]PTA M?Y,*'.P@Z/+%#R>)0AJ1LK^4>,3SSP0>WU M(7_W0,7M(7_=M.._MNMCPM9F&RN,%[>"TQLVC'K:A)"':JKI0(H(LB.3!>XT=R5-MV%1E>O8;]01<*:A(:D?<-[<.C MZ@<,Q83^UWTB+@M+G?\N&I*ES &(1#UCSN>FX0GDU%&A@X[I?59$V.N8Q2?D M9?? X\&OAY;"BMP0M_"9*J[$$S*3E@;E3:\WFPA) M&*JYRAV3APS&/'+,)83V?4(K=X=V;+0S,F;7V/*])9V:F].-1AIK &T8DPGO M;S].BL,%L1W&4"X20[D[MM.-.4_-3(/4Q*)03MJI0HW/-P&VV2MA^S'#*X\< M10F#)?<)EMP=VSTU16T;JLCQ\'S8WY0( %Y=].(N9^?W7G0P%,E-LFD^KDL^H212HS;/ M]!J8H.6'>9NCU_UF,3$16)1B0]_ZZ.T!0SJ7S:^Y-YQ"&7)O&7+=_)RKR!"N M9Q=&I7FJH3&LV;=V^4VN8J: #(%5_MC;RI#'C!U=-F/GWGBZ2T;/O1<=#"%R MDXR?JPB1H;LY:1^+J>-!41267'H #1$8B6)OG>C[B$&JR^8 W1M/=\D1 MNO>B R5$KIM#=!4A,ACRZV9:S_4T)EVOE>@=7;!Q:(G D!=))<*LH@?-*OK< MA3 9AL3 R-,K86%2T3>,:(5.9[ #5Z^DBV8]E)YDC9Z+4AFQ*J5R=5QCNE@B M:]EMMC9("3B&PE14E$C288[1W^08W1L-(=*_17CI[Y%>8NV,(S5&:2!Z1FV# MH^1:OHZ0[MT 8YADF'+T5RE']X;#-5.2[KVV8$#]GM>^/@'U]7"(YQ*U19%3 MJ\UQJ=_FJ.%H J$.;WX149S\F+_V(X([WSF&$X9J@AVJ^7NH.SJ_7 :S_E\ MMBE6AOP0J\V05O=O?"6282.*1TU("E;T^C'#,P] MN%Y-@%8?(N$;N/)3- 0M]-"QU;EJJ?;8RZX]P]'Z$/_GFT MX6N >FX6^41LE:.Q?%;D,[M:2V\TFA#4S!U _9@.\ .?*5X9U0]5TO O4?W5 M#.%KH'J6&K@' MJC^=#'P-5.-X,D8F56/%*?IH3;8&S69LA@QPF/$+E/5M&SD]>+0DT$$1/P\\ M/-)]K"!'Z/8$+);AX^B,,#5I9M=9,OD&YJ;;X Y)/6#0 MXD%C$R$6 Q:">!V+=KZPX59VD>"6W6X-FXV7N[R0@EC\3!#B1\0:'C2D$$8. M A8Y>!V,XK@]W'+"@N.76S%39Q9U61218O1B!WAX@?AQ,@_;]1-O2?_5[4W#EXHW3]B1X- M!'_\Z+3!)"'KJ88K>A0+R'X^V[Q+J*KG7-^&;1.FIBXKELTM73";FND WK6.< (?A MOR(*0-4"S,.Q7.5BS.LC(J8K8^Q&FHBXCOV/^9\^),GKV[C6J 0#0 MJ,O@CW S(C@)Z8(3_QQO%OHH\4_$V[3_^_?((]=E%J*KAA*;>C.Y#!M=4!_X MFTDR'T A_/FWZ@ ))_US9GN]@I@1U+LCZ+,-T$;WE'U/V9L7U_'EAM#01:,& M)$EJH]H"[ D5$QCTE&L>4MQP*S!$^"0J@)+: CYRGC&#N:"T5=.OT,'-%[JY510TJ.%:TE2T%3@9^Z4N MKXF6)9#3[7I1B7$:YF;-0=M*E>N;S>37'X*.LLG3@%,$;.GM"YU\;=OK)793 MQ ?X@E-ZF%)?]TNYX2@@V\[,^\IFF&^4-7>ITUAS(Z];Q34L7ANEB=-2^OLB MJ.88UD ]"(V(:D2!JT*_X M/_\;CW2FA]*L:\52(@M_S7)DM$636HC0P%.!:'#L_43WCXFL56<*1J!BOY&Y M**-K8RY:X']_D+V@-2W,L$*M76-SW%+4TW@O2= MMKTD9AHY68@4'5DX%&)X)E MPXH38*.A;RH;14)]P\"ONFZN[>>X1*A3(F)D85K[LLI@3JH%O@Q\ 3TR,@T M2W%NN@"H8/0>YDAL/)-%H@,>(P/3&0T=6^8O%:M". EI*KB[".] A]")[] M02B !RD"U12F4](MUS5F/;!]12.K0$6BPFC"OH287_D= MLDEG*CH9T]7EM+('E9S>-HYX\H"O&'$$L'RBHN;3*57AVB,GOXF10BZ+ X E M3L7:OWPF/E00ET5@A48D;ZK/&!*./&%D&8F"2%:1T$8C=OH+SL4\SH4(?9UA M:L'1LTT M%-\<\;'U.B*]B$S1@' :A\. #Q#^M_;R -1;.]R!:W=K^6QKEIH]V$IQZOX M1$]+.D;M67\HUMWLBLOV1.'%X2#6PU.1(CGS8"K^)%'G;4+PW!RKER4K(E+0T5C=;B2K#SU,M)G5_#E3'RFRPKLH] MC1CML%R'Q)RN"'0PSD03V)FHREV#6?3D\E.I4+DY@17'V^KHL,T M^HDD0,S=K-RO[/-4:QL];D#--!&O3)68,.S-\]>R3+^VSSVLP!G,IMOB"*=? MIG-,06Q.8-">C2:8<_UO7XHJZ[ #?J@!4L0^!-G!9MC[ 'LT8BA(6H$%CQ75 M3Z>ZWGVONM.=V9>+S1ZFL"M3W\X*.8:9 .+C-+X M::3[% &0Q5_GU7VTXQ.:!0N#(44#[JBA>&R*3M90<$D"YI^M[NV:7+& ?!=S M/ :20#Z<%H#/(WM;QT9?-!?H.\?!_B<;ZWS8_\8!<]MRA([JZ$I]7#1DF%SG MBOJ1W;M?3GV<_/"%UUEQO/6:YNFU2!7%28 M)?DW)\5GK=TC*SZ]/;7QH<[,^L_%+%+CE-IKYTF .89@WGAQ4J?SFI\R_;# 7+3BWK+8#:'2.83LWW"JXY& M;%>:'K'?4V3]YC9BX'GJ+6D.1 GZTWFI71H8>-5F]2D7J]J#@KI(9FH2E-I1 MC$Q&2>RTZ_:K3M7'C9+ '/#?GK"?.H-N6*:D*+(-(0]I* )W_=F!Q-GSYDII MFA_2.#? U PM)G#>F0O >?]#).-GJ.D?.".?V-4="$[_Y JXL.;$."B)D#3' MI$GINBF)^]Y')_*_ L ,TB>V3")I(EN(=#4JF_91L \PZ&7Y3AC^AKEEH M# PX(24$"5XTP+N48-M0+S.H_PTXY<__@7_VSY%T1;1@!OGT'Z#3%KJX_8V2 MK_U7[YN'$8DX2<,)@8_\[%(2BQ/P(_\R!(;]"\[QZ-'/GA>3%%U_LW+=_@D7 MOW\ %;9B[?>2H(ZN9WL;2Y#>7J&].?KW/__C>#FG]^S]-FI'6^AO#8$RBB=* M;&0IH@;\./#^WZ*^%K?V_D84'L)QY07#FA-I7N3=/ M/E'F_\0(<&6 ,/ROCBF=2[S]ZBN/LG8-*-+T9UF[_D='/ 3W%R8_\$&1,$.:#!B%HN$EHJYAW %8 M)N($./Y(/R$;,@^V%\PATA8EX$3\/W&^^ =P;CQ2J62BD:II3>#?@%VB*]OG M?T6*D4^W(T\Q#>]+H@WTY0*80C!AQ$N-\[V8PSP4"YBPZJE?+0(/9008P/.B MP6RCT&6!1AM*CEM/5;!,L$"T!A3>0$>%7A@#*(]KNC7DD8E%"B3^/"3;=D>V M*JN /]LBM+>0:?ED:AVX=\^\OD6E5W/99B)MUC2WV1A4!PUQT$U=*W[WMA>3 M*VBQQ@635,VM@4E%1&L.B0(E]W(M9B%9D!9,\WS-XOW9Q+V4+ M]?'E:% RY56V/R-S/'#(>_TE+;.$N@!>[D7<4^":Z2 >2I@[C)PIR IGDGA?7 (R$&('2#&P#N\E.(#[7S/9'\$ M(2[ RS9@G8ZB;Z_G2MY)SGW(Q1L&"@H6$$!9[9^./__RS(!.\9_\"TX(B"CQTY2D>0YF8CHIBC\Y3 MW-*.1XK&1S*XO93+IY,A.$\)RF]=OTDF]RU.Z9^82TX9AYD0T07XB[=9S7OW8L3@!ZF8"#_B4I2O"C;Z: M^?#5;?X;"+^RR\@].@OCKM%2S'2/SF&BY4J"/AQW* '=[WO]N 4Y/,;ADLR62"; M1A4>6#-QZC21Y" KWLX%N9>DN&'NT]](BF8S.4TVYZ,"YCKF0NX1'6[* 7.6 MQMDHS9P6X Z0SYX.5(42NM5J;XFN:U3BCGK43.= M:T[ R.3+DDU0JWP[72Y1N5F! M3;;@2/KE2+J7;EF]69?@YJX^6QC=!-_B)V#DR=L3G @VQ1#6FMHJSC?)&4^G MB#48B9^\/FLIZ04_)E=\>^:FNL7-=$8)*8$4L)$M'A;D1$&5Z9MAT+'9DAVVHE DT(<[H\%C$-48>^(YRXBJ+"R$R M@GBB&&"(#IQ!6&E&L5"MF2CT6&>*Y$3@11UU#'CXZ=O0B]P"(\'V[L4#+O'R M?E!&#- ?"Q0*\Z)E\+J.9^=Y1]M[CO5F#AS-'@QS>Y>^E8@Z1JKV*1DSHMH1 M<;]*&%Z3E(67R B^-P4Z>?^W?03.]H)N_J=@=G "WF\P<\!M15\718>O]6:&@ M(LST>?'=H[%0&4*O_I5LH;2HPYV-M*<*>%O E>0MYE4_2P8O>O+&+GOF"$JV MVWDU'*!)K8"M12R(!2)R[<_\U?I8EH.3* M#PUYGT.&1XZ3_%3PP*OV=/BS=YO58S(_[QO5A $[H, %61'OFW!V3P]>3Q4C MHB+<0+L.X'X$+]+Y">7.%"P./'8-3%M8?L:25/@V^*GIXRIE R?.=O8!)9_A M91.P+#K#@/8L!*DZ7^BJ!-X$08+FZOJ59\"<+;1SJ$2-'T9'PY[OHFIX-BJR ML5>BZDF(L[L/EOTD),Y2P-_]_7['(TA/'!+T4,F;5TB#MNI ?3B9"!2E4.3' M8+E#.&OU/ 5#Q#VQ")+&@/"BQ\Q/NV1[#.89^)"^>]T$20O_:)GN!&:@P%"! M;W!PASTU&$WZL*8-!:5)FI6Z3F#S;D)BM2+]EUUJ;0,\K MQD?VI 4TZ5K48YH_WT)3'EO MQ&PCJ(QQ-#)RH7._?1JGHJ1;^(XGPP!*/EL%\@&808!%O"/=$[O#%Y&0+E#4 MPJ?"TUU+!6(02"N4/^W+JXDK>A?,D2EU/ I=080VG 3$C0$KV@1;QES=S0&; M#(,0*#'RU+]Q.2G-ECN;G#:71Z/&MI-9&/ "\/4]%LBE3P;E,9]Z"@?:%"*$ MKU?8[7^0\@5"#]@B]O_^1GN'\I8/V;\H4Q=F_NKBPE9^[W\XG@2DF)\K"S,X M)2]']'EN[G&Q82\S%SO)JG6L_5OWA7P]^G^LV16%Q/1^JSS'8 MBST[[7^/P4+BO[U$9BALWLTA]C/&T8OW0\41$ 6NHUPY??@R];R/T\#_L@L" M]69+DI 0-R($'D^$B @$(; X^V8GF) 2MY--;W8!"0EQ,]GT=J.RD!"A;/IA ME AE4T ($(AAT[?0NU<$ZO<* HN:Q(IA? _HT2&>!! MX(=W_*I1O9LPV9=V\S-,Z6\1("3\\/_[1?_ZZG8EXC2YKW2Q+R>"+S81E"<1 MV1?1N.)^)A=OE /Y0'Y3!]VQJ'J9T]PA<]HKZ4!BT7UMA]&%N.NVW5G/;L=C M\QM!/S2_M=7-)[GMXQHC&.KA^5[]'*G]U24?4$%\%14X$4\\-"C@H?3W%K&' M;?IJ2NM%N05NT6.S"_8H[)(\$1QOK$_0_^O^>H_=EU!=4" M_1JO7VKU[Z7@7&'U_WW5];P7];RX/D#9@L>U,LEG14P_>D?[JS4&7N2'KC:$ M6ZAG*RLN9O#5D9%H5,7-\XO#Y":TV]V5 7U;B^ E!P0-X6\?R(0(#SC"/U]%Y.(( MGU2ZW':MD;2VK%GMX6@]*7,Y>,.7@56:HSA]6@;@\1%^8^LUQ/M/Q_OG;GQ< M$^_%3JRPB17G)M_>%+OE]9";]X9K@'?VUQ^*B":)LJ["9\ M\/\^>Q_L[R:WCQ$=?0([,B#>0KTT='%KNL[OL;I1Y.,4EWT["8^;GX=GWIS7 MRWF\ !;B:#"%-Z"5/$$3"J<\!_(+N-V[FT/1N[EL1^RI:3FHKL;^6N]3_0EU MOK__"0LX^#+WA#=?]ED)ZGW0L!_,1_K!4&$_F/U3PWXP#](/QB]I)H\E0L)H M24@HQ%B@6'PLB 30_90T3D@$)3*$2/HEL [5LJ:+T48FRG9:FY/&J,TV:$-I MI= MR;F29MO*"M>IG3CDZHM4V6*;?**Q@27-F)&.;X9+\$%.; MYVJ*\=G8C%MR.,;5Y;4\K'0'U(!/G:LIEB'PQ)(IR3,L/QQEL$*^)Z;(ID"? M/M,M60/.5,89/D,TV!PSR\26A108N7_F*QUYWJS==;4;^JB:_KDJ$!6_L,[V ME2O[Z41F.6:'NS&G,(UIDATO^TZ^>:4K^V\H. 1]YH!\6-+A_1I!L$C\4P&; M#Y5E^J95 !@BG@R3L@.0'D_&,3(D1 (@<>381& 0!""C#-L2(D 4"*430$A M1"B;@D*(4#9=EA*?O)KPGMGZK2Y774=H?ZLMND 2,QVGZ:OG;_]-=N7U+I/= MAE4>^J9#X+ECWVS!YQ#\$A? B%E[YR5?75L!/=:A\?SCYV/?JEK'=]=1/Z- M/Q)>Z_B J_#8,+K2M8Y[*QA8'3NF;F(>]7\7T'^$_DYB)J,MS6@,X>K;,KL8 M5VJI(&0BI$[[4!P8]>II7O=V*.Z=Y/9VZ.7ADMS>BV \>I+;RV+ZZ8K3'B[Z MC,LIYD"2[+RX2N&7REL]G)9FO&XP9S+<"):8"YMMLL OS4[,XK7J>E69>+=2 MF$243B1NFL-Z;M'Q#&K=CK;*6 MEY.+I%9,FM1\$@2[J?:A-EW1B*&@ADG[L3!-!-#I?1,KD++WTJ+V\7W#?:CD M&_AT@9"^MS:NGF!\1O[B&3-7ZL[2*L^4EAJF3\OCM-44*&A?X0099%X [!?6?3ZDUTMV/90BP[-6M:/E>*M1/S3 ;+K0&Z@76%DXDHBW_2 MO'K(>-5]?:3'-%LNZR$^EPHDD JR"7O.W4?FW<*%O/N*[RT(;VWEG)%^.7RY MZG?)59Y7\[&T+?6KJD:L!1K9-BP>)7 Z#!Z%HB$4#=_=1CHC&[JK4GV<3Q5D M+D;O:D5BKC%=#-XW@K50<"S*4LQ';TY?YW;JI5,'7]R?"HS=<>4>JAES/E<= MU*,V9<@9M ,3Q9!4Q54=9#4]X(?&9*&[TN*7>)[$U:J[YY MIEPS'26"TW ;<>*?H[6A+N_/5GKX-.Z+@HNH J2)].6/@YM>Z/S#U7W\J MRD348>]W(/.A+#Z<';^=<(0H!(G0\]KAVNYHID@.[&4MZ:(Z]TBFOWPX& LV MRYA$3/?0A7[D@D\4VXY'>LJA"3ULC2V9M@/;M^OHYAU\\C$'1-93!;9S!SQN M>RW@;5>:[M^NVO!1(Z_K/)@)O-(GSH&2<[R6\*)M&N"/6\#R#A"U8%@\4C0. MC>CA%,'SP;>LB(J^L@"O4>'3P#SVDP1;[7W=\9I9@R%1V/39@NVYX2>'+WE_ M6L-KABL5T!I.28']HM%78<=IU5$GWM5/^#=+F;A@V::%^DR#.=E>[_JE*UK@ M-S!OKV^]:H!O L)X+X-W!574U1IL&G@\6.P8"'?8F_J)&K*R4G1S@7 %UCR& ML]HO&RW)-<;BRK2\V\FNLV^9#?M?[[<4K?*PO[#/-OSKN5U%B_:[9XLH40&1 M5GR:[?'2X38%NR?VS>=U;&XM+ 5="H"F2U4TQ GJ3@Z)XQJBSYNB+0&S352] M6ZRNOF=/GY 0 MBSFB!J&C&AY:;8 23\L]<:0*OF^A.[2P#;H%%N%SO =S69%=8(^ U=C_!D\= MQY[&6PIB&=.( E <5C]2=!7,U0;K%1T(UJEH1Z"Z!>A13=<&3QS#B[PVW)UC M$0'?^OS+<,>.F/B WJ/-.W[ 6M5UR-A1L"997:$F\.!K@+W]W1-"(E%(] V M0YRS3ZV.D#CZ%$.2;BH"GE)E'RGSA:X@^HS @Z%.LF&>%OP;X"@;>A?P;8X) M)P1^$!< @QN$5\!&_WW_N 7] =\$U0J &V<7T?* &5I_6MS!-6$\V[,F6I90 MVC9=4^!',N]FIH/5F$D[\UX*.";Q4Z<$[*:N[[7B=;;D<_[:E?8D+Y>XKC[N M]+ V2Q=P<9UOB$NP)V2<>'5/HE!$+(#X4(%&W\8C'22^YJ)GO@"1@28*):V]FMO/"V]?EAYW4BC%3?\!9\E M@Y%*D)+>3G6YC%Y22^ZTF1+[@ PTP\1/3PHC\T=ES@MLU="MQ:I\F=&PL'6A=]C) 50\VGC, 411 0:"# M_?%1;[BZ4'3/QY8C/.P[Z47=GX_BG4-5(B@85?ADX&!#RCP;UP$^D3T')N5> M_YP?NH]]9(!_HN\_1J$.^.E8M6QG'U3P609'+"--80S#XY M_$#@.<&@.W+*_-"."B^5&&!C3&LB&NKN*J6>K^VI-AX@+@,Y*E6!TZ"F6!)@H<,'?P;LM38'! MC_K^*5ZXQ4*!$^CIVN@+3UF!<,9/?M>Q9342[4/-*&!4&0#-^ST*MM:ZC4Q2 M#FF3YYD(U=!\P??/V)PS $RV_VXI8&?AE^U3UC[@ZL#=/OC!\ST1 IENC")6 M*OP7K,0$[AB,$XP4!88F@&G^%&*$WX$_PFU" M0;$;7;1M+\?8=DQ@-T9<>[]"_PO(^DG\8Q\FX3UAK@!G#O R6CN8S=$WC@/5 MQ[/_YP".% MKAQ]':AH\^BTX!3XSQ8>C>QCT:(._))]!-,3^TBO/GV,9 3 I!\@@Q%5"ZI] M= @4]>*NL-JB*"$6V'\.=VOAV0OHM.C9=Y\4N-^F"YW!@,V=B[(2B6*V8/-BXP D<> P+9DJ8L]7WNRXM0(#C?PG-WB]A_ FGIJQQV!Q%& 'F_,Y4(M[S'C<#JP773\VK:'9;7B!OS$R M8=!QXP9J.O VHXR#[@2"$N5 M?Z14.1V6*M\_-2Q5_EBERD>*1)&*.!9( I<%:BSA0E(>C01,% E&5D:20B1> M%N%FLURY;&%E06M7$K4&&^.3%#4Y5ZH\;5;C=1*!.'UJ: M"[*+-W-%K"?7VQ5-+=+3*1QY^M J*?26D\*+#>SNT[)ZF_A,T^7Y!02XS(; MTTDMO\.FZ[+;5TQQ(C"G2Y+Z\V)^2=)K+<9G$\YV+"C]3A.,/%E2(=O<2IJD M3J2,O.5-%,K.EJ9F]6$;26+#HB;LW*TFS83X&1SU"Q04D(21(HDA!%%$!+#)&F&IEX^6T^1LUW?6:0UD9OG9)6)C1=8\QSXS'9Y M.[(]6)3.0^^M5HI;G;SJLSWB%1R@G-#&<,G MY\!78#6"7&7%FI:A-;VN]D:*?;[[0$W16.:W5X MC1A)ZJ1<+U'5SEGP+=4^R;6,O,%OF5%FP+>V\[&0.@<^PNG.LB.C4-+*L=6V M/5%V5;MW%GQ,8;6:FJ.,BV7ZN19&&PU!UU/GP-=JK\1I*UUK8UNR9LP*F70O M5DR= Q]9M8M]2:NG>;\) M>$P9T1!E\8.^E)\@YL>]9+'K-4>:*\&"LK/SBH(Q][Q@$)K'9-G#+)''E M?S#631.]&[Q.CT;@$ N];5"V87.HZP+ZVHR>.WK,H#LR20RZI'_2T M]ML,_@+WW7/[O!]MQX0Y>-&C06-7T?U7+.#*=<6=/_TF394Y]&6.HD)1&)E9 M T<'_A?%TL$VP("5%YF"(03H0:((0A@]WV/@Y;G%U0('B_V+CCGU)0=%GX8= M8FP>RAQE8L'?CA]]%'* 86L8Z%=L&R;V0C9QYPO$!EZX#[T(A@SA7/QGJZ]P MZA?X;2+"J![,J_1>92MK&$#?AV5"7DOING<0^Q2"/A^GCOJ=Z]9@5Y\ZUT6? M#LH >P"_&!V5^?1Z"A^B: >*#SOP(-RV87NZ\1-: M%+TG#1YK#PZ=S]BO=CZCV3ASW_+&?]NR*6=:WK63J:4HD3D8,+7A#1I%CKS; M1C)$4(@@'T'45Q%$).-4\J$1=,'>@2%SG#+'#^B(%PK-'X6+Z\0F?L0>O!<6 M^)G-54-X?"":?7=5\"_/A#;'H;$0"L50*(9"\39"\;KXN))0#(WDD.%#?1#J M@Q >/\Q(1C<%0@,Y%(BA0 P%8F@@GQ6(7S..[QQ$__B*_7LPCZ($/KC M_J7Z=-\C=EH3LLV6II MQGZ]&[E#^$.]%1GFO'+)',;O\9*"A;YMA6Y(V[.=./MF!R],7=* MD5^R2[(]GY'YJ0[+6I&__E $':5@5MD-.W7?06#L%=T5<7/U@.L*P LLLT@ 2R3AY@H=_?3- A!HTU*"7TJ#8L23 _E(2 M#*VAW8[MN!BV% >);JE1Q&@J=6<-2K7(+5:>B7UM7NG5,([G\5T::M#DKS\D MA45QXE1B?#.!<1L->@-!$!P->F/<7%:#KHGLM)+8%56^C;5B=!4]'WQU?H=%_C0=_W5KWP/2$XY\>=5(3;A) MFAS-^$RUU#*&9IV<:/?VE'?YQ+(6VTIEOKTJSKE&PV37^::0@)XR2=)1##]M M+1O*A=!!#@ID+JOB1VHMS?8WKJ35>S%54Q:+4=U9 S0 )YE,GNFR?-9)#K$0 MZLA@ #ZX?O K@'=[XIQ.=)M]GC'.'&F.5E ,*\/WW-EFVA&Y MJ3.&W42 +TPDDE&:/#7]0[D0NL!!@J@V-4?-V+V".T[3?. M\"5D9]#()(Q89X/E4[4NN^G8M&;=VZ@H]BK80J4$&U.7V:7;YT9SKK86DM#Q MQ@D\BB?8,,!^H2/JQ\%6<#WT+V/KPAYZ9\G&#*K>QMQA/]9IYW!BQ\-^?G MC;Y:F/$YKEU2,VZ]+UE\#[8JA#& )!NEZ5!=7^H\_'&P%=Q@P9>Q=5EU3=8W M!25)9VU^CF5+'T,I%P0(\?@J:!SHS/W1WQPGT J\36QCY^[KU0 *L MRZ8+VSC=Q7PXFR5W"0/A#@L+CH7PPNE8;0BW4,]65ES,X*LC(]&HBIOFG?4[ M1A,)0Z)K):W>A2V\W81!9O0;>]?O,_IE ME:TF-DJC?,E*:V*ITM.J3FR03<&^\] WQK#P^#I45J&R^J0[BVWE1HS<]16M MC8_HH6#FV:)[[^3LX;O:"KF&_T8-7\-^ MM)_L1TLG+]&/EHCC;-@QY_#8>S:1"CL7!8$.>-C,*R"$H,-F7L&@1"B:@D$' M8/S"*D4A)>Y.B1 1P:!#J*R#0HA060>$$J%H"@8=0F5]YUZT[T4V?D+MYG>$ MP6-MP=^WHF7H./[0=1[WG6AM=7/E/K0A>KXK>K[<:93$$4\\,'PNVH8VY(WO MQAM_V84V%)G?#!;7B4G\B#UX+QSP4]O)A.AXSRV^NR*X? _:D.BA2 Q%8HB. M[R820P,YY/=0&X3:($3'C](&E^T_&Q(\%(>A. S1\9W$X=<,XQ_;??;ZW84_ MOK9;-IU,Q+&P_>C#,\)?R;60^(]-_% *A(P02H&K=9Z]0\3P1IUG'["*_@7K M#=[:X;UNV[R;.Z_WJJV 7Z&!YJ(Y72V$F93CE Z^C6T[4WE5O7=E!GRDZ./, MI*UJV\PHKPXJ.$UUUU[CV02#12GRUFWS;BTO;E(E\,J>?5 J-=P'-I>M\\ T MZM.F,67*"VN_[RQU^X*]H?X,]>>CZL^+ML^4^^M,VTFT:&XI MX1MUG.JZQ?;=]2??2'&9"F5H"CU>\P0WI>K5B==VEF:Q*)8X%1C?2UZ$^O/B M^O/&L+FL_F0Q?L9;U-+6,MEM7D\1>4*0#UUGZ4^WVPF:VWR=KK,/J.6#K\SO ML,B?IN$OWD'3J?>:"R(F#K'YEE_U)[G51BW>N_=-Q*(E=J1S]#Q +/TU#W@$QE]607,Q=K7:B M4>+4.5Y2A<$JR]*3?<=9.H[?I./L'7SCVW2._]$/UF4K MN$[W*UVVR.FR7J]8>(Z/IJ:HY?=MUU0J]1U4K. M;SA+T'B4(8DPM'Z9T/KC0"NXWOF7H75A[WR!#U*C%29@;G^"5[%Y2L>=IM]O MEHHGP^/K4%F'ROHA_/]7) JQ$$9=/:N(7+TTDE*Q;4?8CN^MK%."4A5G]>*2 MV\;Z^;$S6BZ[E8G7;I9*XE$L&2KK4%D')E#P96A=5EE/Z$F^TV:6&D[2S M6>&]%M?TN\T2;/P4,P]T5G[%;K,/:%1P&.%*)I;>\4KBWN??FT)^X;2JS$!3&Y:D#;H;L3+RF\T"1YQEHRSYL7;R M@8?Z)1OXG6KK0'/ZC7WK]SG]LLHV6;.FFT1^7=48D\[-6P155FHWZ#8;*JM0 M67T79?7"XHZ)XYJXUA2-VW*#82\A);8=[MZNZ,+4>KFNNV)X95M*]@V^9!,] MO]DL4%8T'J7H4%F%RNK"G'Y9956K]DI"EF,S-2WZC8;U'GY M^UIS@]WR"FJX8J^J$"]6HY:T$BZ(EH09--_9-5>Z.+V-]I\?S)[0!&) M.$G#*8*/_$XX)!8GX$?/^]0K(O_>VFF!. MN]G ?__S/YXUZSF)A?F2Y6@+_:TAD)"9*#&O%Y X!N__+>IK<6O[BTWB/P^2"<23HJ-4_B_(D\_PDTYH1ML6GRT;\^:$GO?>MZ6V/_LG89$/M$=<_&; M *;1"X(S)]2^2N"%/!*58F1J01GW7QU3.E?YZJNO]'Z%#P* :)/?U8ZR__H MB(?@OL) $&HS;8XC4,G#N-P!?>+SR>TYA&9("3]2=T=8?0.)+XE[CFHBDK<" M@V$,D1R-!%+$,($:CV0A*9*D(#(TBR6(!)XDJ%_>_,1#3OBXS]+=4AOCE^.% MW9EGAV8^E8+*X^7('IXI=,WL9*#\U4)PDZ,Z)X+I_:5-)42FF2@[5 G3[4XN?K'5>O M[+",EI36V76Y03EPY.E#4RTRJ]:RI(:U5[E^F^F3E?6F*=#"R4@BQL[P$I]> M&1>&Z5U[$TN!D2?[5,Q3&3Z73W7X>IWDFLFECN7:<.3)1-OC8M_H<^N& MEFF5BD.Q3PU*] 2,/-E1HU!;;\9UF>+%1%-:QK !CY?68.3IDI3Z0HH-57VB MJ7FAP0[:^8J93 %KX63D-%OAR\-FB>1=@:UP7+668ROP>N#)D@::4+(WZW13 MZY&9##Z*E3!'@"-/)DKSA?%6YQJ\MFUF9<4EBR91A*F6)V]75XVZP-.NP\\G MB4Y=S?;Y40=F4)R,7*XKR>ER-6#X>9DGD\FE($UFT#<^&2FK>*>0&^^Z6(;; MU2I"LV!LJM P.5F1+I#E034E\_F?!-=@P-D%'F^#S;K.E] M5V\+W%GPZ:7-8*8D%BDNTTT7E6EOSH^TU%GPV0DIU<,F&4535CMB9DJIVSD'/B*;*]7R*JY(9=)#F;#0BLQL1.IL^#K96T^(^QZ6%[6 M)V4^FS.2Y;/@6Q55.V\6^GULZ0Y2O00QR^=FXEX5RVE.15MYE0BME"GZZ?!5\WZ^AU1AYA&E/&N[PZB;6<5O,< M^ 31F> +DR]H;F7#VHM.58P-)T?@>V'4>M\;"96LD,N1/#'77"(UE]*D;!>J M30$.)7Z]^JUMJ9&D",L:<$RAO;(5*9TE6]ZW\,L:HZ]:^I$S!3V19:(ZP/B0 M3HMZHL[46[0CXW]C4=7-M1_Y'-2+.U'1MX*?;__L[ MT XA&43>A>@ZYOX#S[= MGSSS0(ZB+/X8[. [,)[KX%C[>1UU5OWUT2-A"HLS;QX)AYU;;];+.&SO'0A" M '\]["H="$(0\0054B( E AE4T (P<:3(2*"0(@0$0$A1*BM@T*(4%L'A!*A M; H((8"V#F73!0GQR73W=V,;/Z>'O"X+'VX-""@OUJ"PJ:B3/$0W:]X0(BA$D(\@ZJL((I@X2S\T M@F#N^<4ZN(3,\9(Y[GOC^0+,@85",_"X"%9KHW>"$#^!XN_Z_S^UK>E/ L)[ M\>F[2_=_>CVL@GY6(7S./[QSL#K7 18\^B*\>?>!4G'KLDV5T M<<=S'/%RJSKD*UH_8#>Z"M?-O[6%?M_7[S;WE>U4*I/ZVD<:9'M:U^<*F-+E*\7E9 MZ Y+MEJ:L5\OBHNTE:>GSM0/')4$1T\ON0:F:*7A%J_C5&\*RT:0L)1]-$E] MK'C@ \N!ZY>ROWK,-"C5!.^#A@_7(CQ"0LI^JDA8'_MO]%7WN0J%,D7L"OFU M,.#R:L66\PX5<]PF6"0LIXM_M WL Z,DU):AMKR4MOQZ)XLS\F%H#>UV;,?% ML*4X2'1+C2)&4ZDK:/KVG;!)J:E-==+[V#I)-CXE8XFR42H+2^@ M+0/5,OG:VO+&:+B%MJR[(ZO=V0RG7*94+@U7M,78+C0J43U?)DY=L-/+/5QB MK_/NOY]:[WZ#X,^/.$K^IF?%#^O]OM+"NI&:<),T.9KQF6JI90S-.CG1KN4! MXW)LDVS7QCV>&;KNLN<:5(N"_:N!!TR24>*#C5=#N(>.[QV < MU/MAHN1)M M6Q2W36+%K,BP%KZ " '.+QL_#1!=II/,#\!'J Z_HSK\ND'_BA1P>^*<3G2; M?9XQW*XVP=9]&;^6.IQ1A79=H/2*)M+N.D;.L1*M0[##AC+)*(Z=]N((X1YZ MM@$!PBW4X;HPD 2*=7M:G6JS@V)Z9[0RL"0]]&Z9MV/!CWP0O&\C^\TB6H&+ M;-^[Y?&-XWV^?7#O50?'?OBZ%_%*H^?.H)%)&+'.!LNG:EUVT[%IS;J6_= > M#\3$O_!9O)&*&,DUQ+.R-#MUI+,I2I_+QFPF4\$ Y.'[UEQ%Q"T-"XW?) M,D,-)#Y6:A3&N=E&Z*@(#K3B2B&/DQU_V!!4IX M.AT<'_[+B+B%ZMV:B5PNYS;+O)LM:HK;TW.S&;12H0_/QLE'/J ^M"K%"?2" MCNF(>B0,TGW=$/@6[=W/Z?I -[V^L9^]VA!NH9ZMK+B8P5='1J)1%3=?;^_^ MMJI.582$OENN&IBX5NOK!4/E^C3L;4?"?%(RBL$&P]\BS'ZQKNT_W.E]GSUO MH3?)#M4J5 >9&;95&RN)I&,[L@T[+<(\:"*>#,^"0[T3ZIU/F=385F[$R%U? MT=KXB!X*9IXMNM=*8(ZUYBLBV=-(K-PIN+WFH)LI8A"_\'07PZ(L\[$,YN C M^))ZYR=[?.^SYRWT3K)72W/Y19W3Q#9%S,;;*")YF>:K=-@?YODE^WMU3 J;X :!$'C8NBH@A & M:@B)(% BE$T!(00P>4/9% 1"A(@(""%";1T40H3:.B"4"&530 @1:NO+$N+S MY_MOAC9^0M6^]V3!8^W!15JO/G9KP'WG55O=7+WO:HB>[XF>KW?63,2QL.UJ MR!S?ESG^NNUJ*#._%2RN$Y3X$7OP7CS@QS9F^?'P>,\OOKLBN$*'UA]/]% F MAC(QA,>WDXFAA1RR>Z@-0FT0PN-':8.+M_'[\20/)6(H$4-X?#.)^"7K^.?V M[+"J=V&I(??6F8F5Y[+5??J=#W+4 2*LM0 M65Y*65ZTQZ3<7V?:3J)%:RZ(F#C$YEM^U9_D5ANU M>*T.,3%WM.XW];Z%$:UN;^VDLIEBK>DU7$W0418[;0\=PCW4Y $!PBVTN3ER M8W(,2 )LWG6:K2Y1&K9;?L-5'(^?MG&X4)7=[P^04!]^1WUX\4:3;5$8\B5: MZ_,]!A_9;LTH\.:UVK:0FMVU.^PRR:F*5VXPY>C+Q.ZXFXJ?XN$['U5M[O?L..F=[MSQP M1"MPD>U[-T"[<;S/MP_NO>K@V \7[R])3I?U>L7".;R90PA!YID31@JA3JC4H>/JFS'M@!]07[/AZ@,:"!>P [Y+ MX[L35?\S&]^==RH2,==M$M-Z!XL1KF1BZ1VO)*YUZ$PRTT:SNUOC6FRB-VUB ME%(&VY3?<)4EHP1VK<9WP='(H>*]+'O>0FWFB&FI9"?6.K]T6$O%TZO.ADCY M#5?QMT/?C\2UH=X)]M5P18^[+]^!E63>5"?>-^'/OU7@F:G2:7$9]#2PA:9' MFM\N>+ %?>F/EIUYK$6]^,L^0.-KAD/)E4C>-.6UJNN77RF<1FS?CN8BUL M M*-"9*A%Q;KI@:\QQ9.+O3L2".PF[8XRV$464IA';WS_100TS(B06C4"C,@)D M!?PPJT@H-A,A/_H/\20+JJKY/_ MUY\]M=!;B@#JQD2%&C]EVXICHT?@8,O4/_'(!7)+'E5#9#XAE9LD=U^S'7R&>[(: M3JR$FFA9 K;K%P;S78G@>O9RRTP++B=VFK_^4.=,!,2]-S:GOKR7Q4TYHV8R MQ9J6J8^Y>9$E:2OYM8M=']Q+NMI=QI*]:H&?;\5LE<1,NF^#O23/W7:.3!1# M 2O?,[4-.%X"W&NZCJW*"L3 *6O+K@4,Z=<[.SU75'#_H@!%]D*18.,W?1L% M2DHU)'4AZ@ 5 #T9T1!E,1Y)G5-T)UHN&L(*R6Y/=+_'#N5\R>JG^YT81\34 MY6:0F\V[N0EDAS-1G]M!"R<$$O]+;.UB.\PV<%O@,B75&L_'_:WE?BVV]HD- M[0@YDN_CVR0V'ZS[]8&:'@TIM*'LZ8:^9'R()Z1W1?2NR%JQE(AN2@B!;X'N M-++7,6K?JCV%#'4\X=MI M3\N(>.LXU*2ZB;']A7JIUYZ7K-H+7=S^5@UD6(X@39^Q)_R.%_A!C J^[L_N M35\G(]K32%9= =09,O1I[N31!,@$KAN1E#L!MFV$])1P% FCM ED/I1,617X MJ8YI06M8TD4+2"@Q(L%]E/U]A*/^^VTEXFTY"L7:4_ ,6Y")RJ)HKMPJSY0Z MSKPW+J]J^/H519(4R(.(./Q\2'%X+@,ZVX6"%,DK?_=U2:S32B2(JI#5>O*& MW6828DPO/=,EQ5KN$_'QHW_S@?4Q7QLYO[UO[CU#'/#H4$"-3"XJV_^J8TCDM\=57'JD8 XHL_5E\R?_HB(?@OL+XAX?^ M<20#Q:YQ%!@2GT]NSR$T0TKXT;'-QY#XDKCGJ!80@7+Y:!C] =L ?A&.^^ D M1:0^!$ID25E*DH(D)W&!&H]% 9B3P(#&D[@\&B>QL8S]\FAYF]X$;UF\C5:Q M6F\5VY$VU^H6,UP[DJFW&O56JE.LURYL[_[-/*NI6BK/5;E:!QGGB7_:D6RQ MG>';_S][[]JD.'(L#']WA/]#Q;KWQ$P$+2-N#3W'CAC/SMCSO%[OGIWQL_%\ M65F97V"=[/V_?H#_ MO?_G__OR^4O%BZX^@BK)Y#-H_D<.=_. G7I8DP'_@V+\/>;!*P%JZ MZ59**?O"VSS.7<3BF@YTO_LKKIEU',:*=2ML)*Q8/T4OU X(&;OP2C;0)Q\V M[?G@CX/ FY 0HD%^$4D6I/3(3PLAK9G[#_R7@,8BI8 24NHCA%@QP .V=N^_I_R+1'G^SW_"F@ M43^:; W!OE&'?E_ ]@?*5B/+W^3@ZDCO+?E:W \3G !Q>!TH'"8Y#NE80YUW MS 4/\5?R):27U[EYKZ-7\%464_EI]MZC@TYWU 67$IP/<)1HH6_PN6)YQN-Z M22WBQGQT]^.6T3\^>#,>W@ECFMZCTY@/%Y. U/%F#+VH)!O_!K.Q-&+&6PF? M"@9>%IBSZB7F@>6;RK/:=!8E\*9<9.*P3X]#SP^]()L(^*]T)'%7 '5/Q!*2 M6+B0BI%N51JL;%*Y8>),))_YV.T<"HE&PP* M/@H^!<[A0J0^FE=,&UPM6,@$7/UX!:1S[\=1B,L$-S!"XP_%(C@$RW0&TR&A MH ]/@R-HQ'0*.U9NY5T6\%QXTJ^PJVB^:JGSA2!8[047>-#\.IWQE- 21BD# MODBC&+TK-N4X,\[E 8>/ 9[(:O[45P@1\1R@D2%.$XU##@]@^#05^@R[I7\: MB\ 7]YO?>U$63-:_%$E*!P\;3XL'C/-N?.VC(3W9^'K.5^M?$:(VOM2HV/@A M%A-_RWR+./IMVSJ2V;;=X$'_QG?&@TB%B0]2D,<,-@@4F!"15QPK.T=!;L7 M"\3 ?13 PKZ%T5(.DH7R<^PGWV#&#&&$.HHD/SX [B1H,Q0(&)*4@AQX"P1# M!D(9(0D_93S04&NAKB2HPU $7&^&S*\$3H32!-D[]NF@9>+#_F(,Q-/Q* ]7 M:UC8/9YB&3S;B9D_7P1:0@%L'E>R#FHG8\VT(;D2?!9 MP:.E* V&;V'&$=(6P0MU^!U2@\IA8"#3Z"$E/?"(ETO26(*>@U>D)E9H5'B5 M)SC2;$Y )9)FI70(A/O,(IT_4];5W>'#FB18#TN+4$6,E]R+EM>0>@IG$*STM MF]XXE\S?B"!?[OF3^!*>XYX*18B@$),I1(:-"8&@2::H (!="PMYBX6BH3AH1Q;8(WQM M[3 *B)C,4](NT?I]*8B^@>^RD,)/N#40>?!K'&5W,_P;$6J,BV^39O)F8I*A MD+P7<9SA_"&(O [#FI$0)Q/$T.7 & MZ!><:QG%WQ@EFN6@>\<"4$6"9!E('@%B;J)9O% _@=3T Q0!2'!C6M24WT&GR9 M8Q6I1@H-[+-SI]@HUHHP @Z!77F 8REM\< @2VDL@#@];?Q.G!9P?VZ*;?4- M41/&NY5()%HH%JPRU5!\A"1ID3) U\0T*/@T&IFH(PW) 4#Q 8OC0,,3J&P% M*N0ZD>X5<&6,F:@B*0%GC@H8P4-^$=(,4!8^0UH:IUS3TTD2>3ZY2Y05)^ZE M9"G2'8B_<8U18&X^@2=A2J6"#&$&NB2#57ML)G@ (WHPLS((P ($3>!["7NC M/8 //_W?SS]N,++F75@9H!^*37B(: Y$6UO(1T-FJ7U,)V&@UD,C( M[3I/&CZ:]X@IX#V*G.^/!%,B2-)4UJ $H^0SM;'<-UE1XLS *HKL5\1S( MWX72IB5H2*H$6N@17,26>J1:*,I=V%THAD M4YA>4I]V@Z74E)( ?+*[$#45>+4,=8!2X)O[5=FKJ QXPC)B?NQPBM1)9$+ MV"\)+IRL7"DK34AE'M@7R323N4= A$B)DH0P 4 ;<*($DT^?_^&P7P72%@9H M8!^& M2$R;0;+_+P^2K02ZKA0(VLR7)T;*M B8PH91$!,!K469\,D\>(2'^[X,.>?A MM8\?BGA2 8-\5WMO*\7XW[9@74R;=-C_BS(FG7GXBD\>?T%"I7440'W\(+E/ M4$8F/IW_1N9$@EF#DE& E@VW;,VG59;@XQ[84IF,TGJW<8BGXQ!_![40*J8K MJ8066Q6DA!&V1< ]PE=&HLR7+JU^=Z>_&B11:U?8&(A7WDN1KN'F*0[%X*:2 MSRC>H95)*#U=)=PF*'=V<S,L'!0FF4+&N6I72D3@[(VX_)[ MR'@):NI*JJ"**,"19T110>'0)+3)$F#\E;60JWS%L'4E(F1N! MJ#\GV-2<;:DY0YN:8U-S+C(UYW6'I"BY@R!:HL"RT0 GRQJG!'4I\CC^)#?S7&WE[:&CZ2J/]ZQ/_$Y"ZMSU6$ M@?5D8#OR,9[MRL T!9@$\J+ "S1DE\HC*0KGB8")" 3CO5 . M**DA=3,]N64HB7^.EGA ]%F%5^61#?M80M.=Q!_.G!>DQZ?^C=ZAM&W*3^7= MR^4E0!]''F>*:HSGO@*-)=H;?_Q1+<4_^/=^H+]V8,TRON2#AZK/7%0N/,!$ MNOL3=0UX8_=*HX3"4"AX(D=ZFT)V*DQ!\3%YK(61^?\M#DD+3XA)K@!GV"&@ MZLO_^@ ";)& ,E-(]0%5YW'3&3A.!K?BA00"QIQ_@\WH ,6'GW[X,<_TD4Z= MP9Z:C98%"ZMC%Z23+"%_)OXFT-G[";[%T52<&_./9*0_,0\%U-E"H5+-L9WB9.9 F4-*#+'1Y;"H(Z%X(&= 7>(S)Q+]2TXH M.:-8S-!QW7(3ZE@8 "U#/$^8:(6[0(Z(@$EWB#$JPK"/]$JD1-B<69UE M>%UGNXI6^A?V2E*+;[)^*9HM HPOS+-0J63Z%6SB(#!%5ZZD<1PZWJ1C=74Z M9AZ4TP\HOO#69R9/X=%L+P,C-8&1K!*PI"L5"8VAL\=9>">M/:V'R5HS-2"1 M%@R*V'L^5>77D/>D,1G]U3+,L.,H-P1/8PIE;=J): 2F5( *"'$&UOB2RR S MV(R3.['V[$3,Z90//^/!))U0PL?()[\.\?R_N:&9X,&VQ^_5%],@BB;%462V MN(OY!)D#A#'W\9P)H $:6R6#F#R0;Y)._L-4LJHRFF.-2B8(M\J0I8^8U@A# MMHR'IID(U!0+W'D@LGGQES?# TXZ]],'VI3PNA18M2>1SBN 0_'5!+'5#(7 M*13P1-F,)RK4JM(UEL4[N6HLC71HT;S0$Y7\J#5:;!6/J5/EE>)7 M/+K#O\RA#;DN+Y%2SAH>,R+!9?,%$934 C212*4T*4ZLM]+\"RB7LJR6&#B7 M4R4"))I2&/#LQ2F#7S'M_!Z/A\.[_ @M3]J3,3G R\Q?J,,X*EZD-2Q*%+"_ MI7PUP8]Y$*0JYOX$L"#X?-.SEL$N7TNZ?60*T\O51X$3O1Z#M20=YAHJ3XB3 MY]I%"B,X%L %IA&1KMM*99+*%[PU4-%22]%6B%*...X32]#FRE/CFP+8/)TW M1Y<.E0'D(CCQ*ZH&]#[)X>9Z__EBBI1)J@V'$<'"J\TGP7SX>TS-@S4&,!.0 M!!T^3;B/F1&8WD5Q?QDP28BP\+_=@2KC(\>,/(_3C3 \O<)GD%BFE I(F"59 M$ Z8SBC"L%24@,>*8R'PE!]S!5$R9HM(GGMA?"JG9746IK;%DCE> M!3!VGQ?;PFQZF>P!@LM/,9^*8XH3L@?E*AOI$!'ER:5T0J>*>,EI[NA,%">S MBK"TKD?NWP%QZD)1.2AEFJ"AKLPH8KI:E/66D979HF(0^G,*2U?Z2YZ7:O,O M00_8GX^S."&;:!& B3L51E(GT-LNS#]:N"WGI.4,T\L2#Y0U/@66WN^9K"DU M0<$I)CF'@2"-*!.-.$P>_\*J5DQ?!U%TIL<&)@PRX3",Y:L@1SYMRUP9EF0 M8?&_:,[?RT1L0:($6559^U*4@ATB<]JG*@V8ZOV@W4^"<6J(B2C0%YAR_GH# M&$&I!TO.$ND* '868)7,83,977V2V7(RSY223#&W!P::2+3+ R :F?:JMSY1 MKX!I;X@'S!-4(X-\N$.3XBTE_^<9GP9 UA"!4F,3&3*MA#"@T@;2O3'Q&,RQ M^!./43:24%(@&8/PPQL5.DJ5C[4&&Y[D:S/NQ145GTQ2/2E;UTC<4(0K +^+ M%*3FU]@H3'F']8:1:*:^3'?3-K4,B)$5G,68/BGU'=!=2DM4R7GLMVRBC'!E MB.+1'$Q2!%ME$#./JF'6T48V/?=H'4;2L$QAIJ=^BWP,V9HN7ZD>Y#P+4G\1 MF#G'X"A$F.Q&&?C;HNFEC;=R-@&>C8PHC!:HQM?D*\QD*1YI75&-'DFMK9RQ M9O"^2Y*E0[X';/-CJD^?_Y&?4)'37JH'>S5H]YP;!KL(**8;"M+^5*-. M3^=@=CI;"IR)2Q#+I30./Y*H8@H_HPK;[*IOZ4)%1>B%RYW)>.S1A7(!?R MWH(TN&;:&P"#T9MA1HB\%XB(GV:43Y7?D$/G9:SN1I8N0Q+AC'F .$6O((IC MRCM+E M,40:PZE@0\3"WLEKJ:N"6AP%Z47!/0Y>N_JS H4UT-IM1P-_MZ@K^ MNZ557DO#*/NG/"7V$>@^U24'4$9I6U+.4\Z#D]EM^MYEA#R="'DD@PUF^:.Y M"Y=7,"'.I[NJ,JJ>ZGMPB?30)57BQ,A2$:93JULUR%$K9,+R MG1<#S+ESMB4Y0Z;QE47ZYW^<853Y&>6M5-0%&!C+5*A+]\8M 9M1MQ;_,D-+ M.IY4/HDQ([S%G7QQUL" MU=N.\Q\]E3=/9F2>&!Y2@CN:GQV0WO"+^/G+3R%EW ^7A76MY<&/C/* 5A/R M3R-$_A,%R,BA3U)Y.13>PB@NJBVS8XH\MPO%U,\KVQOE >88RA/3*4RK-;O\ MRKRR1]"=6^Y1=<>C "5BS M?.ZQE&FM'"_+%+=GC)H)'1A13*[8* MAD: AFBJU]PRF 'OQ=*A9;%X,.UII2BQ,?:N8MRET%QQPN8%=.<+!&)Q19:B MVQ,L S$I:DHE:T6>_ 2W1K%DJFVE'00_9C.Z^(6Q2$R+5I5WZ"E/>1@+.H7! ME)2(P(&)5JH*T'(F0M1/_$[=3LVGUD GP_G7F1^(4AD5>9R7E_'1AWJT"UDU MIQBI2"Z@>EXZRDHCR+"G 4"2:&9ME+7;Y!LWYRF'B,:B:_D4Q)9T>)RN+.O#2K/"!5BTZ!3&ZM 4=- "PW Z7RJ0 MV]8U:6!2I4Y(=-+T,*0R6@'ZZKH'#J/2D8 591ERB1?U'96QH,(8UY2ZI*Z- MHX/0&/;P@0ZCH'H,;+9[<+.YA:*>)2!9^?@U32H!$7E:FMU%";">W MG-!:Y4SU>00$@;$ - @442)GT"WZECX]DMN=\ 6N&N_TQ,BSJ"$+!E:5'1+P M^=#_B!$-$WG]'B1AI@A1'EH9Y0,05%8[X^.C2>DP5.IXM*<^"1\+*T-4SX'Y.2\,TU*@W64K:Z*G8CD^Z155$? MJW@&F3^8D"!D#8A[H$H5ARANGZGYR423^@P7N BBE33*M#C55;-:TOZ64TA; MT]!K)K&39ZS.+)%K,/)#]:QL0CZ&Z>7Q=TL5Q2B)>5-?$ '/.%HWX#__GG&J M1TDN04'"IK@BV4M]%C714TJ.ZA2$V3A^JF[_@7#/S+SK%4OY-Z$C?(QKQ0BO M!ZF*,>52L:C1E)?;*@XAT9Y6SL08Y+Y4O2))\\LEH 61Q(11*\XL+Y3GAGT3 M*M[4D@4+]5DLT>943%",YR0)3TB*Y!GHZ%C9')]3??1/QQ>RT@-Y>WD90EUL M$.U^>:J)^]6'H.C83?)397FJ2VA9@SS5_)%?%2:COL*O;URBD@4IHK)QZ5K. MQ?/"GIE"9$MH^BU5;M/2S(]-!Y0RT1)!%=]T04E)JT;Q-2U96TKTMY1AF%?: M,E2!B7@8BVW6[9HTT04HZQI0I)62NY,"ZU&E3%- M<2.!_4CI1"T:0MC&-8H,Y_CV#:LK,WP*,)*CZ"$_HU@O'ZG#02H8DH&!JELL M2I-'QU4>08%VQ;3AFJ =G-"I"I7\Q%0F(+G\)L!MU*JE!)=0(I &6D@]*ULQD/!,O+-TD3)19SRN]+P1K& M0P45":.$A@W?E=Q.5:A>%5'3Z<*MHI0LOIMO?RT[@$X^_,FUO/"1B]W-ZPVJ M&3W5E:8+2I:RDLJC.I0>01<&3*=[(O(RV*; EWI(%:-NQAXS!K_93E$5NCQ81/9LIXI2LWZVKT,CQ)."H? M:F+>J[2,S>]EGK=XX!@Z;)7/U:@RIVF\4SEH'N9U!V!+ 5Y=D9Z!O+634T,Q MLR10%<4N"K26[71YWU3:P4;18R/A6.6"R_M+.1D_LF(,C>1+*9:O:5B7N]X& MY/PU\\KH]CMY\MA"%?MM[<(KW;\-?)@C]+F2*9IM%4BT/[LIL)+K*3GH\D03 M8^,R$]\/C/F2DKN0"#HRHIQLXQBFN+>*E8W)NC5@*0,G$C(E.W?+:W3HB.XC MF9*RFD4)C!MG[<5Q>4'&.N&Y)!;'5&XUOVUK!M9*@,&#EU@#):\K9)SX5EH+ MH:[I$/LGD'R1-S!DRI.W\@)4QOKLCN*(^29-"^^3E7<=V'/;B0DN^HM(LD#WW"(V]L2%UD7OJ0MQ[T7/+:@PZO M&&>G\,$3Q85@O'Z#%V$C^$;>J="EHI2&P?Q+W6%!!IX*JV2!1]Q2OCCL?;C* MZ_^HID*Y;Z[4HHZUJ(J@TL2E8"TH3*[N5^7%RO.6"$:>0G%W*PLI5Z,DZ U1 M1XI&W^FD_D'J/$M:BL6&F"#( ML_=%2Q&5HY>195W$S71FIHD[F"=4N7=2R\[\>**L:(Q1:\#F55QI95Q>;N/J MDEE1ABE=YO1O#;Z]@JXH5G2@DJZ[)>I6)M;HQSP:>3JK$J9F63A!H$\BL)/D M2>GZ3RIW6C\B,VG'6?!-LZ1Y/3$O1J*7D% M UFU',>]PP)T%-Z%G5SUG;8> M7Y;I17V_5;+D'"#E$MW\Q?,!R0I:LF#G(XK/LJD*R:G]$I7!L_3?XBY?=2UO M'$;7R(H#:%F\VLR5PNP9F59-S0/() .DF/Q-/V':GNPUD -1]3;!6?ZV=O53 M:5D9JA/K8K*E>&G;T09)(BD!<;5K$#/;=.B;X*53$J_4);.X(V:6[Z;KYS2< MEJ>%/G/RSIHRSS?,FQC2J_*V.%U"\V186VUMRPH(;)LKT)N4 5VY#[%JD/&^:-/RR8Q' MTD49Y^NPN-$'!Q@/WEA@I:H ]:$9PE!E"B!(]W".[*T'GEO2]%VL:O$ M;GF%QL)*MH:^C9KO@$K/8'*K2O]4AN?CL)B#!I!-!B8BOU6O,Y5*'4XH>I#( MFPKYX4D)UV7A9&P)])&29L!+GKK HRI$H@D%R@![04FUJ2LVJE(=*2_JNK=D M)HHNGH$/R:BD;%%#DDT?F^/=%QGK'0LI$_D$K[8;*\C5X!8RFXMT%DVPHPMY MN3]-0>&VU#FC /?ZCS'95:D)];$K3%@XAACZ(4-M#7M#?:W97* MZ!MOZ$KZE)B@%U2HJ6*-ZCA*-NOPB?!6Q?5E=3FE:"Q1ZC<0EQ0\ZG=/2T23 M87.)&&.H)X%GQI)(J/[SSPYFSUGVP2O:376U)3]I8BT_91'VB[$:GV&P6_>ZE0@ MJQA(-8')TY;\UIX2*DIE1EESTS:=Q4*H^TH/JH2:TN/_)P/OMMN6=]WS^]W[ M/=^^Z#NIOTA[_VA$>%IYMILJ%2SH*M;5$&R#01Z+P+#-3=%BL*4\Q5<5M%2H68:HC8)[:):N MUT=59Q/D@$33*78F'*]TFW'USF859"K3NEZ9H93,?G73*4H_%-["82]]-S.P M7*(LMS48C9S1!FWMEFHM63+-(*W>T.F_AK3RP;:25@7TX7:[3F\? ME.H7L1 M]T4+[[]3$;.?Z3CO0FRMW7SV=[.V'S7&]52KW;QEV&GO+#/9GP9.@3DA\36XR#ROI6VTR'*NT_M^;]28(!^!2*N(WRZAB>+=^_S,G7E*JI7 M_1O#33'2>9YO! R<[KH-T/V^Q$&RPL>&0+JZ,7Q)&(E&51FO:K5% 1H45:;T M,I:LC]WTEO.7]Y4-X(V6%]QW;KXW$E=CO#\4R3O49=[?LJMB9&,92\&*KO6X ME;S.GV%+7(!P>(*^UQ"H:=4%X=W91JS/U;!N?TW#NH,->Y5$^B:MPJO]FA!K M?YU8AY983ZO)OAJU)V7:9U"4I;^0*.(!#.V=8%6RP;!=G^50A8DJKFD4X*<$ MPJE(9.,1;/4 9B;WB^:92BK\%]1J1[I(XO/*T7N MN?!S#,H_<22R!P6X/3.>MK>!_W(""$UIN4D,>:57&.YG&#N*99KJ'*LD8F%4 MRK54V3YY>0OMCF$.$G/[6A/0,1"F4;R8INIPS/-2R60S0K9EA'1L1HC-"+$9 M(3LMLI\H^QI+J\]+:9LVC@#3_BL*KXO$]4T@,1\;WZY9)7ND&. CY#Z1)L(R MPY3-D+ W%!6+L@3KIK^]K;7OH#KB*"E*$@\E:, 7B;C5'\QEX*R*!) 3/,EK M6B.1B.-9&NDOI("C;TIBL$U2V!2"M#_21J"7HDR]5!9I::R7JJE0;CR=Y-O> MH<3ZX%>#7#=@IE:@X6!)R-X0/*AF/1[1#)]!-&K+ &C\\B_?];][X?8[':<] M..C^AXL=!]+[9$/1>=&/\ISH(YT3Y<=N34#]4WNO$S&XSDVWUL3PQ7\X$"GL M5F+UE0)675AU<71UH0ZRE>WE+AX8E5Q@.BNHQA($U^=_;9 79_ M=5OR/CYY=]IM2]Z'W_WN+)CF MD??N/+?ZD'>OU[7D;A'W::+$$"UM!)W M\Z5VYE^]F9.;B*Q;*FRQE\#IWHP:=,IC:=;2[%_937M@:;;N]ER%)'IBU^1E M8K5G2?2"2/3$[L6+I*@[K!)[C78H&G-2\QG/X$22*F?#1D":';]^J95W-E'M MEPBNO@W_6>(_0^(?])@EZ3.*:!^#@AOH&HW:5GY;8F_@&V94M(:=_JY39TOKEM;/A-:[K<%H9WJ< MI?7'S,E3H_^0ITNGWEL5I#UJ]7L[$YLM:5\::?>'I]];%:3M=EK#=J=2VFZT MP]2,XZJ\SXYJ./LUPN9^$>7*[?"L; BHNA!^F?F[P/R3*,-^'">1;$>XH''R M#5?CD(W:-S;)W;*(99''_3BW8Z\Y'>D@X>04<^Q[4"??<$7^X.ZPGF41RR(O M/H<[^88K\2M=\"N/=)VP80[GGZE3WF7W=7R\+ :+Q3007IHPZ@X<>JOBH6F0 M>6DFV[IO-#3&KN\?>,@G/NQ8A#"7$-3+/F\%WV) 1-Y,?8$-D^%WSU_P(%AA MY_E_ASZ.]B6E'R?80#&NM'U\(U"S?D3[C%[E ,U8\(3:/,\7''L[IY%L[.C!]J9Q-*>A0#S& MT1(0FQ0=I'5W:34;=:?V?L]\6;.]Q6 MJ4]HCJ;3!(ALO&*<3?E]%%,/31]6 MZZ7%'(K>J!E) MF>"I;NT3\2H6J)8HMQ/^H=BLQ )/P:E@@([3/2H#])S1MOE0 1V$ 6I"[^5E M["K!]7,A_M='Q3\#A$_FX!E'B:I5&\RD=,J$,VO^=^0+((OU^ B BE0;6(XC0+:7L. M^P#V.C)K @:=/P7+/4P9$$X69@E.)SMT$XP$\"$,#M(H%EX$3R/C*:[^/0-1 M15?]E94&7X+4\D#TJ"]@8/A?!L+X'F2FA.]*O[X%*"3*]+" %_61H)W/7\@. MW##(>AX0T@Q1EX%@E#LD**A&, V?PHOK5K8/KS@$JTQJK0;G\$GCSEDC&G& M: 17?=V.TBC,>\"G:>R/,]D"'9#T,Y!]!#S%WH"W$&3H +(P"K'%>0R&O.P> M+S&=O&5+0%GGQNE_OZ=>=Q@NB)8P\6%9L:$H_^U\<=A4@,L.Q%YP4JP8%UYN M?]_:U/3XI"A+5Z1 6#/,#FZ.CQM#U16% *($AP*NANG%7)-8I;[)F(;R((=N;G5-ND M[]'"S9V>D9DC(=OM;C;BPW__^(=2G\&-4+B*]!L@5*#I4(#[3ES+-H9\"O/? M\F#)5XD^1' =-S]%N,U/"[JXJ)'3<[]GQ4<$R@;>YOSAVH";"J=?!V*:WLJW M]%=T.J"_>Z*7HD)Z&BVP=\M@#>&##6P?)&6J6V#FOSD#/3W]RW=_^AIYVUC@ MI5/*/W$@?4YA1NPUK MQPXX?!%W&*D!DR !_SBI.,A0O:0[BO[RRUJ#Z,E/@60\^/7?J0XN*-C]]Y_] M2]"MN]?UBP#K*Q/D1X$X3= TBZ9^FEM_!=@217)EFQU??,+FQ$DF:VTCSY<]/-]:).)6?S"7@;,JV8P2PY,RJ:P+C+-6I0G: M&U(\C?6L1G_>[_:^H=AS;/O?-=/Q>'V8*72DNJTYG9V].RTBCH0(L)QV)@19 M1!P)$4.G9Q%1!T2 :.I91-0 $3=.WRKK.B#"MGHS< !E:E6)0A7E71O4:&Z FZ'M0H(G/:W1\]./U4AX/3@N/4BO.TNS]X^,420W.( MX=+EXI%CU)85ZKM[*Q=KY4J<5UPZ=_,:'U ^UP/4K3W(FF9GLVZI4.I>1>Q[ MG7ZKA[>7SN6,\SP.,8^C+2QJSTCXG-B8?8GPZ?;:+;?3M11JA<^Y6Z1-"6?_ MW2CR:P/2-O!RE@'I%QG*P]:P-SK/.(R^#7+&X94UE+LN2-8SPV*-./S2Y5L# M;?%^OS7LWECY=B;R;>#T#BK?&F>.5]LB_M4+L^TC;&U%VS[B#!!A*U+7!!&V M?41-$&$K4M<$$;8B=4T083FB)HBPRKHFB+#M(VJ"""N::H((JZQK@@C;/J): M1-0_/=/VBGC%EFVOB._^^L5_N,Q.$1NP.*^\[=I=>*Z7I'@M#&SK"-LZPK:. MV$TKLHSI@W%:DM476:U]JT?:2L&*N8=>>K)BK'1]< MG)BSO23.492=5VRGSBJM:>+@VC:@J+M:NM@&%#># M=JO7M37@+U);6-2>D?!I8M';4;O5OME5]=92J!4^9V&1-B6<;1M0V,#+V0>D M7V0HMUO]0?\\XS"75Z!]Y'1M_PDKWLXSKOP2\3;HM-S^KCZ4#>:,RQ-O;OO M_74:9XU7VW^",.&',&]ZVQU4L=)CK$N%H9D?>K'@B9BP\8I=#?M.E\%T@1^% M+1;%K--WW.];; H?TYF _\5"L'E$]=5$7E^-==LMAN636LR+Y@L>P_=I1&\D M?"[8 A8836 N? @>7<0^+ 9VQ2:P!/7DI\__8-S[/?-EI47VYNJFX]SHU;QE M/)P8J^5>ZM\#(-G23V>,LP0HU9\"U88IRRBI9L6\+ '"%3%._ %H&781^MQA M7VM)U>F2"'SL@@R,1_.!HY MNMUNL9C=]*CQG)1)K\6^B@<@"GP5Y_@29? ?GJ1[TV00P4]'H$=6(>(;07]F MK&-O<6>("*36&Z==HE6W YKWI30H,2W7F+!I',U9E,4L$'?< XJ ]SG29=+: M2B>$9B1.S"D$M!8H?X2VVX:H=5@)&DBPN%Y,<>5W @>)%;<6^X<54R,_6'X, MNO\%VH+Z9&G*W0]&63CE]U%,_9N6@L.+,0P93FA7DLT>HW F'G!X$7I"SP#K M,1@E2>,(]@$/ 34 ?7F"QBLFU*@! 1 9!,&@ 2(_2:\--';R!E<;Z)2QFJF MI-_*:4_)\34S94TIN%VDO#WXC.1L/ACS$X.F>)K&_CB3W<#4$,]A(1B]7]8. M,S#,@?(TLSR7A_>5 "]D5PQ[F-SZ'%5*/L4.7CT"JSXF]78P*#P!:#N1K;69 M#GY4GCS PF1A<:->NA<('J.[.'LW\9,%X.Z6N$E-KJ]I=&Z<;A^7!%^ILNW= MMM/!K\I%U8VA2^-=>R"C=QZ65%N6_=%K'IU>X6DK;[O;VRR]CO_^\0^ERO(; MKK>ZL&* 4(&F0P[UG;B6A>OY%.:_Y<$2&$/'F%SCBM1M?NFEBXL:.3WW>U9\ M1*!LX V;&!IP*_4QE&^5.QFJ[YZHGJ^0GD:+VX[K#-80/MC =M5T3DCI&J$O MSL >F?[ENS]]C;QM//#2*0T&"M%4"$H7/=17!@TA7&$]7TE(@73^$%'_R"3G M+5Y>G*:0_J#KN48(:S].7$?N-JQ=FC!\8J7^X\O\[J\?0Q'?K?[\BPC%$C%H MW-SQC[C&FAIWVHU'?7ZWS=#;!%\BP;?F=.$ NRT2>H2,#?*6P>R91@'83,GM MQ6/!=L&U+6)L%]P+181MK%<31-@NN#5!A&VL5Q-$V,9Z-4&$Y8B:(,(JZYH@ MPG;!K0DBK&BJ"2*LLJX)(FP7W&H1L?\=\<160J%TIQGJ)AM?"P';"M9UP;2?\4U][ MK /&;;,LVQ&R]CU?;.-;*^8:5F[)BKG:\<'%B3G;^/8<1=EYA7*L2K.6>Z-4 M6@,HH_:*SK:YM0+1VOA6(%J!:)O:VAB^]0]L4UO;G=)VI[1-;6LF-FQ3V[.F M$2LVSL[6O)"B_\_O8;NC(L:CC&%;!]C:VHUO'5 O<)Q:@=J>C34"QV43PZ7+ M1=O+UK*"E8MU="G.*SYM>]G672U=;"_;;K??:KOM\SGK/(_#S%JVD[P(U#96 M^#2P@5;G9MCJ8R5H2Z%6^)RW1=J4L+;M96L#+VYO&:/ M(V=D>]E:\7:><>67B#=WV'+;N\( #>:,RQ-O ]O*UK:RK6)=MMN%+05INUV< M 2)L >V:(,)VNZ@)(FP![9H@PA;0K@DB+$?4!!%66=<$$;;;14T0845331!A ME75-$&&[752+B/IGD=K6%J_8LFUM\=U?O_@/E]G88@,6YY5>7KO[V?62%*^% M@>UT83M=V$X7NXGC/#M=6+UQ9GJC5K6P3YTE50>,VP*ZMB9\[2M#VM875LPU M[':6%7.UXX.+$W.V]<4YBK+SBNW46:4U39Q;6_[\PUUGJOIL,PPK(JT?8$6D M%9%'$I$VSG\&.[<^A&V/8>OVIZ_?8?ADUTJBV+GR-P''9Q'#I MPF!+/YW!B@/_]\R?^O!%R-,L!NJ]@YV\06KHM-_]\U]_IT_NN[=L$0#IF[2- M:PBC&/[#DU2OX'@4O958GA(C95+I=@J^)U*Y&3CN]W6A%/(V35)YCHQ$4VX' MH6PN?\KOHY@$I!=P?Y[ FJB.,4FX<%W"K=,"+L!AG^$Y,.CHG25(V@><5(0> M+*DD?S;MR2G]'V"U1*YZL1MD&S*@S";:7N1S/_.[W" MYU(H[_8WJW'COW_\0ZG8^ ;7J#L,!@@5:#KD6]V):UG+G$]A_EL>+/DJT=$& MU[@U MBEB@<3.-@B!:)K>G1L4SZN,WM<%G%Y2B;7]11ONI.O/8/B1U0(3K=$<6$35 MQ,BYL4W#ZH ($$U#BX@:(&+@6(:H QXL0]0$$597UP41;:?O6DS4 !-6-M4$ M$599UP,/[A,9WQ81AVKP^1A&G@PZU;H#YF'".[7><@5-/[N.VVUT+:VO%,T^ M6MO/.A7V/.2E^'J)@@V\7Z!L>"T,7M_)L=/X,J[5MOG<:<]?('$TNU9GI5T^ MK9IH(A?45$W4JLW74Z&]2\#X4R=@%]OFXK :L59\\$08Z>3J[ !-/2\(NU;* M[7%V8,7<^3/"I8DY:[I?DH@[KPB/5776H&^4IFL 9=1=_U7>V?/B,6[EH37] M+7M8@6C=@8NC[?-R!RIHP.AZ-QX[M>(\[>X/'6RQM- <6KALL7C\B+3EA?KNWLK%.KD29Q:6KK0[9P/M M^/KKI2H:Y)WQ9%E+?OC701F&RI[3F_,OD3X=(:C M5K]OA8\5/N=ND38FG'W$[IP--&1MY.4L M(OT57==FO4ZY]-'*8QH8A3:[LU M6NGTG?ZAVWHVT(2Q@O$\0M(OLN)O6NUN^VPD8XDX#M_7LV;R;>1T#]S6LV%V M_,G:>KXHG:89J[0M-&R!2=M"XQP08NEZAX+0QL^PS;/L.VS]A)&^?9/L/JC7/3&[4JL'WJ M'*HZ8-R6W[6%YNM>5]+VT[!2KFFWOJR8JQTC7)J8.[@M_Q+LEO=F;?0:VN@- M@,%Q=%K3Q+FUY<\_W'6>JL^VTK 2TOH!5D1:$7DD$6GC_.>P=>M#V&X;MFZ^ MK9O_*%78;ANVVX:5&E9JV&X;AS(U&U.OS+;?:$!9FXLNZG/R:F?U L>I->EE M5S.K%S0NFQ8N6RR>OM99O>!QV;Q@Y6*=?(LSBU/;]AMUUTL7VWZCTW=;@V[G M?,X\S^)0LY85\"\"LPV5/:6N%CA<^Y6Z2-"6?;]ALV\G+V M >D7Z:I!ZZ8[/)LX3&-"$:?6=FNTX@YA/>P"HX/"_N )_P':U)>%$X83,>3'$AGZ;92>V+J=$9KQ-2[<6X,8DK\ MAUJ34A>,@,XS2&ESK$<)B,/_TID?3]CO&8PJXB0GIPJQU@CB,<,<>\L9 *=) M:EUG5"(TM^?TO]^+@%J;!#,#Y2IB)A>9;$=[$"WAD5C2O<-*>P#!P7$63$KE M=P(1JQXT5@WS4/M F#0&S?D"X8K=N7*JVFMC^.24WT)HEYZ.9$GH@AJ(TVP!RTK21X2V5BU&%6>C++47"!ZCA3Q[-_&31/9M-W>H5O MH?R+[F"SPC7^^\<_E IX;W@;ZEZ 4(%F@[Y$'?B6M8'YU.8_Y8'2[Y*U&:' MKN/F)2QO\[L%75P4F!GN]ZSXB$#9P!OVBC/@5FH7)]\J-XQ3WSU1I%PA/8T6 MMR 3!VL('VQ@NVJ]3DCI&E$"SD")3/_RW9^^1MXV7^2E4QKI]&$4SWE02J=7 M7QDTA'"%]7PEO@7V_!!1F[XDE]*\O#A-(?U!UW/?%:5T#&]N!R>N(W<;U@YA M4NVZ8O)W 98A7\Q\CX'\XVSJASSTT +UPRG""U>87T"I9G4HR#3U-<<"1!-^ MSG^+8E@,TDJ4Q87R2<"ZCP&%$RGVO2P!"8CVLM(C_P[]%'[\DO(4EK3TTQGC M"Y#E#Z!)4@&:I(=*YTZ$(N:I'B6!*3QX''1'XD^(0#?'>H:2 [T%J%V0OH5U M?> AG_ J3:2Z(G9_=O@;:(,@NK,$OV MF"%>M=A8PI9Y,.I8,/(V)V VI# &D/8T2[-8Y"P%[P@^3QS&?O"G4Q'CO:=B MIHF8HC6$MA+8'5X& E3D$\ R)OD[ =@*ASG5Z%?TP^2.0F#CD'H*5?[EKUQ MWS)TPI%3D,_T@G)[+@N58XY&VA*L7=B*%RU( M1O") $>:^%VN9-)2/C8\!M)6L*4@\* E&X6@E59,P)@H(\#.3"DN(,=F]SR M1;U!VNBTWWWR'V UBGKI._?=6SGXF\Y;6K8>J-@1;/C'+^_9,HJ_Y:Y!""0! M?X!LRUU^/0<^NS:#@FK$P@@#4EZ0@9CRP!KD@(,"#)HN%*944$-CP0#2.CC* MNVTA#'&F33C"0H[-'JRN?(N**EU&Q"U1B.:, >T6*Y$*P=M ; NM J(#! M_T^ -W8)&N+9P7*R,1^_LED"&(^ M%C'KNBT9YT0Z+4=/<(N)YB'AF&<8GLP8:5+[^8-&=NO8)KJ3%QQ&:Z+ZF6[3[/%BRC- D1GB]'3!RNH?? M^6O,@(_AY% V0"]O9A4K_^+(O:QJ)!H-8%#:\E%A\83@5+=$I_1_[ZJ5%]4T MRSML5:RZM3VSC&,9IPK&:3\1$STYXWS%*X*27K;RD VYU-#4:EZOU;H'8O0= M5>0#7EVC=DL'94.\WD;$OT1*Y3SP^K E@4.)@L%AHU2ULR0M_IODB^>7W"N4 M "?U)9IA+]78PZ@;"S7!&?>BNQ!&FDB#"LN@6&ZRW%1+;JJ]AXXU*;[X#^S' M".M16._U, M2PQ-\MNQ0)?2#^W*]8-U.:S+<4D._+^B\/J<$E$L"]4*0I?@M1=E(W=JI9F_))7ZY2;_R)+=EHC[9">_(FIXS5<@W5;+7$*)H4ODL,V M7C^M9?6R&%]UN]]=R_\ N[\ZZ'Z>*HE?^15<4A[&A*Q;ZNNY3U\RUATXPZ,@ M^[))_>B5&@Y*ZD>ONE %I;O]CG-C2?W@NS]Z,89#2_4C%U:HA-8[0\>UM'YX ML7Y6M/Y$!>A:4OK =7K'(?0Z'^:?F@_J?(Q_:MCLKEW<-!GQ9 G@>DJ);L?I M6C%Q:E:HF9A@^'^U M Q @C'DQ5/58*MI:BX&;2W6!0-N'/T,13QW>K/OXA0 M+#'Y:&OH\B+L^_H'(D^PR49&)]U6IS]P^N=S#^Y(!'W:PK#G6?FU"GKN=8:6 MFNL?43R)>&Y@F+$_&NP,,UIRKD70\!3"N7F11+?5'@Z=T8%NMYQ+,*#I/O]) M]->QO?J3Z*\&A@5'[L[D!\OOEM]?I.#/G]\;&=H;#&^VZ/" MV4/^PZ8IGC QM][0D6'%4X.GZJ3(WN!8QX47S5D8ICPUZ=05.C*^>6KH5&UP M]RU?'2D%\]244UOHR$CKJ<%3,6-UW+Y-;CY2PN>I2:>NT*&@[ZF!4S5?=?H[ M0\(V<>P2$\=J!9M.#;19;:$CP]*G!D_5[JF52:>G+"N3GHB GYKIZ@H=&3H_ M-72JMI/ZP!"-RYK5NV0#&I_: MH\EI?'Q;M QI,H&P?B-%R^-9N]BHCV"396 M>7;+H#O:PJ*6R)\;HCX'(M\67&X^C0]N;*[XR[)K3TX)AQ#CFV'>YI/X"(1X MM2F*ET#BFU'; +-R3<\LA]-QFA+/Y8@!O MX;:M$+!"X "IN2?GE\%X+-B="$7,4WAT MO&(_?GE?/,G#2?&'%\T7@<#',EA,S%)8-3TQAW=CGP?TAQB:KY#:'S-ZGU,&'==LM MAD5] ?H9D #&QEF9S)8 URO7Z0X9+#U P,<"&#B!<4&V, [X\V+!$T+056?0 M=7IL+I\DE+H#Q_V>B V0.T&47*&2RD?C*=-=4%G7I=6TJ\3/;CC4%3];FB/@ MYUL?$.1[VRI6(Z/G/2&J7FPSB?PKB(YI% 31$BF5= G* ]Q,PF9^DD8QZE^2 MD;&2N]B3&D7.@H/<2_P'!F(J!D&3L#=^J D[>7M;:PJ56]5'FM)B\ 0?)&( M6_W!7 ;.JM [YP_7*+1A-6HATH[D61KI+Z1Q3=\H&T,^8Q@=ZAG\1@4RVM_C M;M)8KTN3D]SE?H>'_:'C[CP\G/CW6\8'S1A/@0PTT/3?9(7 IC> M+:*$.O#>QB+@J7\OUL949A=-K!_E8S"OLU3DOIK* ]=9\H*V"A?B3J=_O.<.=-:(L)*X?.$@]6#M6)^E$.6414 MAXAGYK(]:8X>MVW>4<*K3PC<6N\X;^'4?VD+I^[(N1DTNH73_TA_-EC)_F?@ M^\H/*O#XJB;.->.'C=V?!8-LM#63^-O\M^KN94-GV/CN956UMCLZDO=H9;B- M L:/",!74<&Y=4:MJCC,*<3?)S].4J:$^B%O-)Q8[Q_G.L=>WDW3*K0_&:RH MY<%PYV9;B79+UY:N]W5^:TG6W>YP2W64!MC97X07A9-=FN82&*]F_'6"[*I& M*I-N=W=-HMJ3[A:/SE)D@]5 S^UNR7]OLB/RE1*LK"/2;(.M1E?H&ZIIAKVC M]-JNDPJJ:D^6WD]*[J\!1P,\6EFMK^1N\_\T NRB<#+.D (_H)NPFS+4 ]A2)8N17 OV!QFFR6.--%^ M%4PDJ8_W8THOCGD"0T6AF?J>QB*<)*W29(G@213"C_Y\P?6U(3UB0O=P,AA@ M+F(V$7/\,1_9#V%U\!A>[*#;.WBK1#]=\VLW,@W(R&[R L%CY,#9NXF?+ *^ MNB5:U5GPZO"S<^-T^[@ ^$HMJ-MV.OA5.07*&+HTWK4G@F"G(UAM$M6CAZ>= MGE$M2P*R>[.9*(7__O$/I3RP#1-8'0,;(%2@Z9",NA/7,LV,3V'^6QXL^2K1 M%P5U9\1*!LX UO,!AP*]U0D&^5[RBH[Y[(=5-( M3Z/%;<=U!FL('VQ@^R!ES+J&V<#9+!;3OWSWIZ^1MRT-YJ53&K>-0F3FH)1' MH[XR: CABO$?>;UFRC[(RR-)SEN\O#A-(?U!UW,-OW(_3EQ'[C:LG>IN$5[$ M3$CD:6DI);<6[7SMTAW>SXS%(HK5Z^)N#I,=[J)1]3+S;"\:W?2?:/!D,VL/ MD5C>V]U2T@+]:+&[W?\Z?WQ^+CRK62G #^U;;\]Y?QPHDSW?<7 M!+_DGJ3<_!?I3MY6=./AT(Q2VQL/BB7LC8>:Z(M_IR@0?1C@C?NVLER;$^N! MTZ8>/.'N-2XQ_"FOJ99'O&ZKV^OLEQ18-Y;\&(KX;O7G7T0HEJB DH9984>Z M%WIL)CO!<70S.<_=5HRZR3JRTI;QS>702O7CJ9LY'3D94['RJ7==?5>]S4N% M==>P^9F\VY%GC\]L874*!EY?CU1:Z1#*$"UK>KBL,&&9 S75[#&IV<.L/DJ!"-?I[4S>M9BPLNG2$&%E4ST0T;9HJ $:VD[;\D.%B'AF MZM"3QS_-NF]4P*G!=/([-,=LL=(_BI"P M)-)H$ND,+(E8$MFI: Y\D]>22--)Q'6.6PFU$13RE(O4:*A8?\7Z*]9?:8 : M.3%4K!=C">=TA&-]&TLXUN.QA',LPK%^D/6#]O&#;"VP(P91ZADRD>Y0@XN! MF17(VY8>JO%R&DP/7\0B%?.QB-=J)UKRJ,Z7:3!Y_" \H@[6=:W(J-)-:3!- M_,AC;Z8)PK4$48G[T6!ZV%)YMT+"N#0_Y$7EV4YQ4),78JVLR-RI#U].W #V MB5SEQI5A?>J*>4T+3[DNB)RCX/NRJ7WW;>O&4?M3EY9K2^W@PEIJ/SRU'R'$ M?$1J?^H:;$VIO=WK;RGU:ZG=6C*ONEA94VKO#H=.UU*[I?8*K^K5E-1[[:XS M. *RCQ.-J(;4&Y#L^>K.$J/ASK# 1>C,6CKY MQR+&IBSAGK^IT%"_>["ES8PEW,LA MW":ZT)UVWW&;EC]\,$^Y,W=%^C4GG.!PDPP4U!L.+&B@.!ENZLED..D2Z0(U)YS@<).,6-0;# MBSCHYL8FW%@K[EA67.^T=PT.PD'N[KB@Y2#+054F0]08!B]AG\[ /4I6T-$O M;FPAD+/-G:BD)_BQ!5S]FH)O$W)GT15\6_BF^5W!NZU^9U!ED+J9*KZ">,Q9 M$/FV"$OSB;S3&MWT+)%7$#(Y"R+?%@0Y!R*_N1G8M"1KKCP>IV@^D7=;[>'0 M9H)8(G\DE-!\"N^TAC>[;TN_*&AP,HF60P8@\^"A? >FT99S'[/>)R*.&FQI6!+ M/PA8++SH+H0I&$_@CWL19O!QL8BC!W_.4Q&LV'#P/8NF-%**$1"&P:L@NF,P MBUGIS&TQ+YHO8C\1$WQ!/P8?2P/>,NP_I8?,*URP1!;0>\=NNOFO&W=7BJ=X M.#&?S%-TU /.T0!?5X+81[C\3>$HF459,&%AE+*Q #2&B0_" ?#()4[%3,!7 M]X+!;"!ITBA&N$^S-(N%)IL6DA!G"Q%C=1=^)_ 1I#I-5G["8% 89<*F<31G M0!._ ;TFDF YC(3S+X!$B69R @+)YF78ZRP*'<:^ K+U+R))B:@26)<79!,@ MW7F4A3 D3:!_GK ?O[S'7:4QA_E:;)REM#(O2T#X 4/DL^N',AX Z4=C$*@T M0!JQ119[,Y[ '*&:!I<)F+GW/:%FS!*6 3YB(DF8-''8^W"E 9&O@,WY"@$- MO#CW0YI@O%I;410RW>$-5@(( K# "F$NAWT.:0*$JX*5@B7 *O1$((%%7*YF MBH4_'V!QN!^""M*-#S2U0)U",P%;\WX/<+#! ^!X279 )0P3Z5"%:B M3(,BIT8D^$#@9A0J:3D@;9"48A^VC7\@Y'*HHFABBP"P/Q5B#*%Q? GP MVBWN"QC% @1V(KD!*(W+!9((XU+*!+[\$M7N$D0[LC2*"2!] 98#B/(IT#Z( MA01 D< PP)TD4H#QB!.$2$L2#>6#$I;X%#TD'H27I8*>RT=:!!R$^$\95"@.9;O>3R9 8,$*-42-#A0]HP%[#I$ZP;>$=R;*>%!L^9O8?-, M)975\N$%6*I_3_L&(3H%RT@ 2[9RB$GNE^ *Y0(]4(D^R4">D95A M+!G'0G&_813!DF$W2T$:!L9+DQ06BJL!$SR.EO#)U!J_B/LHN,>?/\C9/G&/ M%D3F%8A #T40"*B4M$2^*'-@FNRJ-W1&#$@M(%V P%'[ V&53PW J, -[ $ MD7OE]L$UU"]9&^JGD/T?'F9(IVY?(Q2HAU_!9F#_C !< M8#)<]=K@S6E\$6&"<7('@Z#9@CP6>OX"559NL%SU1QVGG[]BK@6AE@^O%^"0 MQ07:T4,"EPR%[Y0>EA27)=)2FH)- PQ+CW$/&$2VH<79/WW^A\,NGJS ?ON1 M"GQN)RA8,\F#9>Q+J953SM)/9^SOH!1A#>P+B+Z$_1>?+]ZQ#Y'#_OG/#RWV M8Q3?X6\@"@*0Z:5?B2S__;(UF,80AF M$J*3%@.F9P:"WX,7I@)=SA8:RDG&0Y*3X'? -F&#M >B#K+&:"D)6*JLU^JW MVZUVNPTV+HA]*=) T$6(N,C[UD*/@-WS %ZZA+U\9T*D)R1M#C %N&)SXH^E^E;R4""KD TKF/ MON%D0BB!$?1((*:1Y&GP$ET#5BERA_H8O 0!#(8.(;@XXQ3]&"7VR=!!JT82 MQE29 \BT0!1@5*%V0JF;*?.GL-9P%/W+%IH) >S:,@.+R&B_;?03]P+!8XPI MSMY-_ 3LM]4M1=L4Y'4 L7/C=/N(#_A*V<[=MM/!K\I-QXVA2^-=H]^Z^\Y4 MI6W+'ZU&V^D96322KKK#S=;D^.\?_U#JO+Z1U*4BJ08(%6@Z%%2]$]>RL3N? MPORW/%B":ZLV.P0[+,\HN,VCL5UPAO#!!K8/DM[4-2+HG,UB,?W+=W_Z&GEK@NE5 M4\H_<:#;,(KG/"@5(59?&32$<,4<,;*N@;<^P-,H.W(1R,N+TQ32'W0]UTBS M-,+;.SAQ';G;L';)SO!/V@ND4 U^0'$.\I[$.06O0-5>N3=#PWK>'L_FL53J M5]W.P+DQ']ZHVT]* 0P?'VWN5,BX9F0NQ0>)GZ2Y4IG!=RUPE/TD+?F#A5-6 MV =E\8^FFW9W51CV$:\7U0"%^L&"N?(+N&@9BL8M M&,L'F8U+IM"3!)[D>W7F)8 L1W MM8Z-D_&?F] R*0&,HX O$G&K/YC+0"BJ%: 9Y$E#2[LC9-_R+(WT%]*ZI6]* M-K"1UZ">:>?6ZU :KVFLUZ5W+'>Y7^;_ ,R%_JY,(L.T,\:/8$PD"0TT_3<= MV=Y*?P&+ 5OHZ*1@/+O:_=6!Z6Z]*>.DX.^^- M6#P<"0^N<[.SZ[!%Q+$0T79ZEB7J@ DKFNJ"AX[5U75 A.LZW9WU""TFCJ:M M=]>0MHAX'B*>>=WY2??A>+L>/F/7A]2&M=YQWJ2R_](FE9WAH3'^ZD;&ZY&) MRAJ3'J-<_;Z(W]CX 8L:6"YOUHXKX_+SZD5KYX3B9B>V$T]=&G#W6*F^B;[DPV0#+OAZ5=8ZNMZLIG'-JA?N2TCC] M5G^TJ\RNI<\Z*-.*JI>=6 N^A#X'[=:@7VF5R4;KOL9XQ[E2I!N=5+4$[VT\ MK1"MO=\8U_?T5>]/K7'WE6)O!OU1RQWUWUI']QPWW6MU^AWK]IZ/:CU? M#>KV6YW!8)<*O2Q-V1@7^.-TBO?'L<+>@R>/?F.L:2 _6^?WL,YOC=NAU0Q< M4H77&%XO4O'#OO6UC^%KUYANZ@4N97(T"%Z/FB3=8<^Z],UTZ4LI:%MK.UEW MZ,56QJE;@%1XC'WRC57B.O6&K9O!SJB[I>R]]/I94/8V!5PORGY1^ZY^"_3Q M!8<'JFU=](PR6'LD?=>H4M;S\]5_RG/8WAM!_JI7W-@YU9Y NO'/NA%\T%:T+8J@ZW+T]@HE9QN?+D^L-'',XH^'KX6=2,%5]]MW;1WU7^UD95F1E8LO6]W=-S6<&>; M'TOOEM[/B-Y'K6%[9,.%30L7RHR&!,L3\B01:4+&:>!SVF-5+0:::((VV=)L MFL#95\B\&0Y:H^ZPTNJ"#=2>35:29TN:HU:O;2G34F;]*//FIM7OMBMM9]%H M&ZPQ0<.?TIF(;7#PL,'!4U>'/XES>>I-5U)JNM5UCU(4OY&:N-H(RZGIQ3+) MBYFD/>A8)K%,8IGD<2;I](_"(@TWF^MF'6_ME[JM!+@-8;[<'CZ'+A3;!%7S MFU#T6_V=YXN7H+\K4-.6P.M*X(-V:]!W+85;"F\"A>]M;/;[K7:_RH."QIF5 MU78/:F8SF[V-UWW[URQYPJ[ZSH#!:@-,,O6B^8+'\%P:L:M!V[G)?]EKQ+;# ML.&.ZEZX$CR^QNJSU_B))EO$/NP(0,,FFTPDO0JN\D\<"%86SWE0 MJO"AOC+4,[;+PO0F>"A&*612^41(<4(R]ZH_*$1C:U.J 5F+&%Z9BAB%:2SN M19B)@JP.I-4LK5M:?R:MTVDQ\S*@4] %2L)KU2EI';1Z>P>MKZE:,%L7W)_ MQR2+>>B)0IS>7)$#M&.)2,ML88)19)Y M^SS+/I9]=JN*[9QS8QC06TW?U)^CY0X<,<;'\".VJ,P2P*Z(DW=H;)V )VXZ MEB2Z3F^'1BDS!M*(\,C!E?U:309QFJTP M9&\2H^6*%X"GC,&;V;N)GRR 9&]I.VLT#H*EV\?5P5GKY%7 TGS ME60+R A4PQC!R'F+EQ>G*:0_Z'JND>>P'R>N(W<;UFH2N1D5@K6BP$W;!FZL MY=%@RP.)WMMII8^&9I@;38P?X/7Y&/SBKHL\X(ZV&"G%&#:Z8QFB[@RQX*N< M&[CGQ9DHJX(R1_1Z1<3G48[8:JRK$$^"OZ"A#IPQB6*I>I)LL0A\]&JM1VO9 MJ$ELM/5 H,PRX'X-GZ]$9C#OMH."$X5];"C4,LDK3Q*""'Q<\*_G.WC%'3ZI M7K8'A22?\ US:?/']ZSE#\4*B<#YT$Z-!_>__+Q"Q;L/V)XJ,8G_L_O>O Y MO!?)1D)TU:MN9A+.I[W2'5IL*5B&%'\UZ(^<3D[OX(Y3"@\ZW_X6,)=3<$9& M;LZ^&3BU=LJ/L:X?LAAA^CPDM6],H02@YM[OF2\C/8FINC4:C-^E//I'I: _ M0T@OLMB;D198Q)BUEJ[(+Q QP4=#"-HKP8=PY(J,4/'-1SUB3$UG\/@L/P( MCYWE43/\$5,"FL-^%6PLP/&X%_13M S!!YGY"Q:5U!7H)^7$% OR$W8GX''* M+EO$J'[(KH'5X'DY/E\\C#4:<6>_"2^]'J^NU4TU1*?);Z< M8BC59@X2%]87>=^D*7)CG(U90K*$M"=4S)G; M8LH] N[X@LPQ+Z[D^ G[(KP(F.=_,AZ#D2AKH8 9$,5IO8];[=W$+7<3>VU[ M-[$D9>W=Q$NYFU@6*./2F&LZRW!K_OO/8ZNKE*[R$R]+$J6JP+B<)XQ/I^IN M.ZDN W MM@BHIDJNO-SN\[37%\,WH!=OWK&/8-"EJ_JJL2>L)9/.CHK?_8G_ MI^GT>LP#LJJ3F1 I2V,>)A@WC<+D0MBAM"[W2?[XE7(@1"QS(#S0_-Q')EF' M)(]CO-(L"5-EKX%:!+*-5\ \62S#*N,L@?D3S+?DJ) K@05+$U(2WXS?"WAIRW*F152\6!A;^NF,_=_/'Q-9"S&/ M8<-<"UB+]-X-DFBQ: R*@WIZ)YB3*D4W_#'S%VH/L+< G#),ZP@3'Q@:%CP' M%HU]N@RQ"TY5'Z,E*XDB9CR8@A.:>3-, A^+4$Q]4+,Q':+1-BB4)X+I M]32C8[)B*8LXNHOY?"W)6P9P #UT4@;_;>52,R^- TL&94][Q*? ,H0M*S 8 M4"BVN!%;S,;ZXCQ>X84MWX'RYR"H*8-XBAC&)19;T(\#T/^Y 6[X-_-DAC3P M5"QEHDIQ)T%A#+3N>%/XZ0,/^<0'ZE6_?N(>O0>PH>H76Y&\%(B4F"]#Q =@ M&BFF0,&*R&^IQ:L"V40F^"N,YY$R"3?\:QV*+5H@C#3GJ\UQ/! A 'IO!G*' M, ;6>PB[+RIPE*C+8>_S@AX3%6M[P@2C74PBTFW%70>@2Y\N$@3^-X%IZO@- M#U>%ZO "[@/O+(&G<-ES/M'HW*24@]_:WM N)4]5AQ5,2^(ZCS78NZQ6256H MI#X_:EN2^%+V96L;QRME4HAA+7M1QH*0&_L3%*5X60,X##79&)B:S%G@[E"0 M42B-2-C2O>\)I6*60J?.@X!(UPMY2QV*@\N")^NCH_B2OYE:-8W0640YC!>& M'GP4# $6+G0&LB AIL=\)0$U!^6"3YJ2OS!<4;BFLPA@A//)&R_RIA)-@5.7 M9^@/!L8U+[ZV'T<&05XE!T%1@8A?X(L:?E+.DT$/6$%=NR$*#7TL\67:TN\. MGBJTX3CM?^QAC%2\:&6=E74[9=TC'2<^Y#ZX-@7![50F*R=;,:8<,'3757U& M8*HQX%&)B<( E[(L"]&C)3-VCM(0+-P494C24J:;\8(V7#7;DEGIC[.4V'8. MWKQ_+4# 12M@U058KR1"@)EG@@1%$99G2Y3YY\*ND^S5(TEO L&5[F^Z BO/*##.]]8B'Q M!9[D1U+%D'AD84;5#_ ^(,*)J=V)1!7L24'4D9#B@9>IZ #>*Q7Y.!,Q1T=A M,?,]$IIXHY.0A")0NT'LHQH7Q&4*^R'3^C/U14"AFL5HA;_W*(?)'=WTV)N/ MOWS^\OXM75[5]U*4#?TCH>&C1L//"@WO\2F)QGR@81N]G['4!QIQ2C%B:!QW M5JX6(:_%W*L$*YX#)%9QS$1K.-31N@$$$1J:^K) !%<^HG*I'B$;) <)&[V# MGV-8E-3":@>==GN SA>,$@(WXH 4S\D"541O?6PD,65M([$$/$G\J2]KYZG0 M+4 )U0K0E K$MO0OR-Q1E@#E;7D&)E./>8 L%%#J)R#Q7W/5I\IY$_'F2M" M#KF/Y @\#A2@F%^+-TST4(B*^$'B658RT 4^MG,(*=Y0W-&9!*Q+M?E V2+C M<]*!EZU,B!NI5B', I['RA:,LCJU03IU/: M^4O&,=;4HH[:% )?ID0K2Y]X M"T4=,*:TLY$O9/@BKWB31W[\V,OF2JU*)4ACH8>"[(C/<%T5E+(/@44CLGRS M1%"L6SDSRJZ7\8LY_R:V%=G)PV[K^ML6+;<>PS M*4*Y^7>ZND+I)&?3=#YXDEQM0VC'/H7]2.?JA(3/X30H9.<'%'^(KI]C#*U< MR'GL[N/7GX!,3=,+S#>9ER"M?6W;);*]BT].VW(F9.<8KH]0_!S.6*R&?L0X M333W/3:59PBD8WB:@K9+=6C\'H/-N94Z*<\FO;1$7K/@(/-:9@&6:28"0JH. MXJ#1'4?9W4PNDXD$9)=<$RG4A/:'JE*IS#G_+3*.+7#EXU5^R*JY&FMTS6EQ M@L""JR$14*R5ZO&,_8D\JXII?OR(_L(RBK^ID+I:K2J>91#/@K$47$6B1A#-2ILVKT1468@R6WMPOO313\L06]!STSKHM( MLOF-V_(;79O?:/,;&Y;?R)D_^@_OK!3[P@2K)8O71<&^:1 MP"SEZG4=QLQUDXXP5L[RI@4W7Z3SEG1*W:G29$X F6K"VI$U3DD\4]:-#+088A@"##^&^J M;9=I%,.:0Q7D\\"H>% ^/<676VA;"$!\JN+-ZCQP'F$D32MX[>PG0GR3JPKY MG5"NO%R)-J6H0Z_AI7Q)$G=BVVC(H'RQLO[D?>UC?-PK$2@G1:RFVDE$X?]39^U[#$( MW[8OH]7X[M% MI\HR5NUZ[J31/*BO.F?#ST/.\_0KC>?WI#P?\S'+4G_^E,;L9#^F? -ZRXW@<9 MRTZ !>F6ZP1-G_^X[:Y[XU9JOCVA.UYFS_7 GM,[()F<[^%)8^U2(EC/6->F M>MP"M\)"?@3R]J*M6M=6[;K42=*43T8G]/<\D%9JRS@D2K(%)K'E&1HDE&0O M:)6;8%[=E5:H#.Y)FU'?C/HP\\64?22YC9+VIRF(.YCCC3H-__#Q)W40_E:% M>?'YXD+3QO.?\N=;.L=,QL1@=+H[HA//! I7F3BGXVQZN6JL24%*GDE*BYR4 M\N-[$-X4."2;R\=3,\.7CAY9N(9;-,^G3:O\R"\$ 44[N$\Q M'"],T0*Q&ABL3(;M8W''8YEXHZ%98/'B&**TKL=LBU")+_)*L-."XAMUKO$T M$[36,$GD!N/]KV(OLB\??3?$N )=(I@!0I=8/E^N1V%S3"IRP/!?I]O $9#.M"9#!'EF &WRD1#& 0>Q[V;XTEFQ;'TP!N[# 5R MD@S#H$MHLB\0*P9G@$U_RR9WLE5#N Y9/+.Z5FD:I?M\U",O2H",@D>!#L8@ M>NU[B"B9LJ@@BNET"H1[0<_'ZD'$L ;8#GUF>S)N6@NL#XJX^O-+LI )JE- M49<0[ ME0[*?\#BS,#MD5CH _-CBX>L,M1>I,.!"3ZU8269?KSKG&UQUX6_& M>M5 4.BK>C+I3RL8Y:-&'H7Q)F9WB?^_O2M;3AN)HK_2Y2<[90NU-J1DRE4. MX(DJQ&; DYHWE9":I0*21X@$_WUZT8H 8PRX3?K%"T)2+[?/7;KON?\G1_)7 M$/:SFPI;DND6,SW4Z$8%J7W*$I;"Z@V7+^L"WS[O_OT*?0O7B-RH;[]1FCKF MBJII=5-S?,_K.YKF>HXUL&1'U3P?JGU+<66KY)AWL"S8-BT+9^>VD&,9IF:9 M?#CE9]>DD<"V)<#*U^4-?=;S#KCWO//X"&QCXVF2\'^1S$,'UG6C?K196,;< MW<(D$&M&VA&0]^3H 9+G2[2O-/Q9IB@_]A>14V.8> MQRPF2:WID!:D0A@ 49&H*K6^<^M^'KC8&">:/PCC7"V0+2D26*;VU"R2@.LM90;)',L^$K:(L0>L6]Q] ^>J?E.%W3.\((PS*])E$.XUI.BZMJ87; MO%<+_L4D;.1.[=BGV=Y'*[ELU/L8ND.W4IQ@6G6"21$GF,0)IO=T@JDP*Q!* M>CI6U.@V9S;/.'')GK<22P4FDGZP4CZW%4OJZ.X_#] ,&@/23$DP63Q:S[\@5 M@"MGR6Q27Y:DIWB>*DWXN #4* :IJBB,U5(RRZOGPGR1#YLLI;_Z$:A=W]%4 MXFQ5+67=;-39DJ&M[S4]N4#JBP;QH7N^5MUO,18,FZL_=QD0TY3,MY>#UXQ& M,Z='+@\ S3W:N!YHFE>^& [8R6I60%U25G:\E"7 OE0:"T6"NPG]H7OW>C+F MC3W*YRH1V>/VQTV?>35#WA6>(Q(U_IBHM4]GB=4WBN/'V<=:[=>O7Q+^GC0, M?]9N(F]$]AUJR!^Z4"7KS/KU" MV_- RWR3H08-]Y'$C_ UJ2.!\U),IAB,(2&A1*L 4D@:_YN^(F62;3".@66# MQ+SZFM@P^).\SSKK\T71Q.;(:CEI3%0$)IX@)F*C5M-,BHE05;";J%!(5'B! MQ)0'!MR%#$"V D,'BQ M6?>D,%9D'0B%(10&3TM5N![;:1(14'Y/FD3AQO7H)02R4-7E/;@;0GT(]<'3 M^A3J8UOU(1R1]Z0^>'%$7J$^5CD?0GT(]<'3^A3J8RM)AC($]EU/2.C1)=0. M2"X3^.]SMPWLI% ):(8>90!B63KP$V"Y/LE5/[WJAXC5&'4?'QF?%@5LFBGJ M,BJ!IAN[&*@GI! =Y<^EZ<3T;;$[9.= R;D)6G&BD+-?;%;V/AI;.NV%(""= M]P4C=B JR-UK?!&"^*;(_> N")/?$V@MXJ2P3<\;H:F;0[D 3P&>;RZS CPK MX-FX:0M!Y T\&WGQ.= >!S](_3D!I0)*.9)@ :45*&W??!:"R!N4MMT^F@@0 M%2#*H^P*$*V :*?;$H+(&XAV(C3#DR8,4H&EW(JPP-(*EC9;MT(0>A '*QAX0OB<@ YF\M\CLMQW;5$;,=_8<$#Q;WUQ1*$'; M 25MPQR=79C+:;J M HNF8QR@6?VV7I5D;*-CBF 7O4GH?>C] AR3VFR"3 P';*+RA%$JBN(5%5! MI)H^-5M0@DB58R+5LXPVU=<-#2&U[@R@TG>T@>$[_8$V<* F(]T;##Q7*1<1 M[-E_W]T\_-MM]1Q+,V792*X>>-DE\[F)PB]KV;-,][T_D4JU,X]FI!(VK31+ M:VA1PGW&4I^6K4+>/!K3ZIJE\EGX,K14[7(IHP*,L.GNSR=/@![.]1D%*ZLH MDA3P2DKNA $]N=M'(WX.Z?$*N[=$[T^G:W^Z[=@_T6MWO=J/5 XW[;N>^>_-@W]_M%DH1$\)]M.L8 MO5H7[-HV%KN&1KSIQN@C #?SX7R&;2/&VK;KS+XAP6]UYFNS&OB*@@#%(_!- M LW0'Z* W_D]W24H)H&'SFPL@91S)7P?>X@>"!C[M.#HNF184A?I8);7QK:> M=Z)Q0 H>3ZK-NLB:=:B0#$^V_ 9'J.+)LEL?.:QY]()&B?#2JO"2=H#P4M$! M8;&=D@=2^HB$#JY_@U02P,$% @ M[HT#4RS?FG6)"0 %T4 !@ !P&5X,S%D,2YH=&WM M7'U3VS@3_RHZ.G>%F3C."Y36H^U.QY5B#;/DD.2'WZ9]= MR4Z*1Z-&2%OFNUVL]5\?>!YQT? JE^.D5E 7OM= MO]/JM$GK3;!_$!P&?EP,WZ>7-NP]G?;+C^?Y_NWW? M/QV>NH[]9JM-AHIFFALN,RI\?W"^0W828_+ ]Z?3:7/:;4HU]H=7?F)2L>\+ M*35K1B;:.3["%OC):'1\E#)#29A0I9EYNW,S?.^]!@K#C6#'1W[UV]&.9#0[ M/HKXA&@S$^SM3DK5F&>>D7G0;>6F!R-]Z%ZAN?.F/#))T&ZU?NWE-(IX-O8$ MBTVPW]P_7#0I/D[F;=*I%B@FJ.$3AKQK7$/!J I&TB2]U0G6C9_,V -Z@F>,2]A5LQVL_VF M9]B=\:C@8Y@-6WO.($%IB]'2K%,W<"1%!)V#NX2/N/GM1?M5J]<%;D?^"*R7 M?S59ET5#ZFJ>"=<@BN!F%B0\BE@&!+^]>-UI=7M'/A)^5;EJ-@S!P9AZ@A&O M;CX,2+M+O?;^+MWSVP>1^\M9M3^X&IZ]/^N?#,\NSL&9KJYO3LZ'9'CQM4W] M)2I=#_HH;KDO6AUR\9X,?Q^0ZY.K=R?G@VOOXG\?!G^2D_X0>AQ5I]7J_*R[ M9TFNLP89)L!'DT&3? S[4J4\O&V0D"G#XQDQ"37!L[:2H2/!R$BJB*FW.ZT= M$%V($A_GUSJG875=LGH^!_5&G@R#J'S>Y!>9"8J-[_H"*K@D]PP4,J2B>T_@@B M]J8)-\Q#^[$@DU-%\]Y\WD.B$$<4FG$TAXC )U^2/@BH (3$C5RR7RD <0MX#2X<>[9;W M!XFE EI&*+\*+[X^ % M(S'/P _1I1=^UP"( '+H5K5^GL4X(1ZY\'4#N+3ALP>&+P&%_X\!AN.0_N,':ASU=NG^9PN*1*^,8 M0F]E/>N,4,6L#X-/+)I>'*P MWSS\'G!RT.S<0Y-=NK=I<'+*-%R!.]E@_O->W\ \(Z2%?OP0#/A'#/RVG,FE M$+)0P"#'"H&V 010L'3G<@ZW'QQR/1B] O F/$)2HEIG= MYE0#H&'A!)&*JJA"#< Q3IVS8$ZT;EK$4 LP%C$<_"V1U@HO-IJ[*Q7*"Y4# M=FF;PX4A;$@K@"W!C%D&J9D 8((>EB,V(DF1&0=.@*$\AS!J"T];>'H&\!1N M'#P-)E04-N9 WV5QS$)\N"!C>DWQ8YZ\/2*&?JX=87 (6$ EI5W\9P3[X MM"R/B??HG)IAF2E^2O&6C*I2E@5=YJR#=X%PFBW(;$'F^X-,M'$@<^J\]B$< MP)M&96W$TJR%G2?$0)B1R3 L%'I[+?U9PS65VD [/M("O#0L$/G+B>?8)%3/ MDSL,1"PNLD9_<*.G/1:!%Q(Y6>9T2V 5BF*3>&L0?BJI&$ MG O[(P[R62:[@#(0O&@,CN WEI8J+&-_%1S$M[A59*&]@;6WK0AO'$0\J^AB M\RK")T(0K'5P "\-X+W6T+.P&/+-&1>F9TR>HO9A*LUV'S"5DGLHRC5/> G MX4!91'5WJ];$ 32"@9K-PX!/8D996X$AX/BP8QHNI=&0S^@BA0T'9K/*N*G7 MWS??)BE;&'DF,+)YA=H3R$!B!6=U YR:V? "8,$^%U;B1\/E SR;2#%AF!1D M=%P^WJ;*B(2EN9 S!KW31+HPA"ZA$Z#)OY+B-#?OG,?W7*S)W^Z@S7^A-P0@.D%MO"D;X[%M"\WXZTE(4AO4J M#%G6\IMOA-K(Q^.V>[6J_+F,&=L5^#XK8.%D^8SYATOQ+0QP"O@ MUW7/]3N]_I7=]%SA= -7ZA^K^6-K]]1%+$_*,I1LYW?$/CI"7K3LO^]L!E_[ MZ]Y7VR[F8N55 %(34UESM* M*3HK4E5A2_T3&F5+_0L:J]_FR.F8>2YSHS&H$=")Y%7E[$V[V7HUCY=<6\M6 MR-PW/^Q'1([_#U!+ P04 " #NC0-3S!E@BY\) F1@ & '!R:6TM M,C R,3 V,S!X97@S,60R+FAT;>U<^U,;.1+^5W2D;@-5'H\?D(=-J"+@U'*7 M!)8X=[<_RC-MCPIY-"MI;'Q__75+,_;8. 0NFV!GG:H HV=W2_WIZY['\=^" MH) M;-8;]5='07!RC$.=%7U4VF&OPG;8:K2:K/&Z<_BBTVBRJP]L_W/_[, U/K\\ MZ_]^U?.37GU^^_[BC.T%8?CO]ED8GO?/?<5A'?OU-4^-L$*E7(9A[^,>VTNL MS3IA.)U.Z]-V7>E1V+\.$SN6AZ%4RD ]MO'>R3&5X$_@\?J\YDOPMP$M MAL^[KK41_P4<&M63(H4@ 2=FL]Y\W;5P:P,NQ0AGH]*N-TBGL,5@:=:I[SA0 M,L;*WFTB!L+^\JSYHM%M-^NMXW" ULM^A*P1;F30*\)2_W+FB3 HG!1VUDE$ M'$.*#7YY]JK5:'>/0VKXI)+>9];KS^][K-GF0?-PGQ^$S:/8_^7M?-:[[E^\ MNS@[[5]^W1Z_?;T M8^]3E9'VM\JU:C\=WWTZ;NGB6Y+FKLGY"F@%C]H<[.%<)S6F,1 M:"N&,V83;CL;;2/+!Q+80.D8])N]QAZ*+F6!E_-KD_&HO"Z&]SV"2$G),P.= M\H_N]] O0!BV:NS4K)P(=.GD#R2?J=QVAN(6XFX%JKV4I7FLQO]QJ8%OUGI9 M;Q\5!XN-J_7W*K(J^(06/.*R<$'GC2AB=YH("P'9#SJIFFJ>=9?G+4Q=B-BL MKTJQ7+^TPM]D:7]) Z%<>LQEMPH,1=%]*$/'*^U_EO ), T3 5-D(#81AOV6 MV&=%MIY[C;Y[BMK7/ 2F'HX2(7]%?.QGBE!9=LR",LTDR-A656 M^79W&J2 3FVXGE&3,;\!APKS,0V6Q2@63BE)&YJ#&D1"8[B$S5+"A!R=3S-< MLBAA)JY $V%"EZ-('#PH-K"#;8'*MUI5ZD0YJ0: #^';4;(P4B&@07EC(M(H@QF+#]A$%8D!8\:[>NXT2GHZ G2+ON,XEF"(NHJ32T3X4 MJ20:Q&67J.C C2DHL9-Z8**9&-&4"EYIAQHDU>.F'-Z=53P,E1O74'3?;YP;;!R3D8O$)W<@'&U[V^1K%/Q'/S M\"X4A P _;:8R8&3(R[* ID MD2A1IXS3!LDE)QJ#:CDA%I$5]O!QVOI $\L&0%V0'.%(N,>?F +YW;O,@'S9 M&@*T<+$=__FY\&JPY7CU8.9P![8>SCD>C%Z(>!,1$RAQHU*WS;E!0*-D#B$5 MUW&)&HAC@GMGH>AJW;2$H0Y@'&)X^%MJ6DD&.39W6RB4Y3I#[#(N&HPBW)!. M )<6&D&*09Y$8,(:R @;J4F>6@].B*$B0QJU@Z<=/&T /$5;!T^]"9>YXQSD MNS <0D2/4J1@UJ11YL'; SB4O_Q:9L7A$@Z!3,CX3,X ]\&797D(W^/SUD ) MJ^%C$LIL4";%'.B"MP[=XZ)I=B"S YFG!YEXZT#FW'OM?3A -[**W(AKLQ9V M'L&!*")3491K\O9*^+-FU+$R%LOI<1T'Z8A)MY<$=$Q.$2Q(ZA MH2IS]C1C4MR +.Z@K;2O?;-.3X- NW3/3Y4^/OJ+I(_=PS!Q"3NUQ;%.?*/J M\(L3GIC"(\*S.PF=N6@\CX55VLPC(E> 0X['PEJ >WC50&',1?6Q0/G<(/N( M,DA>#)$C_$VII1++X(]69V"OR&H@F?:W#QA,N2N,=CRKO)C\*!(HGJ[U:MX0$\ MQHX&YC3@BYA1Y%:P"SH^[IB:#VD,QC,F'^.&0[,Y9?S4Z^_ [X*4'8QL"(QL M7Z+V%".0H<:SNH9.#8Y>("RX9]4*_*CY>$"D$R4G0$%!RD?%(W>Z8"0PSJ2: M =9.$^5I"%]")T23/R7$J6_?.4]O]3B3O]DCF^^5+OL@/_2"O<#)"YGH;2 R M$II_&8(:B]U8O&E$)15732K-4UX'Y$>= 1X=-\$4U?_JVU#S>CXP2N86NB5Z+.OWP[= I>?#$=N_ M0E;\7$:+G?F?P/P.19:/EO]S'7ZX :K'4Z;!K2QEGA"Z.XR=YJ,<8[ZV?Z-A MR09_RK;;5,3=]E5]C)H_MW:/7<3B,"W89C.[9>[I$O:LX?X]L1E"$]Y]76^W ME)NHYFZ9MD--L4P%7#PD+ H:N7?0(AR*';1NIIKW+O3^E7\D!E?RSIH>_.46M0R(/<7=6'E7/Z2Q],F+:M*H MO*?S0X*-+W[)H'58R>!YM9MWXHED'F />'0STBI/8PKME>Z4%*2BYG)%(45K M1:J2M%2_*%*45#\HLOJIDHR/(/ Q'A^B&AT^4:),K;UNUALOYFS)ES5<"LU_ M L5]4^7D?U!+ P04 " #NC0-36FSD:/\% "/'0 & '!R:6TM,C R M,3 V,S!X97@S,F0Q+FAT;>T9:6_;-O2O<"[:)H!U6;DL.09:)\4R-*W;.ACV MD18IBP@E:A0=Q_OU>R0E1U9Z;DN:8 EB6WP\WGV)HU\ M]WLX\;R3V8F=V'/] ,TD+BJFF"@P][S3=SW4RY0J(\];K5;N*G2%7'BSCUZF MN.1AL WQ60\RJG"*,FPK*@Z[EW,WCA'L$(QQ>EXY#6_=NU< MD/5X1-@5JM2:T^->CN6"%8X2913ZI8IAIP?3G377SHH1E46![S^/2TP(*Q8. MIZD"B!ONW\ D6V0W0&&9BR3E6+$KJD]OG9MPBF4T%RJ+NR@^M[-L]J6B4$Z* M<\;7T*54 *9VH=98P06L""%\^.!GX8CSR]\$[I:LDP 1>C\@>$.*%2 ML90E6"L<39>R6F+@2PGTB28:9L4[] _N6KK_A@N1(I51] G+.2YHY;R_YG2- M7B4*PE!WG.RM0(HK"2LO& M:RWD#TLL03M\C3[24D@CXJEDN9"L MG**Y8 51,A8=):U8[>IKD:^/%$Y!#Q MUV84Q+L0TM$;(?-:&;[S :5"&CPE\" (HD >0;\M"XI"OX]TZ.\C7*&4\2:+ M&-739"DA:@%J7!!T>@TAN8!< OAR5E6:#/C7*PFD$I1128'N-F66FX:POJ7H MK(]F&0BW0JPPX)']*@L5G,V'*]JR'&4Z2]\$HK)L&\CCC&$R - MQZN,*>IH##0"D4D,('MFX![>/O5.Y>A SRO!P93B)GALLWCO5M#:"9/?:1/VC47]_?5,L]' MWM =!D\:N"L-F!B_71W\X=QFTZQ!(CD:YL.8$@FB$T*OE8EDI%-I><$L, M/V9\=;"J,WE07B,P!4;0,]_\_62)>)7WN=:SD\M1 MJ6O$MH.N?HZ8 EH3F)U"6Z*F9="AK2DHMF[N:M#6Q5WW4K#$"^K8VA:GP$Z$KP0C MM2P/AVZX*64LR#>O?.Q=H[F\'/\-4$L#!!0 ( .Z- U,@IWT' P8 * = M 8 <')I;2TR,#(Q,#8S,'AE>#,R9#(N:'1M[5E[;]LV$/\JG(NV"6 ] M+-EI+#D&6B?%NC5MVCH;]B^7RV;Q8? MOYW-_S@[L43/SE^\?C5#/%Z*B+E&D-YWH$?BFF$PG.548)1F6%55' MO?/Y2^<05BBF.)U.O.;7KET(LIE."+M E=IP>M3+L5RRPE&BC$*_5#'L]&"Z ML^;263.B,I#5?QR7F!!6+!U.4P4C;CBZ&I-LF5T-"BM<)"G'BEU0?7KKW(13 M+*.%4%G<)?&IG66S+Q6%Y'CXFG?CL!O125+G\9F M=<7^HG T",A909V,6C[=P3A6]%(YF+,E4-.CL55)5&MCL4-U;37*9 ML0533QX-#OPX#-Q@XBU ?^6-\;K+FE[=T+E@%;#"F=I$&2.$%K#@R:/#P _C MB:<7WBA?+1TF$&)4?H<29U0JEK($:X.CLY6L5ACD4@)]H(D>L^H=^PTT%-*H^$RR7$A6@6[E!4N MJYF0,&F]:D]OTU(%?CP3.2#^QMP-XGV =/12R+PVAN^\0ZF0ADX),@B"*+!' MT"^K@J+0[R,-_7V$*Y0RWF018WJ:K"2@%I#&!4$GEP#)!>02H)>SJM)LP+]> M22"5H(Q*"GRW.;/2-(SU+4>O^NA7"CH *J ZNP.=^@CX58@R*7-+K3 :#P@E.T$))0>=3S>Z! SNNTM[VO M2IS4][!#PHWC?7@).#$9[I+E+NSBPQ8#:^0?C]Q#/.]>#[]]_W@[OO^ZR _);;O C956$XA\"H<=XF,##3Z;6$M*)CH*^G M,;1'L UX@:P"$R4$1=4WN])MMH$#B:G<30Z$52MN0TA ,C4TJTXFPUJ MU:=8\'(2P3DN*QHU%VW&M-IKGG0_JH,#S+';[_I7:%,WNWJDU;H:\&NH-A): MJ3Z/T4@9+23%'YTU*."K'?EV M'B\JP<&3X@8[=B6\=2=H[83);W0)^R"C_OYRHMD:8!2Z!^,'"]R4!0S$[Q8' M_S@6;ET%[2H$4J.Q+:PY!@B-$'J^6JXJA4+;(>YHX?M\KX:J.H\/RDL$GL ( M>N2;OQ^L$:_RKC>DG1Q^7PW\K5[]7V');0CX8*O[8ZL)VT5;?1TQ!;PFYFGS M=S[SF7AL^F#M>VKMO3/)P)HEF/.:8?<_8=FF;[+)]LX:J/MNJ?4.B+"JY'@3 M&4$ZW6SPS UUHY_#4,V0Z9)VBZ+6N3N'.?KY1-SQ!GOR[915GWVS$ Q+A?RK MCWY\=KUR,M_9MJM8X.3C4@IH_G0_(V345 8M9>Y.U+P$'=Z:6F+G55X]M/,F MK_N6L,1+ZMBJ%J<@3H0O!".U+I^--7C458P=\LVS'OORT;S-G/X-4$L! A0# M% @ [HT#4XQBXS;_$0 ('-D4$L! A0#% @ [HT#4V6H[&UL4$L! A0#% @ M[HT#4PXC7V:02@ UE8% !4 ( !4L, '!R:6TM,C R,3 V M,S!?<')E+GAM;%!+ 0(4 Q0 ( .Z- U,#$P<2YH=&U02P$"% ,4 " #N MC0-3+-^:=8D) 710 & @ $MQ0, <')I;2TR,#(Q,#8S M,'AE>#,Q9#$N:'1M4$L! A0#% @ [HT#4\P98(N?"0 )D8 !@ M ( ![,X# '!R:6TM,C R,3 V,S!X97@S,60R+FAT;5!+ 0(4 Q0 M ( .Z- U-:;.1H_P4 (\= 8 " <'8 P!P&5X,S)D,2YH=&U02P$"% ,4 " #NC0-3(*=]!P,& "@'0 M& @ 'VW@, <')I;2TR,#(Q,#8S,'AE>#,R9#(N:'1M4$L% 3!@ * H I@( "_E P $! end