0001437749-22-006431.txt : 20220316 0001437749-22-006431.hdr.sgml : 20220316 20220316161804 ACCESSION NUMBER: 0001437749-22-006431 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 109 CONFORMED PERIOD OF REPORT: 20211231 FILED AS OF DATE: 20220316 DATE AS OF CHANGE: 20220316 FILER: COMPANY DATA: COMPANY CONFORMED NAME: NORTHWEST PIPE CO CENTRAL INDEX KEY: 0001001385 STANDARD INDUSTRIAL CLASSIFICATION: STEEL PIPE & TUBES [3317] IRS NUMBER: 930557988 STATE OF INCORPORATION: OR FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-27140 FILM NUMBER: 22745099 BUSINESS ADDRESS: STREET 1: 201 NE PARK PLAZA DRIVE STREET 2: SUITE 100 CITY: VANCOUVER STATE: WA ZIP: 98684 BUSINESS PHONE: 3603976250 MAIL ADDRESS: STREET 1: 201 NE PARK PLAZA DRIVE STREET 2: SUITE 100 CITY: VANCOUVER STATE: WA ZIP: 98684 10-K 1 nwpx20211231_10k.htm FORM 10-K nwpx20211231_10k.htm
0001001385 Northwest Pipe Co. false --12-31 FY 2021 503 767 0.01 0.01 10,000,000 10,000,000 0 0 0 0 0.01 0.01 15,000,000 15,000,000 9,870,567 9,870,567 9,805,437 9,805,437 5 20 8 9 102 41 79 153 286 1.7 0 0 24.1 19.5 50 50 2 0 0 7.0 1 0 0 0 0 0 0 1 1 2023 2026 2024 2022 2038 2022 2023 2030 0 577 679 61 20 Long-term finance lease liabilities, less current portion are included in Other long-term liabilities. The number of PSAs disclosed in this table are at the target level of 100%. Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of December 31, 2021 and 2020, respectively. Current portion of finance lease liabilities are included in Accrued liabilities. For the PSAs vested on March 31, 2021; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the 2019-2020 performance period and 200% for the 2020 performance period. There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019. 00010013852021-01-012021-12-31 iso4217:USD 00010013852021-06-30 xbrli:shares 00010013852022-03-04 thunderdome:item 00010013852020-01-012020-12-31 00010013852019-01-012019-12-31 iso4217:USDxbrli:shares 00010013852021-12-31 00010013852020-12-31 0001001385us-gaap:CommonStockMember2018-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2018-12-31 0001001385us-gaap:RetainedEarningsMember2018-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-31 00010013852018-12-31 0001001385us-gaap:AccountingStandardsUpdate201409Membersrt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:CommonStockMember2018-12-31 0001001385us-gaap:AccountingStandardsUpdate201409Membersrt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:AdditionalPaidInCapitalMember2018-12-31 0001001385us-gaap:AccountingStandardsUpdate201409Membersrt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:RetainedEarningsMember2018-12-31 0001001385us-gaap:AccountingStandardsUpdate201409Membersrt:CumulativeEffectPeriodOfAdoptionAdjustmentMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-31 0001001385us-gaap:AccountingStandardsUpdate201409Membersrt:CumulativeEffectPeriodOfAdoptionAdjustmentMember2018-12-31 0001001385us-gaap:CommonStockMember2019-01-012019-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2019-01-012019-12-31 0001001385us-gaap:RetainedEarningsMember2019-01-012019-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-12-31 0001001385us-gaap:CommonStockMember2019-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2019-12-31 0001001385us-gaap:RetainedEarningsMember2019-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-31 00010013852019-12-31 0001001385us-gaap:CommonStockMember2020-01-012020-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2020-01-012020-12-31 0001001385us-gaap:RetainedEarningsMember2020-01-012020-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-12-31 0001001385us-gaap:CommonStockMember2020-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2020-12-31 0001001385us-gaap:RetainedEarningsMember2020-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-31 0001001385us-gaap:CommonStockMember2021-01-012021-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-31 0001001385us-gaap:RetainedEarningsMember2021-01-012021-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-31 0001001385us-gaap:CommonStockMember2021-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001001385us-gaap:RetainedEarningsMember2021-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 xbrli:pure 0001001385nwpx:OutOfPeriodAdjustmentMember2019-01-012019-03-31 utr:Y 0001001385us-gaap:LandImprovementsMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:LandImprovementsMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:BuildingMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:BuildingMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:LeaseholdImprovementsMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:LeaseholdImprovementsMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:MachineryAndEquipmentMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:MachineryAndEquipmentMembersrt:MaximumMember2021-01-012021-12-31 utr:M 0001001385srt:MinimumMember2021-01-012021-12-31 0001001385srt:MaximumMember2021-01-012021-12-31 0001001385nwpx:AccruedLiabilityMember2021-12-31 0001001385nwpx:AccruedLiabilityMember2020-12-31 0001001385nwpx:OtherLongtermLiabilitiesMember2021-12-31 0001001385nwpx:OtherLongtermLiabilitiesMember2020-12-31 0001001385nwpx:ParkEnvironmentalEquipmentLlcMember2021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMember2021-10-052021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMemberus-gaap:CustomerRelationshipsMember2021-10-052021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMemberus-gaap:TrademarksAndTradeNamesMember2021-10-052021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMemberus-gaap:PatentsMember2021-10-052021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMembernwpx:BacklogMember2021-10-052021-10-05 0001001385nwpx:GenevaPipeCompanyIncMember2021-10-052021-10-05 0001001385nwpx:ParkEnvironmentalEquipmentLlcMember2021-01-012021-12-31 0001001385nwpx:ParkEnvironmentalEquipmentLlcMember2020-01-012020-12-31 0001001385nwpx:ParkEnvironmentalEquipmentLlcMember2021-10-062021-12-31 0001001385nwpx:GenevaPipeCompanyIncMember2020-01-31 0001001385nwpx:GenevaPipeCompanyIncMember2020-01-312020-01-31 0001001385nwpx:GenevaPipeCompanyIncMember2020-04-012020-06-30 0001001385nwpx:GenevaPipeCompanyIncMemberus-gaap:CustomerRelationshipsMember2020-01-312020-01-31 0001001385nwpx:GenevaPipeCompanyIncMemberus-gaap:TradeNamesMember2020-01-312020-01-31 0001001385nwpx:GenevaPipeCompanyIncMembernwpx:BacklogMember2020-01-312020-01-31 0001001385nwpx:GenevaPipeCompanyIncMember2020-01-012020-12-31 0001001385nwpx:GenevaPipeCompanyIncMember2019-01-012019-12-31 0001001385nwpx:ParkusaAndGenevaMember2021-01-012021-12-31 0001001385nwpx:ParkusaAndGenevaMember2020-01-012020-12-31 0001001385nwpx:ParkusaAndGenevaMember2019-01-012019-12-31 0001001385us-gaap:LandImprovementsMember2021-12-31 0001001385us-gaap:LandImprovementsMember2020-12-31 0001001385us-gaap:BuildingMember2021-12-31 0001001385us-gaap:BuildingMember2020-12-31 0001001385us-gaap:LeaseholdImprovementsMember2021-12-31 0001001385us-gaap:LeaseholdImprovementsMember2020-12-31 0001001385us-gaap:MachineryAndEquipmentMember2021-12-31 0001001385us-gaap:MachineryAndEquipmentMember2020-12-31 0001001385nwpx:EquipmentUnderFinanceLeaseMember2021-12-31 0001001385nwpx:EquipmentUnderFinanceLeaseMember2020-12-31 0001001385us-gaap:ConstructionInProgressMember2021-12-31 0001001385us-gaap:ConstructionInProgressMember2020-12-31 0001001385country:MX2021-12-31 0001001385country:MX2020-12-31 0001001385us-gaap:CustomerRelationshipsMember2021-12-31 0001001385us-gaap:TrademarksAndTradeNamesMember2021-12-31 0001001385us-gaap:PatentsMember2021-12-31 0001001385nwpx:BacklogMember2021-12-31 0001001385us-gaap:OtherIntangibleAssetsMember2021-12-31 0001001385us-gaap:CustomerRelationshipsMember2020-12-31 0001001385us-gaap:TrademarksAndTradeNamesMember2020-12-31 0001001385us-gaap:OtherIntangibleAssetsMember2020-12-31 0001001385nwpx:WellsFargoBankNAMember2021-10-22 0001001385nwpx:WellsFargoBankNAMember2021-10-222021-10-22 0001001385nwpx:WellsFargoBankNAMember2021-12-31 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMember2020-12-31 0001001385nwpx:WellsFargoBankNAMember2020-12-31 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMembersrt:MinimumMemberus-gaap:LondonInterbankOfferedRateLIBORMember2021-01-012021-12-31 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMembersrt:MaximumMemberus-gaap:LondonInterbankOfferedRateLIBORMember2021-01-012021-12-31 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMember2021-12-31 0001001385nwpx:PropertyAndEquipmentMember2021-12-31 0001001385nwpx:PropertyAndEquipmentMember2020-12-31 0001001385us-gaap:OtherLiabilitiesMember2021-12-31 0001001385us-gaap:FairValueInputsLevel1Member2021-12-31 0001001385us-gaap:FairValueInputsLevel2Member2021-12-31 0001001385us-gaap:FairValueInputsLevel3Member2021-12-31 0001001385us-gaap:FairValueInputsLevel1Member2020-12-31 0001001385us-gaap:FairValueInputsLevel2Member2020-12-31 0001001385us-gaap:FairValueInputsLevel3Member2020-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:DesignatedAsHedgingInstrumentMember2021-12-31 iso4217:CAD 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:DesignatedAsHedgingInstrumentMember2020-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2021-01-012021-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2020-01-012020-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2019-01-012019-12-31 0001001385us-gaap:ForeignExchangeForwardMember2021-01-012021-12-31 0001001385us-gaap:ForeignExchangeForwardMember2021-12-31 0001001385nwpx:DefinedContributionPlanMember2021-01-012021-12-31 0001001385nwpx:DefinedContributionPlanMember2019-01-012019-12-31 0001001385nwpx:DefinedContributionPlanMember2020-01-012020-12-31 0001001385nwpx:ParkusaDefinedContributionPlanMember2021-10-062021-12-31 0001001385us-gaap:PensionPlansDefinedBenefitMember2021-01-012021-12-31 0001001385us-gaap:PensionPlansDefinedBenefitMember2021-12-31 0001001385us-gaap:PensionPlansDefinedBenefitMember2020-12-31 0001001385us-gaap:PensionPlansDefinedBenefitMember2020-01-012020-12-31 0001001385us-gaap:PensionPlansDefinedBenefitMember2019-01-012019-12-31 0001001385nwpx:NonqualifiedRetirementSavingsPlanMember2021-01-012021-12-31 0001001385nwpx:OtherLongtermLiabilitiesMembernwpx:NonqualifiedRetirementSavingsPlanMember2021-12-31 0001001385nwpx:OtherLongtermLiabilitiesMembernwpx:NonqualifiedRetirementSavingsPlanMember2020-12-31 0001001385us-gaap:CostOfSalesMember2021-01-012021-12-31 0001001385us-gaap:CostOfSalesMember2020-01-012020-12-31 0001001385us-gaap:CostOfSalesMember2019-01-012019-12-31 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-31 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-12-31 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2019-01-012019-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2020-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2021-01-012021-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2021-12-31 0001001385us-gaap:PerformanceSharesMember2021-12-31 0001001385us-gaap:PerformanceSharesMember2019-01-012020-12-31 0001001385us-gaap:PerformanceSharesMember2020-01-012020-12-31 0001001385us-gaap:PerformanceSharesMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:PerformanceSharesMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-31 0001001385us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-12-31 0001001385us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2020-01-012020-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2019-01-012019-12-31 0001001385nwpx:StockAwardsMembersrt:DirectorMember2021-01-012021-12-31 0001001385nwpx:StockAwardsMembersrt:DirectorMember2020-01-012020-12-31 0001001385nwpx:StockAwardsMembersrt:DirectorMember2019-01-012019-12-31 0001001385nwpx:LowerWillametteGroupMember2017-01-31 0001001385nwpx:PortlandHarborSuperfundSiteMember2017-01-012017-01-31 0001001385nwpx:PortlandHarborSuperfundSiteMember2017-01-31 0001001385nwpx:PortlandHarborNaturalreSourcesTrusteeCouncilMember2014-06-30 0001001385us-gaap:FireMember2020-01-012020-12-31 0001001385us-gaap:FireMember2019-01-012019-12-31 0001001385country:US2021-01-012021-12-31 0001001385country:US2020-01-012020-12-31 0001001385country:US2019-01-012019-12-31 0001001385country:CA2021-01-012021-12-31 0001001385country:CA2020-01-012020-12-31 0001001385country:CA2019-01-012019-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMembernwpx:OneSppCustomerMember2021-01-012021-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMembernwpx:OneSppCustomerMember2020-01-012020-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMembernwpx:OneSppCustomerMember2019-01-012019-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-31 0001001385us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-31 0001001385us-gaap:TransferredOverTimeMember2021-01-012021-12-31 0001001385us-gaap:TransferredOverTimeMember2020-01-012020-12-31 0001001385us-gaap:TransferredOverTimeMember2019-01-012019-12-31 0001001385us-gaap:TransferredAtPointInTimeMember2021-01-012021-12-31 0001001385us-gaap:TransferredAtPointInTimeMember2020-01-012020-12-31 0001001385us-gaap:TransferredAtPointInTimeMember2019-01-012019-12-31 00010013852022-01-012021-12-31 00010013852023-01-012021-12-31 0001001385us-gaap:OtherAssetsMember2021-12-31 0001001385us-gaap:OtherAssetsMember2020-12-31 0001001385us-gaap:DomesticCountryMember2021-12-31 0001001385us-gaap:DomesticCountryMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:DomesticCountryMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:DomesticCountryMemberus-gaap:CapitalLossCarryforwardMember2021-12-31 0001001385us-gaap:DomesticCountryMemberus-gaap:CapitalLossCarryforwardMember2021-01-012021-12-31 0001001385us-gaap:StateAndLocalJurisdictionMember2021-12-31 0001001385us-gaap:StateAndLocalJurisdictionMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:StateAndLocalJurisdictionMembersrt:MaximumMember2021-01-012021-12-31 0001001385us-gaap:StateAndLocalJurisdictionMember2021-01-012021-12-31 0001001385us-gaap:ForeignCountryMember2021-12-31 0001001385us-gaap:ForeignCountryMembersrt:MinimumMember2021-01-012021-12-31 0001001385us-gaap:ForeignCountryMembersrt:MaximumMember2021-01-012021-12-31 00010013852017-01-012017-12-31 00010013852019-01-012019-01-01 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2020-12-31 0001001385us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2020-12-31 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2021-01-012021-12-31 0001001385us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2021-01-012021-12-31 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2021-12-31 0001001385us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2021-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2021-01-012021-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2020-01-012020-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2019-01-012019-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2021-01-012021-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2020-01-012020-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2019-01-012019-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2020-01-012020-12-31 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2019-01-012019-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2021-01-012021-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2020-01-012020-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2019-01-012019-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-01-012021-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-01-012020-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2019-01-012019-12-31 0001001385us-gaap:OperatingSegmentsMember2021-01-012021-12-31 0001001385us-gaap:OperatingSegmentsMember2020-01-012020-12-31 0001001385us-gaap:OperatingSegmentsMember2019-01-012019-12-31 0001001385us-gaap:CorporateNonSegmentMember2021-01-012021-12-31 0001001385us-gaap:CorporateNonSegmentMember2020-01-012020-12-31 0001001385us-gaap:CorporateNonSegmentMember2019-01-012019-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2021-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2020-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-12-31 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-12-31 0001001385us-gaap:OperatingSegmentsMember2021-12-31 0001001385us-gaap:OperatingSegmentsMember2020-12-31 0001001385us-gaap:CorporateNonSegmentMember2021-12-31 0001001385us-gaap:CorporateNonSegmentMember2020-12-31 0001001385nwpx:EngineeredSteelPressurePipeMember2021-01-012021-03-31 0001001385nwpx:EngineeredSteelPressurePipeMember2021-04-012021-06-30 0001001385nwpx:EngineeredSteelPressurePipeMember2021-07-012021-09-30 0001001385nwpx:EngineeredSteelPressurePipeMember2021-10-012021-12-31 0001001385nwpx:EngineeredSteelPressurePipeMember2021-01-012021-12-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-01-012021-03-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-04-012021-06-30 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-07-012021-09-30 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-10-012021-12-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2021-01-012021-12-31 00010013852021-01-012021-03-31 00010013852021-04-012021-06-30 00010013852021-07-012021-09-30 00010013852021-10-012021-12-31 0001001385nwpx:EngineeredSteelPressurePipeMember2020-01-012020-03-31 0001001385nwpx:EngineeredSteelPressurePipeMember2020-04-012020-06-30 0001001385nwpx:EngineeredSteelPressurePipeMember2020-07-012020-09-30 0001001385nwpx:EngineeredSteelPressurePipeMember2020-10-012020-12-31 0001001385nwpx:EngineeredSteelPressurePipeMember2020-01-012020-12-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-01-012020-03-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-04-012020-06-30 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-07-012020-09-30 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-10-012020-12-31 0001001385nwpx:PrecastInfrastructureAndEngineeredSystemsMember2020-01-012020-12-31 00010013852020-01-012020-03-31 00010013852020-04-012020-06-30 00010013852020-07-012020-09-30 00010013852020-10-012020-12-31 0001001385us-gaap:AllowanceForCreditLossMember2020-12-31 0001001385us-gaap:AllowanceForCreditLossMember2021-01-012021-12-31 0001001385us-gaap:AllowanceForCreditLossMember2021-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2020-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2021-01-012021-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2021-12-31 0001001385us-gaap:AllowanceForCreditLossMember2019-12-31 0001001385us-gaap:AllowanceForCreditLossMember2020-01-012020-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2019-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2020-01-012020-12-31 0001001385us-gaap:AllowanceForCreditLossMember2018-12-31 0001001385us-gaap:AllowanceForCreditLossMember2019-01-012019-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2018-12-31 0001001385us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2019-01-012019-12-31
 

Table of Contents


 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

 

FORM 10-K

(Mark One)

 

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

For the fiscal year ended: December 31, 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: 0-27140

 

NORTHWEST PIPE COMPANY

(Exact name of registrant as specified in its charter)

 

Oregon

93-0557988

State or other jurisdiction of incorporation or organization

(I.R.S. Employer Identification No.)

 

201 NE Park Plaza Drive, Suite 100

Vancouver, Washington 98684

(Address of principal executive offices and Zip Code)

 

Registrant’s telephone number, including area code: 3603976250

 

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, par value $0.01 per share

 

NWPX

 

Nasdaq Global Select Market

 

Securities registered pursuant to section 12(g) of the Act: None

 

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.    Yes  ☐    No  ☒

 

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.    Yes  ☐    No  ☒

 

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 (§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 has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.     

 

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

 

The aggregate market value of the common equity that was held by non-affiliates of the registrant was $241,811,384 as of June 30, 2021 based upon the last sales price as reported by the Nasdaq Global Select Market.

 

The number of shares outstanding of the registrant’s common stock as of March 4, 2022 was 9,882,733 shares.

 

DOCUMENTS INCORPORATED BY REFERENCE

 

The registrant has incorporated into Parts II and III of Form 10‑K by reference certain portions of its 2020 Form 10‑K, which was filed with the Securities and Exchange Commission (“SEC”) on March 4, 2021, and its Proxy Statement for its 2022 Annual Meeting of Shareholders.

 


 

 
 

 

NORTHWEST PIPE COMPANY

2021 ANNUAL REPORT ON FORM 10K

TABLE OF CONTENTS

 

   

Page

Cautionary Statement Regarding Forward-Looking Statements

 

1

     
 

Part I

   
       

Item 1

Business

 

2

Item 1A

Risk Factors

 

10

Item 1B

Unresolved Staff Comments

 

20

Item 2

Properties

 

20

Item 3

Legal Proceedings

 

21

Item 4

Mine Safety Disclosures

 

21

       
 

Part II

   
       

Item 5

Market for Registrants Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

 

21

Item 6

[Reserved]

 

23

Item 7

Managements Discussion and Analysis of Financial Condition and Results of Operations

 

23

Item 7A

Quantitative and Qualitative Disclosures About Market Risk

 

31

Item 8

Financial Statements and Supplementary Data

 

32

Item 9

Changes in and Disagreements With Accountants on Accounting and Financial Disclosure

 

32

Item 9A

Controls and Procedures

 

32

Item 9B

Other Information

 

33

Item 9C

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

 

33

       
 

Part III

   
       

Item 10

Directors, Executive Officers and Corporate Governance

 

33

Item 11

Executive Compensation

 

35

Item 12

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

 

35

Item 13

Certain Relationships and Related Transactions, and Director Independence

 

35

Item 14

Principal Accountant Fees and Services

 

35

       
 

Part IV

   
       

Item 15

Exhibit and Financial Statement Schedules

 

36

Item 16

Form 10K Summary

 

39

 

 

CAUTIONARY STATEMENT REGARDING FORWARD-LOOKING STATEMENTS

 

Certain statements in this Annual Report on Form 10‑K for the year ended December 31, 2021 (“2021 Form 10‑K”), other than purely historical information, are “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995 and Section 21E of the Securities Exchange Act of 1934, as amended (“Exchange Act”), that are based on current expectations, estimates, and projections about our business, management’s beliefs, and assumptions made by management. Words such as “expects,” “anticipates,” “intends,” “plans,” “believes,” “seeks,” “estimates,” “forecasts,” “should,” “could,” and variations of such words and similar expressions are intended to identify such forward-looking statements. These statements are not guarantees of future performance and involve risks and uncertainties that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in such forward-looking statements as a result of a variety of important factors. While it is impossible to identify all such factors, those that could cause actual results to differ materially from those estimated by us include:

 

 

changes in demand and market prices for our products;

 

product mix;

 

bidding activity and order cancelations;

 

timing of customer orders and deliveries;

 

production schedules;

 

price and availability of raw materials;

 

excess or shortage of production capacity;

 

international trade policy and regulations;

 

changes in tariffs and duties imposed on imports and exports and related impacts on us;

 

our ability to identify and complete internal initiatives and/or acquisitions in order to grow our business;

 

our ability to effectively integrate Park Environmental Equipment, LLC (“ParkUSA”), Geneva Pipe and Precast Company (“Geneva”), and other acquisitions into our business and operations and achieve significant administrative and operational cost synergies and accretion to financial results;

 

impacts of recent U.S. tax reform legislation on our results of operations;

 

adequacy of our insurance coverage;

 

supply chain challenges;

 

labor shortages;

 

ongoing military conflicts in the Ukraine and related consequences;
 

operating problems at our manufacturing operations including fires, explosions, inclement weather, and natural disasters;

 

impacts of pandemics, epidemics, or other public health emergencies, such as coronavirus disease 2019 (“COVID‑19”); and

 

other risks discussed in Part I — Item 1A. “Risk Factors” of this 2021 Form 10‑K and from time to time in our other SEC filings and reports.

 

Such forward-looking statements speak only as of the date on which they are made, and we do not undertake any obligation to update any forward-looking statement to reflect events or circumstances after the date of this 2021 Form 10‑K. If we do update or correct one or more forward-looking statements, investors and others should not conclude that we will make additional updates or corrections with respect thereto or with respect to other forward-looking statements.

 

 

PART I

 

Item 1.

Business

 

Unless otherwise indicated, the terms “the Company,” “we,” “our,” and “us” are used in this 2021 Form 10‑K to refer to Northwest Pipe Company or one of our consolidated subsidiaries or to all of them taken as a whole. We were incorporated in the State of Oregon in 1966.

 

Overview

 

Northwest Pipe Company is a leading manufacturer for water related infrastructure products. In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, we manufacture high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, we provide solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. Our diverse team is committed to quality and innovation while demonstrating our core values of accountability, commitment, and teamwork. We are headquartered in Vancouver, Washington, and have 13 manufacturing facilities across North America.

 

Our water infrastructure products are sold generally to installation contractors, who include our products in their bids to federal, state, and municipal agencies, privately-owned water companies, or developers for specific projects. We believe our sales are substantially driven by spending on urban growth and new water infrastructure with a recent trend towards spending on water infrastructure replacement, repair, and upgrade. Within the total range of products, our steel pipe tends to fit the larger-diameter, higher-pressure pipeline applications, while our precast concrete products mainly serve stormwater and sanitary sewer systems.

 

With steady population growth and regional community expansion, as well as continued drought conditions, existing water sources have become stressed, and we see continued opportunities for growth in North American infrastructure.

 

Recent Strategic Actions

 

On October 5, 2021, we completed the acquisition of 100% of Park Environmental Equipment, LLC for a purchase price of approximately $88.4 million in cash, subject to a post-closing adjustment based on changes in net working capital. ParkUSA is a precast concrete and steel fabrication-based company that develops and manufactures water, wastewater, and environmental solutions. Operations continue with ParkUSA’s previous management and workforce at its three Texas manufacturing facilities. This strategic acquisition provides a foothold into the water infrastructure technology market. Operations employ similar capabilities to our existing facilities and, looking forward, we intend to expand production of ParkUSA’s products to our other facilities.

 

On January 31, 2020, we completed the acquisition of 100% of Geneva Pipe and Precast Company (fka Geneva Pipe Company, Inc.) for a purchase price of $49.4 million in cash. Geneva is a concrete pipe and precast concrete products manufacturer based in Utah. This acquisition expanded our water infrastructure product capabilities by adding additional reinforced concrete pipe capacity and a full line of precast concrete products including storm drains and manholes, catch basins, vaults, and curb inlets as well as innovative lined products that extend the life of concrete pipe and manholes for sewer applications. Operations continue with Geneva’s previous management and workforce at its three Utah manufacturing facilities.

 

 

Impact of the COVID19 Pandemic on Our Business

 

In March 2020, the World Health Organization declared COVID‑19 a pandemic. We have taken proactive and precautionary steps to ensure the safety of our employees, customers, and suppliers, including frequent cleaning and disinfection of workspaces, providing personal protective equipment, instituting social distancing measures, staggering employee schedules, offering remote working environments for certain employees, encouraging vaccination, and guiding employees on preemptive measures as outlined by the Center for Disease Control (“CDC”). While the COVID‑19 pandemic did cause indirect financial impacts associated with project bidding, execution, and delivery delays during the year ended December 31, 2021, we are unable to predict the ultimate impact that the COVID‑19 pandemic may have on our business, future results of operations, financial position, or cash flows. The extent to which our operations may be impacted by the COVID‑19 pandemic will depend largely on future developments, which are highly uncertain and cannot be accurately predicted, including new information which may emerge concerning the severity of the pandemic and actions by government authorities to contain the pandemic or treat its impact. Beginning in the second quarter of 2021, there has been a trend in many parts of the world of increasing availability and administration of vaccines against COVID‑19, as well as an easing of restrictions on individual, business, and government activities. The easing of restrictions and the existence of variant strains of COVID‑19 may lead to a rise in infections, which could result in the reinstatement of some of the restrictions previously in place. The impacts on global and domestic economic conditions, including the impacts of labor and raw material shortages, the long-term potential to reduce or delay funding of municipal projects, and the continued disruptions to and volatility in the financial markets remain unknown. We continue to monitor the impact of the COVID‑19 pandemic on all aspects of our business.

 

Our Segments

 

Effective in the fourth quarter of 2021, as a result of the acquisition of ParkUSA, we revised our historical one segment position and identified the new operating segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”), to align with changes made in our internal management structure and our reporting structure of financial information used to assess performance and allocate resources.

 

Engineered Steel Pressure Pipe (SPP). SPP manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto, California; Saginaw, Texas; Tracy, California; Parkersburg, West Virginia; St. Louis, Missouri; and San Luis Río Colorado, Mexico.

 

Precast Infrastructure and Engineered Systems (Precast). Precast manufactures high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, catch basins, oil water separators, pump lift stations, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Houston, Texas; Orem, Utah; Dallas, Texas; Salt Lake City, Utah; San Antonio, Texas; and St. George, Utah.

 

Our Industries

 

Much of the United States water infrastructure is antiquated and many authorities, including the United States Environmental Protection Agency (“EPA”), believe the United States water infrastructure is in critical need of update, repair, or replacement. A combination of new population centers, rising demand on developed water sources, substantial underinvestment in water infrastructure over the past several decades, drought conditions, climate change, and increasingly stringent regulatory policies are driving demand for water infrastructure projects in the United States. These trends are intensifying the need for new water infrastructure as well as the need to upgrade, repair, and replace existing water infrastructure. While we believe this offers the potential for increased demand for our water infrastructure products and other products related to water transmission, budgetary pressures could impact governmental and public water agency projects in the near-term.

 

Federal initiatives to improve the conditions of the aging water infrastructure include the Water Infrastructure and Resiliency Finance Center at the EPA and the Water and Environmental Programs at the U.S. Department of Agriculture. The Water Resources Development Act, which was included in the Water Infrastructure Improvements for the Nation Act signed by the President of the United States in December 2016, authorizes new infrastructure projects around the country and contains substantive provisions in regards to drinking water infrastructure. The Bipartisan Infrastructure Deal (Infrastructure Investment and Jobs Act), signed into law in November 2021, will invest $55 billion to expand access to clean drinking water for households, businesses, schools, and child care centers all across the country. According to its 2020 Annual Report, the EPA’s Water Infrastructure Finance and Innovation Act program, which provides credit assistance for water infrastructure projects, closed 27 loans totaling over $4 billion in 2020.

 

 

In addition to the Federal initiatives, individual states are also taking action. In November 2013, the State of Texas earmarked $27 billion of future bond funding for state water projects over the next 50 years through their State Water Implementation Fund for Texas (SWIFT). This program provides low-interest and deferred loans to state agencies making approved investments in water infrastructure projects. In November 2014, the State of California approved the Water Quality, Supply and Infrastructure Improvement Act which authorizes $7.5 billion in general obligation bonds to fund state water supply infrastructure projects, such as public water system improvements, surface and groundwater storage, drinking water protection, water recycling and advanced water treatment technology, water supply management and conveyance, wastewater treatment, drought relief, emergency water supplies, and ecosystem and watershed protection and restoration. Our strategically located manufacturing facilities are well-positioned to take advantage of the anticipated growth in demand.

 

Engineered Steel Pressure Pipe. In its 2015 Drinking Water Infrastructure Needs Survey and Assessment released in March 2018, the EPA estimated the nation will need to spend $473 billion in infrastructure investments by 2034 to continue to provide safe drinking water to the public. The American Society of Civil Engineers (“ASCE”) has given poor ratings to many aspects of the United States water infrastructure in their 2021 Infrastructure Report Card for Drinking Water. In its Failure to Act: Closing the Infrastructure Investment Gap for Americas Economic Future study published in 2016, the ASCE concludes that significant portions of many municipal water systems are 40 to 50 years old and are nearing the end of their useful lives, and estimates there will be $150 billion in capital investment needs for water and wastewater infrastructure by 2025, and $204 billion in capital investment needs by 2040. The American Water Works Association concluded in their 2012 report, Buried No Longer: Confronting Americas Water Infrastructure Challenge, that from 2011 to 2035 more than $1 trillion will be needed to repair and expand drinking water infrastructure.

 

According to the United States Census Bureau, the population of the United States will increase by approximately 54 million people between 2022 and 2050. The resulting increase in demand will require substantial new infrastructure, as the existing United States water infrastructure is not equipped to provide water to millions of new residents. The development of new sources of water at greater distances from population centers will drive the demand for new water transmission lines. Climate change may be a cause for the drought conditions in some regions of the country and are increasing the demand for new infrastructure. The 2022 Dodge Construction Outlook forecasts U.S. public works construction starts in 2022 will advance 5% from 2021 levels.

 

As water systems degrade over time and cause failures, many current water supply sources are in danger of being exhausted. Much of the drinking water infrastructure in major cities was built in the mid-20th century with a lifespan of 75 to 100 years. In its 2021 Infrastructure Report Card for Drinking Water, the ASCE estimates there are 250,000 to 300,000 water main breaks per year in the United States, wasting over 2.1 trillion gallons of treated drinking water. The ASCE also reports that with utilities averaging a pipe replacement rate of 1.0% to 4.8% per year, the replacement rate now matches the lifecycle of the pipes. These aging water and wastewater systems will drive demand for future investment.

 

The Drinking Water State Revolving Loan Fund, a federal-state partnership and financial assistance program to help water systems and states achieve the health protection objectives of the Safe Drinking Water Act, funded $6.1 billion in Intended Use Plans during the 2019-2020 fiscal year, according to Bluefield Research’s July 2020 Data Insight State Revolving Funds: Breaking Down Project Data by Requests and Distributions.

 

Finally, the increased public awareness of problems with the quality of drinking water and efficient water usage has resulted in more stringent application of federal and state environmental regulations. The need to comply with these regulations in an environment of heightened public awareness is expected to contribute to demand in the water infrastructure industry.

 

Our large-diameter, engineered welded steel pipeline systems are utilized in water, energy, structural, and plant piping applications. Our core market is the large-diameter, high-pressure portion of a water transmission pipeline that is typically at the “upper end” of a pipeline system. This is the portion of the overall water pipeline that generally transports water from the source to a treatment plant or from a treatment plant into the distribution system, rather than the small lines that deliver water directly into households. We believe the total addressable market for the engineered welded steel pipeline system products sold will be approximately $1.8 billion over the next three years.

 

Precast Infrastructure and Engineered Systems. In its 2021 Infrastructure Report Card for Wastewater, the ASCE estimates the drinking water and wastewater pipes in the ground, with a typical lifespan expected of 50 to 100 years, are on average 45 years old. In 2020, Bluefield Research estimated that utilities throughout the country will spend more than $3 billion on wastewater pipe repairs and replacements, addressing 4,692 miles of wastewater pipeline, and this cost is projected to grow by an average of 5% annually.

 

 

In its 2021 Infrastructure Report Card for Stormwater, the ASCE states that given the recent increase in rainfall trends and urbanization in certain geographic regions, the actual capacity of a stormwater system is often less than the design standard. In addition, from 2010 to 2018 the length of impaired rivers and streams increased 39%, a key indicator of declining stormwater infrastructure condition.

 

Our high-quality precast and reinforced concrete products and bar-wrapped concrete cylinder pipe are typically used in non-pressure, gravity fed sewer and stormwater applications. Demand for these products is generally influenced by general economic conditions such as housing starts, population growth, and interest rates. In 2021, annual housing starts in the United States increased to 1.6 million, an increase of 15.6% from 2020, according to the United States Census Bureau.

 

Backlog

 

Engineered Steel Pressure Pipe. We measure backlog as a key metric to evaluate the commercial health of our water infrastructure steel pipe business. Backlog represents the balance of remaining performance obligations under signed contracts for water infrastructure steel pipe products for which revenue is recognized over time. Binding agreements received by us may be subject to cancelation or postponement; however, cancelation would obligate the customer to pay the contract consideration proportional to the costs we have incurred through the cancelation date. As of December 31, 2021 and 2020, backlog was approximately $183 million and $167 million, respectively. Backlog as of any particular date may not be indicative of actual operating results for any fiscal period. There can be no assurance that any amount of backlog ultimately will be realized. Separate from our backlog, we have been notified that we are the successful bidder on additional projects, but binding agreements have not been executed (“confirmed orders”). As of December 31, 2021 and 2020, backlog including confirmed orders was approximately $290 million and $221 million, respectively. Projects for which a binding agreement has not been executed could be canceled.

 

Products

 

Engineered Steel Pressure Pipe. Water infrastructure steel pipe is used for high-pressure applications, typically requiring pipe to withstand pressures in excess of 150 pounds per square inch. Most of our water transmission products, mainly welded steel pipe and bar-wrapped cylinder pipe, are made to project specifications for fully engineered, large-diameter, high-pressure water infrastructure systems. Other uses include power generation circulating water systems, penstocks, pipe piling, and water and wastewater treatment plants. Spiral welded pipe is manufactured in diameters ranging from 24 inches to 156 inches with wall thickness of 0.135 inches to 1.00 inch. Our rolled and welded capabilities allow for manufacturing diameters greater than 156 inches or wall thicknesses exceeding 1.00 inch. Lining and coating capabilities include cement mortar, polyurethane, epoxies, polyethylene tape, and coal-tar enamel according to our customers’ project specifications. Fabrication of fittings and specials are performed at our own facilities providing installation contractors and project owners with a complete engineered system. Product is delivered to the jobsite using commercial trucks or marine transport as needed.

 

We manufacture Permalok® steel casing pipe, which is a proprietary pipe joining system that employs a press-fit interlocking connection system. The Permalok® product is generally installed in trenchless construction projects.

 

Precast Infrastructure and Engineered Systems. We manufacture a variety of high-quality precast concrete products for water and adjacent infrastructure applications. Our precast products include reinforced concrete pipe (“RCP”), manholes, box culverts, vaults, catch basins, oil water separators, pump lift stations, lined RCP and manholes, and other precast infrastructure products.

 

The Geneva facilities manufacture RCP in sizes ranging from twelve inches to 96 inches in diameter and in a variety of strength classes at ASTM International and American Association of State Highway and Transportation Officials specifications which are primarily used for water transmission, sanitary sewer systems, storm drainage, and utilities fabrication. Geneva’s manholes, box culverts, vaults, and other structural products come in a variety of dimensions. Geneva’s lined products include high-density polyethylene (“HDPE”) or fiber reinforced plastic internal liners within manholes and RCP with additional corrosion protection in sanitary sewer and wastewater environments.

 

Under the ParkUSA brand, we manufacture pre-assembled stormwater, wastewater, and water management systems housed predominantly in precast concrete or steel housings, including water meter assemblies, break tank systems, pump lift stations, and backflow prevention systems. ParkUSA also manufactures a variety of stormwater products including catch basins, canal valves, and interceptors capable of removing sediments, trash, and oil from stormwater runoff. ParkUSA’s wastewater products protect the environment and limit pollutants from entering sewer systems including interceptors designed to neutralize and macerate foreign materials such as fats, oils, and greases in wastewater for hospitals, service stations, restaurants, and other commercial buildings. ParkUSA units are pre-assembled in a quality-controlled environment and are delivered ready to install to the job site, providing significant savings from onsite assembly.

 

 

Manufacturing and Product Development

 

Engineered Steel Pressure Pipe. Water infrastructure steel pipe manufacturing begins with the preparation of engineered drawings of each unique piece of pipe in a project. These drawings are prepared on our proprietary computer-aided design system and are used as blueprints to manufacture pipe. After the drawings are completed and approved, the manufacturing of engineered steel water pipe begins by feeding a steel coil continuously at a specified angle into a spiral weld mill which cold-forms the band into a tubular configuration with a spiral seam. Automated arc welders, positioned on both the inside and the outside of the tube, are used to weld the seam. The welded pipe is then cut at the specified length. After completion of the forming and welding phases, the finished cylinder is tested and inspected in accordance with project specifications, which may include 100% radiographic analysis of the weld seam. The cylinders are then coated and lined as specified. Possible coatings include polyurethane paint, polyethylene tape, epoxies, cement mortar, coal-tar enamel, and Pritec®. The inside of the pipe cylinders can be lined with cement mortar, polyurethane, or epoxies. Following coating and lining, certain pieces may be custom fabricated as required for the project. This process is performed at our on-site fabrication facilities. Completed pipes are evaluated for structural integrity with a hydrotester prior to shipment.

 

In October 2021, we introduced the InfraShield® Seismic Resilient Joint System, which builds upon the time-tested lap-welded bell-and-spigot joint design by adding a small projection in the steel pipe wall that effectively transfers tensile and compression forces associated with seismic events. The projection transfers force into the pipe wall without overstressing the lap-welded joint. Our patent-pending concept is based on the mechanical response of lap-welded joints and ensures that folding or stretching occurs on the spigot end of the pipe without reducing the structural strength of the joint or thinning the pipe wall.

 

Precast Infrastructure and Engineered Systems. Precast concrete products are manufactured using either a dry cast or wet cast concrete mix, depending on the size of the piece and the number of identical pieces to be manufactured. In the dry cast method, a concrete mix with low water content, known as zero-slump concrete, is poured into a mold and then densely compacted around the steel reinforcement using a variety of manufacturing methods. The concrete structure is immediately removed from the mold and allowed to cure in a high humidity environment to ensure proper hydration of the concrete. This method allows multiple pieces to be produced from the same mold each day and is most suitable for high volume, repetitive manufacturing. In the wet cast method, a concrete mix with relatively high water content is poured into a mold and allowed to cure in the mold, which can take from four to 16 hours. We also manufacture reinforced concrete pipe by producing a steel mesh cage, enclosing it in a form or mold, and then pouring concrete around it to produce the pipe.

 

In April 2021, we launched our new Perfect Pipe and Perfect Lined Manhole Systems that provide cutting-edge corrosion resistance for municipal sewer infrastructure. Perfect Pipe consists of reinforced concrete pipe with an integrated HDPE liner that is wet-cast in the pipe wall forming a corrosion-proof barrier. The pipe is ideal in direct bury, trenchless, high-loading, and high-ground water applications. Perfect Lined Manhole System integrates a monolithic base and a fiber reinforced plastic liner with HDPE protected riser sections and lid. The one-pour base eliminates cold joints and connects to nearly any plastic, clay, concrete, or fiberglass sewer pipe. These products can be used in conjunction with almost any existing system and the innovative joint design enables connection without field welds in most sizes. This translates to rapid installation and long-term savings.

 

Technology. Advances in technology help us produce high-quality products at competitive prices. We have invested in modern welding and inspection equipment to improve both productivity and product quality. We own interlocking pipe joining system technologies (Permalok®) that provide an alternate joint solution used for connecting steel pipes. In addition, we are licensed to manufacture a conventional reinforced concrete pipe with a HDPE liner to protect concrete pipe from corrosion, and a lined manhole system, which integrates a precast concrete monolithic base with a plastic liner that is chemically resistant to raw sewage gases. ParkUSA also holds several patents for commercially viable products.

 

To stay current with technological developments in the United States and abroad, we participate in trade shows, industry associations, research projects, and vendor trials of new products. Our staff includes some of the most tenured and experienced pipe manufacturing professionals in the nation.

 

Intellectual Property. We own various patents, registered trademarks and trade names and applications for, or licenses in respect of the same, that relate to our various products, including a number of innovative technologies relating to water infrastructure as well as engineered systems produced by ParkUSA. We also license intellectual property for use in certain of our products from unaffiliated third parties. We believe that our patents, trademarks, and trade names are adequately protected and that any expiration or other loss of one or more of our patents or other intellectual property rights would not have a material adverse effect upon our business, financial condition, or results of operations.

 

 

Quality Assurance. We have quality management systems in place that assure we are consistently providing products that meet or exceed customer and applicable regulatory requirements. All of our steel pipe manufacturing facilities’ quality management systems in the United States and Mexico are registered under a multi-site registration by the International Organization for Standardization (“ISO”). In addition to the ISO qualification, we are certified for specific steel pipe products or operations by the American Petroleum Institute. All of our steel pipe water transmission manufacturing facilities are certified by NSF International for cement lining. We are certified for specific precast and reinforced concrete products or operations by the National Precast Concrete Association and the National Ready Mixed Concrete Association. We also follow and make products to the following standards and specifications: American Institute of Steel Construction, American Society of Mechanical Engineers, American Welding Society, Caltrans, American Water Works Association, ASTM International, American Association of State Highway and Transportation Officials, and the ASCE. All of our steel pipe nondestructive evaluation technicians are qualified and certified to the guidelines of the American Society for Nondestructive Testing.

 

Our quality assurance/quality control department is responsible for monitoring and measuring the characteristics of our products. Inspection capabilities include, but are not limited to, visual, dimensional, liquid penetrant, magnetic particle, hydrostatic, ultrasonic, conventional, computed and real-time x-ray/radioscopic, base material tensile, yield and elongation, sand sieve analysis, coal-tar penetration, concrete compression, lining and coating dry film thickness, adhesion, concrete absorption, guided bend, charpy impact, hardness, metallurgical examinations, chemical analysis, spectrographic analysis, and finished product final inspection. Our products are not released for customer shipment until there is verification that all requirements have been met.

 

Product Liability. The manufacturing and use of our products involve a variety of risks. Certain losses may result, or be alleged to result, from defects in our products, thereby subjecting us to claims for damages including consequential damages. We generally warrant our products to be free of certain defects for one year. We maintain insurance coverage against potential product liability claims in amounts we believe to be adequate. Historically, product liability claims against us have not been material. However, there can be no assurance that product liability claims exceeding our insurance coverage will not be experienced in the future or that we will be able to maintain such insurance with adequate coverage.

 

Marketing

 

Engineered Steel Pressure Pipe. Our seven steel pipe manufacturing facilities in Oregon, California, Texas, West Virginia, Missouri, and Mexico allow us to efficiently serve customers throughout North America. The primary customers for our water infrastructure steel pipe products are installation contractors for projects funded by public water agencies. Our marketing strategy emphasizes early identification of potential water projects, promotion of specifications consistent with our capabilities and products, and close contact with the project designers and owners throughout the design phase. Our in-house sales force is comprised of sales representatives, engineers, and support personnel who work closely with public water agencies, contractors, and engineering firms, often years in advance of a project bid date. These relationships allow us to identify and evaluate planned projects at early stages, and pursue these projects by offering technical support and resources. After an agency completes a design, they publicize the upcoming bid for a water transmission project. We then obtain detailed plans and develop our estimate for the pipe portion of the project. We typically bid to installation contractors who include our bid in their proposals to public water agencies. A public water agency generally awards the entire project to the contractor with the lowest responsive bid.

 

Precast Infrastructure and Engineered Systems. Our six precast and reinforced concrete product manufacturing facilities in Texas and Utah allow us to efficiently serve customers throughout the Intermountain West region, Texas, and surrounding states. The primary customers for our water infrastructure precast and reinforced concrete products are installation contractors for various government, residential, and industrial projects. Our marketing strategy emphasizes our product quality and variety of offerings, competitive pricing, customer service, delivery, and technical expertise. Our in-house sales force is comprised of sales representatives, engineers, and support personnel who work closely with the customers to find the right product or solution for their specific need.

 

Competition

 

Engineered Steel Pressure Pipe. Most water infrastructure steel pipe projects are competitively bid and price competition is vigorous. Price competition may reduce the gross margin on sales, which may adversely affect overall profitability. Other competitive factors include timely delivery, customized specifications, and high freight costs which may limit the ability of manufacturers located in other market areas to compete with us. With water infrastructure steel pipe manufacturing facilities in Oregon, California, Texas, West Virginia, Missouri, and Mexico, we believe we can more effectively compete throughout North America. Our primary competitors in the western United States and southwestern Canada are Imperial Pipe and West Coast Pipe. East of the Rocky Mountains, our primary competitors are Thompson Pipe Group, American SpiralWeld Pipe, and Mid America Pipe Fabricating & Supply, LLC.

 

 

No assurance can be given that new or existing competitors will not build new facilities or expand capacity within our market areas. In 2019, a competitor broke ground on a new spiral welded steel pipe plant in Texas that became operational in the first half of 2021. New or expanded facilities or new competitors could have a material adverse effect on our ability to capture market share and maintain product pricing.

 

Precast Infrastructure and Engineered Systems. Our six precast and reinforced concrete product manufacturing facilities in Texas and Utah have several regional competitors which are primarily other precast concrete manufacturers in the respective states where we operate.

 

Raw Materials and Supplies

 

We have at least two suppliers for most of our raw materials. We believe our relationships with our suppliers are positive and do not expect that we will experience shortages of raw materials or components essential to our production processes or that we will be forced to seek alternative sources of supply. Any shortages of raw materials may result in production delays and costs, which could have a material adverse effect on our financial position, results of operations, or cash flows.

 

Engineered Steel Pressure Pipe. The main raw component in our steel pipe manufacturing process is steel. We have historically purchased hot rolled and galvanized steel coil from both domestic and foreign steel mills. Our suppliers include Big River Steel, United States Steel Corporation, ArcelorMittal, SSAB, Cleveland-Cliffs Inc., Nucor Corporation, and California Steel Industries. Steel is normally purchased after project award. Purchased steel represents a substantial portion of our cost of sales. The steel industry is highly cyclical in nature and steel prices fluctuate significantly, influenced by numerous factors beyond our control, including general economic conditions, availability of raw materials, energy costs, import duties, other trade restrictions, and currency exchange rates.

 

Precast Infrastructure and Engineered Systems. The main raw components in our precast and reinforced concrete products are cement, steel, and aggregate, which are widely available commodities. When possible, we source these raw materials from suppliers near our facilities. We also rely on certain suppliers of valves, pumps, piping, and certain custom fabricated items.

 

Seasonality

 

Our operations can be affected by seasonal variations and our results tend to be stronger in the second and third quarters of each year due to typically milder weather in the regions in which we operate. We are more likely to be impacted by severe weather events, such as hurricanes and excessive flash flooding, snow, ice, or frigid temperatures, which may cause temporary, short-term anomalies in our operational performance in certain localized geographic regions. However, these impacts usually have not been material to our operations as a whole. See Part I — Item 1A. “Risk Factors” of this 2021 Form 10‑K for further discussion.

 

Government Regulations

 

We are subject to various environmental, health, and employee safety laws and regulations. We believe we are in material compliance with these laws and regulations and do not currently believe that future compliance with such laws and regulations will have a material adverse effect on our capital expenditures, earnings, or competitive position. Nevertheless, we cannot guarantee that, in the future, we will not incur additional costs for compliance or that such costs will not be material.

 

In particular, we are subject to federal, state, local, and foreign environmental regulations, violations of which could lead to fines, penalties, other civil sanctions, or criminal sanctions. These environmental laws and regulations govern emissions to air; discharges to water; and the generation, handling, storage, transportation, treatment, and disposal of waste materials. We operate under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. We are subject to environmental laws requiring the investigation and cleanup of environmental contamination at properties we presently own or operate and at third-party disposal or treatment facilities to which these sites send or arrange to send hazardous waste. For example, we have been identified as a potentially responsible party at the Portland Harbor Superfund Site discussed in Note 13 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K. Estimating liabilities for environmental investigations and cleanup is complex and dependent upon a number of factors beyond our control which may change dramatically. We have no reserves for environmental investigation or cleanup, and we believe this is appropriate based on current information; however, we cannot provide assurance that our future environmental investigation and cleanup costs and liabilities will not result in a material expense.

 

 

Human Capital Resources

 

At Northwest Pipe Company, we believe that a commitment to developing our Human Capital Resources is necessary to maintain our position as a leader in our marketplace. Key issues of culture, health and safety, and diversity and inclusion are key priorities in our discussions of our environmental, social, and governance (ESG) impact.

 

Employees. As of December 31, 2021, we had 1,256 employees, the overwhelming majority of which were full-time. Approximately 71% of our workforce is employed on an hourly basis, while 29% is salaried. Approximately 5% of our employees are subject to a collective bargaining agreement with a single labor union. We consider our relations with our employees and the labor union to be good. The weighted-average tenure of our employees is 8 years of service.

 

We offer a wide array of company-paid benefits to our employees both in the United States and Mexico. Benefits may vary between countries due to customary local practices and statutory requirements, or due to an employee’s full or part time status, work location, position, or tenure; however, we believe that as a whole our compensation packages are competitive relative to others in our industry. We are committed to ensuring equal pay for equal work regardless of an employee’s age, gender identity, race, ethnicity, sexual orientation, or physical or mental ability.

 

Culture. Our key values are captured in the acronym ACT, which stands for Accountability, Commitment, and Teamwork, which we seek to demonstrate in our daily actions.

 

We are committed to promoting and supporting fundamental human rights at our facilities, and have adopted a Human Rights Policy. In that policy, we prohibit the use of child labor and all forms of forced labor, including prison labor, indentured labor, bonded labor, military labor, modern forms of slavery, and any form of human trafficking.

 

We believe that our employees are our best resources. In order to recognize and reward the continued commitment and teamwork of our employees, when positions become open at Northwest Pipe Company that may offer opportunities for advancement, we first try to fill those positions from within.

 

Health and Safety. Our goal is to send each employee home safe at the end of the day. As such, safety is at the central core of our culture, and is infused at every level of our organization. More than just policy and procedure, our safety program gives equal focus to the human side of safety, integrating coaching and mentoring efforts with compliance-driven approaches. By instilling a deep commitment to safety that reaches from our Chief Executive Officer to general laborers, we have achieved industry-leading safety performance. Over the last four years, our average total recordable incident rate was 2.48 and our average days away rate was 0.52, calculated in accordance with the Occupational Safety and Health Administration’s record keeping requirements. Each of our facilities utilize various interactions to achieve this performance, from a toolbox meeting to cover the day’s work and any particular safety concern, to monthly Safety Plan Meetings, ‘No Days Away’ Safety Awards, and our employee-favorite, Safety Day. Each year, a facility will close for one full day to cover safety training and updates. Outside vendors demonstrate the latest safety procedures and equipment in a hands-on, fun atmosphere.

 

As a manufacturer, we work hard to eliminate hazards associated with high-risk work and have measures in place that include programs for fall protection, heavy equipment operation, and lockout/tagout. We also focus on personal safety issues, such as complacency and fatigue. We seek to keep our employees healthy during the COVID‑19 pandemic by taking proactive and precautionary steps to ensure the safety of our employees including:

 

 

frequent cleaning and disinfection of workspaces;

 

providing personal protective equipment;

 

instituting social distancing measures;

 

staggering employee schedules;

 

offering remote working environments for certain employees;

 

encouraging vaccination; and

 

guiding employees on preemptive measures as outlined by the CDC.

 

 

Diversity and Inclusion. Diversity and inclusion are integral to our employee experience, and we are proud of our diverse workforce. Companies that are diverse in age, gender identity, race, sexual orientation, physical or mental ability, ethnicity, and perspective are shown to be more resilient. We believe that diversity and inclusion are important in building the most effective, high-performing teams as part of our ACT culture. As of December 31, 2021, 46% of our employees in the United States self-identified as belonging to one or more of the following underrepresented racial/ethnic groups: American Indian or Alaskan Native, African American/Black, Asian, Hispanic or Latino, and Native Hawaiian or other Pacific Islander. As of December 31, 2021, 11% of our employees self-identified as female.

 

Our goal is to build a skilled and strong workforce that is not only diverse in race and ethnicity, but also diverse in age, gender identity, sexual orientation, physical or mental ability, and perspective. Our Affirmative Action Program strives to hire, recruit, train, and promote employees in job classifications without regard to race, color, sex, sexual orientation, gender identity, religion, national origin, disability, or veteran’s status. To support these efforts, the Affirmative Action Plans for our facilities in the United States are reviewed annually by a third party consultant, establishing annual hiring goals for women, minorities, veterans, and individuals with disabilities.

 

Ethics and Compliance. We take pride in the high standards of conduct that identifies us as a company. We have controls in place relating to compliance with our Code of Business Conduct and Ethics (“Code”), including a requirement for employees to review and understand the requirements of our Code, as well as an established whistleblower hotline and related procedures. Our Code, along with other key governance policies, is published on our website.

 

We conduct training on our Code upon hire, and in regular intervals during the employee’s life cycle with us. The most recent ethics training for all salaried employees was conducted in the fourth quarter of 2019, and our next ethics training is scheduled for the fourth quarter of 2022.

 

Information About Our Executive Officers

 

Information about our executive officers is set forth under the caption “Directors, Executive Officers, Promoters and Control Persons” in Part III — Item 10. “Directors, Executive Officers and Corporate Governance” of this 2021 Form 10‑K and is incorporated herein by reference.

 

Available Information

 

Our Internet website address is www.nwpipe.com. Our Annual Report on Form 10‑K, Quarterly Reports on Form 10‑Q, Current Reports on Form 8‑K, and amendments to those reports filed or furnished pursuant to Section 13(a) or 15(d) of the Exchange Act are available free of charge through our website as soon as reasonably practicable after we electronically file such material with, or furnish it to, the SEC. All statements made in any of our securities filings, including all forward-looking statements or information, are made as of the date of the document in which the statement is included, and we do not assume or undertake any obligation to update any of those statements or documents unless we are required to do so by law. Our website and the information contained therein or connected thereto are not incorporated into this 2021 Form 10‑K.

 

Additionally, the SEC maintains an Internet site that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the SEC at www.sec.gov.

 

 

Item 1A.

Risk Factors

 

You should carefully consider the following factors, together with all the other information included in this 2021 Form 10K, in evaluating our company and our business. If any of the following risks actually occur, our business, financial condition, results of operations, or cash flows could be materially and adversely affected, and the value of our stock could decline. The risks and uncertainties described below are those that we currently believe may materially affect our company. Additional risks and uncertainties not presently known to us or that we currently deem immaterial also may impair our business operations. As such, you should not consider this list to be a complete statement of all potential risks or uncertainties.

 

 

Risk Factor Summary

 

This risk factor summary contains a high-level overview of certain of the principal factors and uncertainties that make an investment in our securities risky, including risks related to our industry and end markets, our business, our supply chain and production process, our financial condition, our internal control over financial reporting, and our common stock. The following summary is not complete and should be read together with the more detailed discussion of these and the other factors and uncertainties that follows before making an investment decision regarding our securities. The principal factors and uncertainties that makes an investment in our securities risky include the following.

 

Risks Related to Our Industry and End Markets

 

 

Project delays in public water transmission projects could adversely affect our business;

 

A downturn in government spending related to public water transmission projects could adversely affect our business;

 

Our Engineered Steel Pressure Pipe segment faces an overcapacity situation due to recent capacity expansions as well as the potential for increased competition from substitute products from manufacturers of concrete pressure pipe, ductile iron, polyvinyl chloride (“PVC”), and high-density polyethylene pipe;

 

The success of our business is affected by general and local economic conditions, and our business may be adversely affected by an economic slowdown or recession, or an inability of our pricing to keep pace with inflation of input costs; and

 

We are subject to stringent environmental, health, and safety laws, which may require us to incur substantial compliance and remediation costs, thereby reducing our profits.

 

Risks Related to Our Business

 

 

We face risks in connection with the integration of ParkUSA, Geneva, and future potential acquisitions and divestitures;

 

Our quarterly results of operations are subject to significant fluctuation;

 

Operating problems in our business could adversely affect our business, financial position, results of operations, or cash flows;

 

We may be unable to develop or successfully market new products or our products might not obtain necessary approvals or achieve market acceptance, which could adversely affect our growth;

 

Our recognition of revenue over time includes estimates;

 

We have a foreign operation which exposes us to the risks of doing business abroad;

 

Our Engineered Steel Pressure Pipe backlog is subject to reduction and cancelation;

 

The COVID‑19 pandemic may have an adverse impact on our business, results of operations, financial position, and cash flows; and

 

The conflict in Ukraine may have an adverse impact on our business, results of operations, financial position, and cash flows.

 

Risks Related to Our Supply Chain and Production Process

 

 

Our business may be adversely impacted by work stoppages, staffing shortages, and other labor matters;

 

Fluctuations in steel prices and availability may affect our future results of operations;

 

We may be subject to claims for damages for defective products, which could adversely affect our business, financial position, results of operations, or cash flows;

 

We may not be able to recover costs and damages from vendors that supply defective materials; and

 

Our information technology systems can be negatively affected by cybersecurity threats.

 

Risks Related to Our Financial Condition

 

 

We will need to substantially increase working capital if market conditions and customer order levels continue to grow;

 

Our debt obligations could have a material adverse effect on our business, financial condition, results of operations, or cash flows;

  Our variable rate indebtedness subjects us to interest rate risk, which could cause our debt service obligations to increase significantly;
 

Our failure to comply with covenants in our debt agreements could result in our indebtedness being immediately due and payable, which could have a material adverse effect on our business, financial condition, results of operations, or cash flows;

 

Disruptions in the financial markets and a general economic slowdown could cause us to be unable to obtain financing and expose us to risks related to the overall macro-economic environment, which could have a material adverse effect on our business, financial condition, results of operations, or cash flows; and

 

 

 

Changes affecting the availability of the London Interbank Offered Rate (“LIBOR”) may have consequences for us that cannot yet reasonably be predicted.

 

Risks Related to Our Internal Control Over Financial Reporting

 

 

Material weaknesses in our internal controls could have a material adverse effect on our business; and

 

Failure to implement internal controls at acquired companies could increase risk of material weaknesses.

 

Risks Related to Our Common Stock

 

 

The relatively low trading volume of our common stock may limit your ability to sell your shares;

 

The market price of our common stock could be subject to significant fluctuations; and

 

Certain provisions of our governing documents and Oregon law could discourage potential acquisition proposals.

 

Risks Related to Our Industry and End Markets

 

Project delays in public water transmission projects could adversely affect our business. The public water agencies constructing water transmission projects generally announce the projects well in advance of the bidding and construction process. It is not unusual for SPP projects to be delayed and rescheduled. Projects are delayed and rescheduled for a number of reasons, including changes in project priorities, difficulties in complying with environmental and other government regulations, changes in ability to obtain adequate project funding, and additional time required to acquire rights-of-way or property rights. Delays in public water transmission projects may occur with insufficient notice to allow us to replace those projects in our manufacturing schedules. As a result, our business, financial position, results of operations, or cash flows may be adversely affected by unplanned downtime.

 

A downturn in government spending related to public water transmission projects could adversely affect our business. Our business is primarily dependent upon spending on public water transmission projects, including water infrastructure upgrades, repairs, and replacement and new water infrastructure spending, which in turn depends on, among other things:

 

 

the need for new or replacement infrastructure;

 

the priorities placed on various projects by governmental entities;

 

federal, state, and local government spending levels, including budgetary constraints related to capital projects and the ability to obtain financing; and

 

the ability of governmental entities to obtain environmental approvals, right-of-way permits, and other required approvals and permits.

 

Decreases in the number of, or government funding of, public water transmission projects could adversely affect our business, financial position, results of operations, or cash flows.

 

Our Engineered Steel Pressure Pipe segment faces an overcapacity situation due to recent capacity expansions as well as the potential for increased competition from substitute products from manufacturers of concrete pressure pipe, ductile iron, polyvinyl chloride, and high-density polyethylene pipe. Most SPP projects are competitively bid and price competition can be vigorous. In a market that already has overcapacity issues, recent increases in capacity have negatively affected our sales, gross margins, and overall profitability. Other competitive factors include timely delivery, ability to meet customized specifications, and high freight costs. Although our manufacturing facilities in Oregon, California, Texas, West Virginia, Utah, Missouri, and Mexico allow us to compete throughout North America, we cannot assure you that new or existing competitors will not build new facilities or expand capacity within our market areas. In 2019, a competitor broke ground on a new spiral welded steel pipe plant in Texas that became operational in the first half of 2021. New or expanded facilities or new competitors could have a material adverse effect on our market share, product pricing, sales, gross margins, and overall profitability in our business.

 

Water transmission pipe is manufactured generally from steel, concrete, ductile iron, PVC, or HDPE. Each pipe material has advantages and disadvantages. Steel and concrete are more common materials for larger-diameter water transmission pipelines because ductile iron pipe generally is limited in diameter due to the manufacturing process. The public agencies and engineers who determine the specifications for water transmission projects analyze these pipe materials for suitability for each project. Individual project circumstances normally dictate the preferred material. If we experience cost increases in raw materials, labor, and overhead specific to our industry or the location of our facilities, while competing products or companies do not experience similar changes, we could experience an adverse change in the demand, price, and profitability of our products, which could have a material adverse effect on our business, financial position, results of operations, or cash flows.

 

 

The success of our business is affected by general and local economic conditions, and our business may be adversely affected by an economic slowdown or recession, or an inability of our pricing to keep pace with inflation of input costs. Periods of economic slowdown or recession in the United States, or the public perception that one may occur, have and could further decrease the demand for our products, affect the price of our products, and adversely impact our business. We have been impacted in the past by the general slowing of the economy, and the economic slowdown has had an adverse impact on our business, financial position, results of operations, or cash flows. Alternatively, our business may be adversely impacted by high inflation of input costs.

 

We currently conduct a significant portion of our precast and reinforced concrete products business in Texas and Utah, which we estimate represented approximately 23% and 73%, respectively, of Precast net sales for the year ended December 31, 2021. Local economic conditions depend on a variety of factors, including national economic conditions, local and state budgets, infrastructure spending, and the impact of federal cutbacks. Any decrease in construction activity in Texas or Utah could have a material adverse effect on our business, financial condition, and results of operations.

 

We are subject to stringent environmental, health, and safety laws, which may require us to incur substantial compliance and remediation costs, thereby reducing our profits. We are subject to many federal, state, local, and foreign environmental, health, and safety laws and regulations, particularly with respect to the use, handling, treatment, storage, discharge, and disposal of substances and hazardous wastes used or generated in our manufacturing processes. Compliance with these laws and regulations is a significant factor in our business. We have incurred, and expect to continue to incur, significant expenditures to comply with applicable environmental laws and regulations. Our failure to comply with applicable environmental laws and regulations and permit requirements could result in civil or criminal fines or penalties or enforcement actions, including regulatory or judicial orders enjoining or curtailing operations or requiring corrective measures, installation of pollution control equipment, or remedial actions.

 

We are currently, and may in the future be, required to incur costs relating to the environmental assessment or environmental remediation of our property, and for addressing environmental conditions, including, but not limited to, the issues associated with our Portland, Oregon facility as discussed in Note 13 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K. Some environmental laws and regulations impose liability and responsibility on present and former owners, operators, or users of facilities and sites for contamination at such facilities and sites without regard to causation or knowledge of contamination. Consequently, we cannot assure you that existing or future circumstances, the development of new facts, or the failure of third parties to address contamination at current or former facilities or properties will not require significant expenditures by us.

 

We expect to continue to be subject to increasingly stringent environmental, health, and safety laws and regulations. It is difficult to predict the future interpretation and development of environmental, health, and safety laws and regulations or their impact on our future earnings and operations. We anticipate that compliance with these laws and regulations will continue to require capital expenditures and operating costs. Any increase in these costs, or unanticipated liabilities arising, for example, out of discovery of previously unknown conditions or more aggressive enforcement actions, could adversely affect our results of operations, and there is no assurance that they will not have a material adverse effect on our business, financial position, results of operations, or cash flows.

 

Risks Related to Our Business

 

We face risks in connection with the integration of ParkUSA, Geneva, and future potential acquisitions and divestitures. Acquiring businesses that expand and/or complement our operations has been an important element of our business strategy, and we continue to evaluate potential acquisitions that may expand and/or complement our business. We may not be able to successfully identify attractive acquisition candidates or negotiate favorable terms in the future. Furthermore, our ability to effectively integrate any future acquisitions will depend on, among other things, the adequacy of our implementation plans, the ability of our management to oversee and operate effectively the combined operations, and our ability to achieve desired operational efficiencies. Acquired businesses may have liabilities, adverse operating issues, or other matters of concern arise following the acquisition that we fail to discover through due diligence prior to the acquisition. Further, our acquisition targets may not have as robust internal controls over financial reporting as would be expected of a public company. Acquisitions may also result in the recording of goodwill and other intangible assets that are subject to potential impairment in the future that could harm our financial results. We may also consider other alternatives for our business in order to strategically position our business and continue to compete in our markets, which may include joint ventures and/or divestitures. Our failure to successfully integrate the operations of any businesses that we may acquire in the future or our inability to attract a business partner in which to enter into a joint venture or a buyer willing to purchase our assets may adversely affect our business, financial position, results of operations, or cash flows.

 

 

We acquired ParkUSA on October 5, 2021 and Geneva on January 31, 2020. The success of these acquisitions depends, in part, on our ability to successfully integrate these businesses with our current operations and to realize the anticipated benefits, including synergies, from the acquisitions on a timely basis. It may take longer than expected to realize these anticipated benefits and they may ultimately be smaller than we expect. There are a number of challenges and risks involved in our ability to successfully integrate ParkUSA and Geneva with our current business and to realize the anticipated benefits of these acquisitions, including all of the risks identified in the previous paragraph. Any of these factors could have a material adverse effect on our business, financial condition, results of operations, or cash flows.

 

Our quarterly results of operations are subject to significant fluctuation. Our net sales and operating results may fluctuate significantly from quarter to quarter due to a number of factors, including:

 

 

the commencement, completion, or termination of contracts during any particular quarter;

 

unplanned down time due to project delays or mechanical failure;

 

underutilized capacity or factory productivity;

 

adverse weather conditions;

 

fluctuations in the cost of steel and other raw materials; and

 

competitive pressures.

 

Results of operations in any period are not indicative of results for any future period, and comparisons between any two periods may not be meaningful.

 

Operating problems in our business could adversely affect our business, financial position, results of operations, or cash flows. Our manufacturing operations are subject to typical hazards and risks relating to the manufacture of similar products such as:

 

 

explosions, fires, inclement weather, and natural disasters;

 

mechanical failure;

 

unscheduled downtime;

 

labor difficulties or shortages;

 

loss of process control and quality;

 

disruptions to supply;

 

raw materials quality defects;

 

service provider delays or failures;

 

transportation delays or failures;

 

an inability to obtain or maintain required licenses or permits; and

 

environmental hazards such as chemical spills, discharges, or releases of toxic or hazardous substances or gases into the environment or workplace.

 

The occurrence of any of these operating problems at our facilities may have a material adverse effect on the productivity and profitability of a particular manufacturing facility or on our operations as a whole, during and after the period of these operating difficulties. For example, as discussed in Note 13 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K, on April 21, 2019, there was an accidental fire at our Saginaw, Texas facility which resulted in damage to the coatings building. There were no injuries, but the ability to coat at this facility was impaired while we repaired the damage. The operating problems listed above may also cause personal injury and loss of life, severe damage to or destruction of property and equipment, and environmental damage. In addition, individuals could seek damages for alleged personal injury or property damage. Furthermore, we could be subject to present and future claims with respect to workplace injury, exposure to hazardous materials, workers’ compensation, and other matters. Although we maintain property and casualty insurance of the types and in the amounts that we believe are customary for our industries, we cannot assure you that our insurance coverage will be adequate for liability that may be ultimately incurred or that such coverage will continue to be available to us on commercially reasonable terms. Any claims that result in liability exceeding our insurance coverage could have an adverse effect on our business, financial position, results of operations, or cash flows.

 

 

We may be unable to develop or successfully market new products or our products might not obtain necessary approvals or achieve market acceptance, which could adversely affect our growth. We will continue to actively seek to develop new products and to expand our existing products into new markets, but we cannot assure you that we will be successful in these efforts. If we are unsuccessful in developing and marketing new products, expanding into new markets, or we do not obtain or maintain requisite approvals for our products, the demand for our products could be adversely affected, which could adversely affect our business, financial position, results of operations, or cash flows.

 

Our recognition of revenue over time includes estimates. SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses, and is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Estimated total costs of each contract are reviewed on a monthly basis by project management and operations personnel for all active projects. All cost revisions that result in a material change in gross profit are reviewed by senior management personnel.

 

Significant judgment is required in estimating total costs and measuring the progress of project completion, as well as whether a loss is expected to be incurred on the contract. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Due to the variability of events affecting our estimates which have a material impact on our contract accounting, actual results could differ from those estimates, which could adversely affect our financial position, results of operations, or cash flows.

 

We have a foreign operation which exposes us to the risks of doing business abroad. Our facility in San Luis Río Colorado, Mexico primarily exports products to the United States. We may operate in additional countries in the future. Any material changes in the quotas, regulations, tariffs, or duties on imports imposed by the United States government and our agencies, or on exports imposed by these foreign governments and their agencies could adversely affect our foreign operations.

 

We also sell some of our products internationally, most often into Canada. Our foreign activities are also subject to various other risks of doing business in a foreign country, including:

 

 

currency fluctuations;

 

the imposition of duties, tariffs, and other trade barriers;

 

transportation delays and interruptions;

 

political, social, and economic instability and disruptions;

 

government embargoes or foreign trade restrictions;

 

import and export controls;

 

labor unrest and current and changing regulatory environments;

 

limitations on our ability to enforce legal rights and remedies; and

 

potentially adverse tax consequences.

 

No assurance can be given that our operations may not be adversely affected in the future. Any of these events could have an adverse effect on our operations in the future by reducing the demand for our products and services, decreasing the prices at which we can sell our products, or increasing costs such that there could be an adverse effect on our business, financial position, results of operations, or cash flows. We cannot assure you that we will continue to operate in compliance with applicable customs, currency exchange control regulations, transfer pricing regulations, or any other laws or regulations to which we may be subject, or that any such regulations or laws will not be modified. Any failure by us to comply with any such applicable regulations or laws, or any changes in any such regulations or laws could have a material adverse effect on our business, financial position, results of operations, or cash flows.

 

Our Engineered Steel Pressure Pipe backlog is subject to reduction and cancelation. Backlog, which represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time, was approximately $183 million as of December 31, 2021. Our backlog is subject to fluctuations; moreover, cancelations of purchase orders, change orders on contracts, or reductions of product quantities could materially reduce our backlog and, consequently, future revenues. Our failure to replace canceled or reduced backlog could result in lower revenues, which could adversely affect our business, financial position, results of operations, or cash flows.

 

 

The COVID19 pandemic may have an adverse impact on our business, results of operations, financial position, and cash flows. The impacts of the COVID‑19 pandemic on global and domestic economic conditions, including the impacts of labor and raw material shortages, the long-term potential to reduce or delay funding of municipal projects, and the continued disruptions to and volatility in the financial markets remain unknown. We continue to monitor the impact of the COVID‑19 pandemic on all aspects of our business.

 

We have taken proactive and precautionary steps to ensure the safety of our employees, customers, and suppliers, including frequent cleaning and disinfection of workspaces, providing personal protective equipment, instituting social distancing measures, staggering employee schedules, offering remote working environments for certain employees, encouraging vaccination, and guiding employees on preemptive measures as outlined by the CDC. These measures may reduce the ability of our employees to operate at the same level of productivity and efficiency.

 

While the COVID‑19 pandemic did cause indirect financial impacts associated with project bidding, execution, and delivery delays during the year ended December 31, 2021, we are unable to predict the ultimate impact that the COVID‑19 pandemic may have on our business, future results of operations, financial position, or cash flows. The extent to which our operations may be impacted by the COVID‑19 pandemic will depend largely on future developments, which are highly uncertain and cannot be accurately predicted, including new information which may emerge concerning the severity of the pandemic and actions by government authorities to contain the pandemic or treat its impact.

 

Beginning in the second quarter of 2021, there has been a trend in many parts of the world of increasing availability and administration of vaccines against COVID‑19, as well as an easing of restrictions on individual, business, and government activities. The easing of restrictions and the existence of variant strains of COVID‑19 may lead to a rise in infections, which could result in the reinstatement of some of the restrictions previously in place.

 

The impact of the COVID‑19 pandemic may also exacerbate other risks discussed in Part I – Item 1A. “Risk Factors” in this 2021 Form 10‑K, any of which could have a material effect on us. This situation is changing rapidly and additional impacts may arise that we are not aware of currently.

 

The conflict in the Ukraine may have an adverse impact on our business, results of operations, financial position, and cash flows. On February 24, 2022, Russia invaded the Ukraine. The invasion received widespread international condemnation and many countries, including the United States, imposed new sanctions. While the situation remains highly fluid and the outlook is subject to extraordinary uncertainty, the crisis has already resulted in economic consequences. Energy and commodity prices have surged, adding to inflationary pressures from supply chain disruptions and the rebound from the COVID‑19 pandemic. The sanctions on Russia have had a substantial impact on the global economy and financial markets, with significant spillovers to other countries. Should the conflict escalate, the economic damage may increase.

 

We continue to monitor the impact of the crisis in the Ukraine on all aspects of our business, including how it will impact our employees, customers, supply chain, and distribution network. Impacts include financial and commodity volatility in raw material and other input costs, as well as volatility in the financial markets. The severity of impacts on the global economy and our business, results of operations, financial position and cash flows remain unknown.

 

Risks Related to Our Supply Chain and Production Process

 

Our business may be adversely impacted by work stoppages, staffing shortages, and other labor matters. A work stoppage or other limitation on production could occur at our facilities or our suppliers’ facilities for any number of reasons, including as a result of absenteeism, public health issues (i.e. COVID‑19), labor issues, including disputes under our existing collective bargaining agreement or in connection with negotiation of new collective bargaining agreements, or for other reasons. Current nationwide staffing shortages have impacted our ability to attract both skilled and unskilled workers needed for our manufacturing operations, and the inability to fully staff any one of our facilities may impact our ability to work on projects and, as a result, could have a material adverse effect on our business, financial position, results of operations, or cash flows.

 

As of December 31, 2021, we had approximately 60 employees that were represented by a single labor union. Although we believe that our relations with our employees and the labor union are good, no assurances can be made that we will not experience conflicts with the labor union, other groups representing employees, or our employees in general, especially in the context of any future negotiations with the labor union. We can also make no assurance that future negotiations with the labor union will not result in a significant increase in the cost of labor.

 

 

Additionally, the employees of some of our customers are unionized. Any strikes, work stoppages, or other labor matters experienced by our customers may impact our ability to work on projects and, as a result, have an adverse effect on our business, financial position, results of operations, or cash flows.

 

Fluctuations in steel prices and availability may affect our future results of operations. Purchased steel represents a substantial portion of SPP cost of sales. The steel industry is highly cyclical in nature, and at times, pricing can be highly volatile due to a number of factors beyond our control, including general economic conditions, import duties, other trade restrictions, and currency exchange rates. Over the past three years, steel prices have fluctuated significantly. Our average cost for a ton of steel was approximately $1,291 per ton in 2021, $655 per ton in 2020, and $803 per ton in 2019. In 2021, our monthly average steel purchasing costs ranged from a high of approximately $1,975 per ton to a low of approximately $656 per ton. This volatility can significantly affect our gross profit.

 

Although we seek to recover increases in steel prices through price increases in our products, we have not always been successful. Any increase in steel prices that is not offset by an increase in our prices could have an adverse effect on our business, financial position, results of operations, or cash flows. In addition, if we are unable to acquire timely steel supplies, we may need to decline bid and order opportunities, which could also have an adverse effect on our business, financial position, results of operations, or cash flows.

 

We may be subject to claims for damages for defective products, which could adversely affect our business, financial position, results of operations, or cash flows. We warrant our products to be free of certain defects. We have, from time to time, had claims alleging defects in our products. We cannot assure you that we will not experience material product liability losses in the future or that we will not incur significant costs to defend such claims. While we currently have product liability insurance, we cannot assure you that our product liability insurance coverage will be adequate for liabilities that may be incurred in the future or that such coverage will continue to be available to us on commercially reasonable terms. Any claims relating to defective products that result in liabilities exceeding our insurance coverage could have an adverse effect on our business, financial position, results of operations, or cash flows.

 

We may not be able to recover costs and damages from vendors that supply defective materials. We may receive defective materials from our vendors that are incorporated into our products during the manufacturing process. The cost to repair, remake, or replace defective products could be greater than the amount that can be recovered from the vendor. Such excess costs could have an adverse effect on our business, financial position, results of operations, or cash flows.

 

Our information technology systems can be negatively affected by cybersecurity threats. Increased global information technology security requirements, vulnerabilities, threats, and a rise in sophisticated and targeted computer crime pose a risk to the security of our systems, networks, and the confidentiality, availability, and integrity of our data. Despite our efforts to protect sensitive information and confidential and personal data, our facilities and systems and those of our third-party service providers may be vulnerable to security breaches. This could lead to disclosure, modification, or destruction of proprietary, employee, and other key information and operational disruptions, which in turn could adversely affect our reputation, competitiveness, and results of operations. To the extent that any disruption or security breach results in a loss or damage to our data, or an inappropriate disclosure of confidential or protected personal information, it could cause significant damage to our reputation, affect our relationships with our customers, suppliers, and employees, lead to claims against us, and ultimately harm our business. Additionally, we may be required to incur significant costs to protect against damage caused by these disruptions or security breaches in the future. Any of the foregoing factors could have an adverse effect on our business, financial position, results of operations, or cash flows.

 

Risks Related to Our Financial Condition

 

We will need to substantially increase working capital if market conditions and customer order levels continue to grow. If market conditions and SPP customer order levels were to dramatically increase, we would have to increase our working capital substantially, as it takes several months for new orders to be translated into cash receipts. In general, revolving loan borrowings and letters of credit under the Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021 (together, the “Amended Credit Agreement”), are limited to the aggregate amount of $125 million. As of December 31, 2021 under the Amended Credit Agreement, we had $86.8 million of outstanding revolving loan borrowings, $1.6 million of outstanding letters of credit, and additional borrowing capacity of approximately $37 million. We may not have sufficient availability under the Amended Credit Agreement to borrow the amounts we need, and other opportunities to borrow additional funds or raise capital in the equity markets may be limited or nonexistent. A shortage in the availability of working capital could have a material adverse effect on our business, financial condition, results of operations, or cash flows.

 

 

Our debt obligations could have a material adverse effect on our business, financial condition, results of operations, or cash flows. We have financed our operations through cash flows from operations, available borrowings, and other financing arrangements. As of December 31, 2021, we had $86.8 million of outstanding revolving loan borrowings, $98.4 million of operating lease liabilities, and $2.2 million of finance lease liabilities. We could incur additional revolving loan borrowings under the Amended Credit Agreement in the future to finance increases in working capital, finance mergers, acquisitions, and capital expenditures, fund negative operating cash flows, or for other corporate purposes. These borrowings could become significant in the future.

 

Our current and future debt and debt service obligations could:

 

 

limit our ability to obtain additional financing for working capital or other purposes in the future;

 

reduce the amount of funds available to finance our operations, capital expenditures, and other activities;

 

increase our vulnerability to economic downturns, illiquid capital markets, and adverse industry conditions;

 

limit our flexibility in responding to changing business and economic conditions, including increased competition;

 

place us at a disadvantage when compared to our competitors that have less debt; and

 

with respect to our borrowings that bear interest at variable rates, cause us to be vulnerable to increases in interest rates.

 

Our ability to make scheduled payments on our current and future debt will depend on our future operating performance and cash flows, which are subject to prevailing economic conditions, prevailing interest rate levels, and other financial, competitive, and business factors, many of which are beyond our control. Our inability to make scheduled payments on our debt or any of the foregoing factors could have a material adverse effect on our business, financial condition, results of operations, or cash flows.

 

To the extent we have not hedged against rising interest rates, an increase in the applicable benchmark interest rates would increase our cost of servicing our indebtedness and could have a material adverse effect on our business, financial condition, results of operations, or cash flows.

 

Our variable rate indebtedness subjects us to interest rate risk, which could cause our debt service obligations to increase significantly. Borrowings under the Amended Credit Agreement are, and additional borrowings in the future may be, at variable rates of interest that expose us to interest rate risk. If interest rates increase, our debt service obligations on the variable rate indebtedness will increase even though the amount borrowed will remain the same, and our net income and cash flows, including cash available for servicing our indebtedness, will correspondingly decrease. We may in the future enter into interest rate swaps for our variable rate debt whereby we exchange floating for fixed rate interest payments in order to reduce exposure to interest rate volatility. However, any interest rate swaps into which we enter may not fully mitigate our interest rate risk.

 

Our failure to comply with covenants in our debt agreements could result in our indebtedness being immediately due and payable, which could have a material adverse effect on our business, financial condition, results of operations, or cash flows. The agreements governing our debt include covenants that impose certain requirements with respect to our financial condition and results of operations and general business activities. These covenants place restrictions on, among other things, our ability to incur certain additional debt and to create liens or other encumbrances on assets. In addition, our obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of our and our subsidiaries’ assets.

 

Our ability to comply with the covenants under our debt instruments in the future is uncertain and will be affected by our results of operations and financial condition as well as other events and circumstances beyond our control. If market and other economic conditions deteriorate, our ability to comply with these covenants may be impaired. A failure to comply with the requirements of these covenants, if not waived or cured, could permit acceleration of the related debt. If any of our debt is accelerated, we cannot assure you that we would have sufficient assets to repay such debt or that we would be able to refinance such debt on commercially reasonable terms or at all. The acceleration of a significant portion of our current and future debt could have a material adverse effect on our business, financial condition, results of operations, or cash flows.

 

Disruptions in the financial markets and a general economic slowdown could cause us to be unable to obtain financing and expose us to risks related to the overall macro-economic environment, which could have a material adverse effect on our business, financial condition, results of operations, or cash flows. The United States equity and credit markets have experienced significant price volatility, dislocations, and liquidity disruptions, which have caused market prices of many equities to fluctuate substantially and the spreads on prospective debt financings to widen considerably. These circumstances have materially impacted liquidity in the financial markets, making terms for certain financings less attractive, and in some cases have resulted in the unavailability of financing, even for companies who are otherwise qualified to obtain financing. These events may make it less likely that we will be able to obtain additional financing and also may make it more difficult or prohibitively costly for us to raise capital through the issuance of debt or equity securities, which may prove necessary to execute our growth strategies.

 

 

Changes affecting the availability of LIBOR may have consequences for us that cannot yet reasonably be predicted. Under the Amended Credit Agreement, our variable rate indebtedness uses daily one month LIBOR as a benchmark for establishing the rate. In March 2021, ICE Benchmarks Administration and the United Kingdom’s Financial Conduct Authority announced that daily one month LIBOR rates will no longer be provided after June 30, 2023. In the United States, the Alternative Reference Rates Committee has formally recommended the secured overnight financing rate (“SOFR”) as an alternative to LIBOR. The Amended Credit Agreement provides a mechanism for determining an alternative benchmark rate to LIBOR, which may include SOFR. It is not presently known whether SOFR or any other alternative reference rates that have been proposed will attain market acceptance as replacements of LIBOR. As such, the transition to alternatives to LIBOR could be modestly disruptive to the credit markets. While we do not believe that the impact would be material to us, the consequences of these developments with respect to LIBOR cannot be entirely predicted and span multiple future periods, and could result in an increase in the cost of our variable rate debt which could have a material adverse effect on our financial position and results of operations.

 

Risks Related to Our Internal Control Over Financial Reporting

 

Material weaknesses in our internal controls could have a material adverse effect on our business. If in the future we identify one or more material weaknesses in our internal control over financial reporting, we will be unable to assert that our internal control over financial reporting is effective. Furthermore, we cannot assure you that there will not be material weaknesses or significant deficiencies in our internal control over financial reporting in the future. Any failure to maintain internal control over financial reporting could severely inhibit our ability to accurately report our financial condition, results of operations or cash flows. If our independent registered public accounting firm determines we have a material weakness or significant deficiency in our internal control over financial reporting, we could lose investor confidence in the accuracy and completeness of our financial reports, the market price of our common stock could decline, and we could be subject to sanctions or investigations by Nasdaq, the SEC, or other regulatory authorities. Failure to remedy any material weakness in our internal control over financial reporting, or to implement or maintain other effective control systems required of public companies, could also restrict our future access to the capital markets.

 

Failure to implement internal controls at acquired companies could increase risk of material weaknesses. The Sarbanes-Oxley Act of 2002 (“Sarbanes-Oxley Act”) requires our management to assess the effectiveness of the internal control over financial reporting for the companies we acquire. In order to comply with the Sarbanes-Oxley Act, we will need to implement or enhance internal control over financial reporting at any company we acquire and evaluate the internal controls. We do not conduct a formal evaluation of companies’ internal control over financial reporting prior to an acquisition. We may experience difficulties in implementing effective internal controls as part of our integration of acquisitions from private companies, as they may have limited experience complying with the Sarbanes-Oxley Act. We may be required to hire or engage additional resources and incur substantial costs to implement the necessary new internal controls should we acquire any companies. Any failure to implement required internal controls, or difficulties encountered in their implementation, could harm our operating results or increase the risk of material weaknesses in internal controls, which could, if not remediated, adversely affect our ability to report our financial condition and results of operations in a timely and accurate manner.

 

Risks Related to Our Common Stock

 

The relatively low trading volume of our common stock may limit your ability to sell your shares. Although our shares of common stock are listed on the Nasdaq Global Select Market (“Nasdaq”), we have historically experienced a relatively low trading volume. If we have a low trading volume in the future, holders of our shares may have difficulty selling a large number of shares of our common stock in the manner or at a price that might otherwise be attainable.

 

The market price of our common stock could be subject to significant fluctuations. The market price of our common stock has experienced, and may continue to experience, significant volatility. Among the factors that could affect our stock price are:

 

 

our operating and financial performance and prospects;

 

quarterly variations in the rate of growth of our financial indicators, such as earnings per share, net income, and net sales;

 

changes in revenue or earnings estimates or publication of research reports by analysts;

 

loss of any member of our senior management team;

 

speculation in the press or investment community;

 

strategic actions by us or our competitors, such as acquisitions or restructuring;

 

sales of our common stock by shareholders;

 

relatively low trading volume;

 

general market conditions and market expectations for our industry and the financial health of our customers; and

 

domestic and international economic, legal, and regulatory factors unrelated to our performance.

 

 

The stock markets in general have experienced broad fluctuations that have often been unrelated to the operating performance of particular companies. These broad market fluctuations may adversely affect the trading price of our common stock.

 

Certain provisions of our governing documents and Oregon law could discourage potential acquisition proposals. Our articles of incorporation contain provisions that:

 

 

classify the board of directors into three classes, each of which serves for a three-year term with one class elected each year;

 

provide that directors may be removed by shareholders only for cause and only upon the affirmative vote of 75% of the outstanding shares of common stock; and

 

permit the board of directors to issue preferred stock in one or more series, fix the number of shares constituting any such series, and determine the voting powers and all other rights and preferences of any such series, without any further vote or action by our shareholders.

 

In addition, we are subject to certain provisions of the Oregon Business Corporation Act that could discourage potential acquisition proposals, could deter, delay, or prevent a change in control that our shareholders consider favorable, and could depress the market value of our common stock. Additional information regarding the above described provisions of our governing documents and the Oregon Business Corporation Act is set forth in the “Description of Securities Registered Under Section 12 of the Securities Exchange Act of 1934” filed as Exhibit 4.2 to our 2019 Form 10‑K, which was filed with the SEC on March 3, 2020.

 

 

Item 1B.

Unresolved Staff Comments

 

None.

 

Item 2.

Properties

 

Our facilities serve regional markets, which vary in the number and sizes of projects year-over-year. Consequently, we have excess manufacturing capacity from time to time at each of our facilities. We believe the quality and productive capacity of our facilities are sufficient to maintain our competitive position for the foreseeable future.

 

The following tables provide certain information about our operating facilities as of December 31, 2021:

 

Engineered Steel Pressure Pipe

 

Location

 

Manufacturing Space

(approx. sq. ft.)

   

Property Size

(approx. acres)

 

Ownership

Portland, Oregon

    300,000       25  

Owned

San Luis Río Colorado, Mexico

    285,000       105  

Owned

Adelanto, California

    200,000       100  

Owned

Parkersburg, West Virginia

    170,000       90  

Owned

Saginaw, Texas (2 facilities)

    170,000       50  

1 Owned, 1 Leased

Tracy, California

    165,000       87  

Owned

St. Louis, Missouri

    100,000       20  

Leased

 

Additionally, land adjacent to our Portland, Oregon facility and our Saginaw, Texas facility used for parking and/or pipe storage is leased.

 

 

Precast Infrastructure and Engineered Systems

 

Location

 

Manufacturing Space

(approx. sq. ft.)

   

Property Size

(approx. acres)

 

Ownership

Houston, Texas

    239,000       25  

Leased

Orem, Utah

    150,000       20  

Leased

Dallas, Texas

    62,000       11  

Leased

Salt Lake City, Utah

    58,000       20  

Leased

San Antonio, Texas

    34,000       7  

Leased

St. George, Utah

    6,000       8  

Leased

 

 

Item 3.

Legal Proceedings

 

We are party to a variety of legal actions arising out of the ordinary course of business. Plaintiffs occasionally seek punitive or exemplary damages. We do not believe that such normal and routine litigation will have a material impact on our consolidated financial results. We are also involved in other kinds of legal actions, some of which assert or may assert claims or seek to impose fines, penalties, and other costs in substantial amounts. See Note 13 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K.

 

 

Item 4.

Mine Safety Disclosures

 

Not applicable.

 

 

PART II

 

Item 5.

Market for Registrants Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

 

Market Information

 

Our common stock is quoted on the Nasdaq under the symbol “NWPX.”

 

There were 20 shareholders of record as of March 4, 2022. A substantially greater number of holders of our common stock are beneficial holders, whose shares are held of record by banks, brokers, and other financial institutions. We do not intend to pay cash dividends in the foreseeable future. We have not issued any securities during the past three years that were not registered under the Securities Act.

 

On November 3, 2020, our registration statement on Form S‑3 (Registration No. 333‑249637) covering the potential future sale of up to $150 million of our equity and/or debt securities or combinations thereof, was declared effective by the SEC. This registration statement, which replaced the registration statement on Form S‑3 that expired on September 15, 2020, provides another potential source of capital, in addition to other alternatives already in place. We cannot be certain that funding will be available on favorable terms or available at all. To the extent that we raise additional funds by issuing equity securities, our shareholders may experience significant dilution. As of the date of this 2021 Form 10‑K, we have not yet sold any securities under this registration statement, nor do we have an obligation to do so. Please refer to the factors discussed in Part I — Item 1A. “Risk Factors” of this 2021 Form 10‑K.

 

 

Stock Performance Graph

 

The following graph compares the performance of our common stock to the performance of the Russell 2000 Index and the S&P Small Cap 600 Construction, Farm Machinery and Heavy Truck Index. The comparisons in the chart below are provided in response to SEC disclosure requirements and, therefore, are not intended to forecast or be indicative of future performance of our common stock.

 

graph01.jpg

 

   

Indexed Return

 
   

Northwest Pipe Company

    Russell 2000 Index     S&P Small Cap 600 Construction, Farm Machinery and Heavy Truck Index  

December 31, 2016

    100.00       100.00       100.00  

December 31, 2017

    111.15       114.65       133.81  

December 31, 2018

    135.25       102.02       95.59  

December 31, 2019

    193.44       128.06       131.28  

December 31, 2020

    164.34       153.62       148.50  

December 31, 2021

    184.67       176.39       169.61  

 

 

Securities Authorized for Issuance under Equity Compensation Plans

 

The information with respect to equity compensation plans is included under Part III — Item 12. “Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters” of this 2021 Form 10‑K.

 

 

Item 6.

[Reserved]

 

 

Item 7.

Managements Discussion and Analysis of Financial Condition and Results of Operations

 

The following is management’s discussion and analysis of certain significant factors that have affected our consolidated financial condition and results of operations during the periods included herein. This discussion should be read in conjunction with our historical Consolidated Financial Statements and Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K. This discussion contains forward-looking statements based upon current expectations that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of various factors, including those set forth under Part I — Item 1A. “Risk Factors” or in other parts of this 2021 Form 10‑K. For discussion related to the changes in financial condition for the year ended December 31, 2020 compared to the year ended December 31, 2019, refer to Part II — Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations — Liquidity and Capital Resources” in our 2020 Form 10‑K, which was filed with the SEC on March 4, 2021, and which is incorporated herein by reference.

 

Overview

 

Northwest Pipe Company is a leading manufacturer for water related infrastructure products. In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, we manufacture high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, we provide solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. Our diverse team is committed to quality and innovation while demonstrating our core values of accountability, commitment, and teamwork. We are headquartered in Vancouver, Washington, and have 13 manufacturing facilities across North America.

 

Our water infrastructure products are sold generally to installation contractors, who include our products in their bids to federal, state, and municipal agencies, privately-owned water companies, or developers for specific projects. We believe our sales are substantially driven by spending on urban growth and new water infrastructure with a recent trend towards spending on water infrastructure replacement, repair, and upgrade. Within the total range of products, our steel pipe tends to fit the larger-diameter, higher-pressure pipeline applications, while our precast concrete products mainly serve stormwater and sanitary sewer systems.

 

In October 2021 we acquired Park Environmental Equipment, LLC, a precast concrete and steel fabrication-based company in Texas that develops and manufactures water, wastewater, and environmental solutions. In January 2020, we acquired Geneva Pipe and Precast Company (fka Geneva Pipe Company, Inc.), a concrete pipe and precast concrete products manufacturer based in Utah. Effective in the fourth quarter of 2021, as a result of the acquisition of ParkUSA, we revised our historical one segment position and identified the new operating segments, Engineered Steel Pressure Pipe (SPP) and Precast Infrastructure and Engineered Systems (Precast), to align with changes made in our internal management structure and our reporting structure of financial information used to assess performance and allocate resources. For detailed descriptions of these segments, see the “Our Segments” discussion in Part I — Item 1. “Business” of this 2021 Form 10‑K.

 

Our Current Economic Environment

 

We operate our business with a long-term time horizon. Projects are often planned for many years in advance, and are sometimes part of 50‑year build-out plans. Long-term demand for water infrastructure projects in the United States appears strong. However, in the near term, we expect that strained governmental and water agency budgets and financing along with increased manufacturing capacity from competition could impact the business. Additionally, we have started to experience effects of a current labor shortage at certain manufacturing facilities, for which we are mitigating the impact through the use of overtime and third-party outsourcing as warranted. It is possible that a prolonged shortage of qualified, available workers could result in a further increase in labor costs that could impact our business.

 

 

Fluctuating steel costs will also be a factor, as the ability to adjust our selling prices as steel costs fluctuate depends on market conditions. Purchased steel represents a substantial portion of our cost of sales of steel pipe products, and changes in our selling prices often correlate directly to changes in steel costs. Recently, steel markets have been extremely volatile, and the cost of steel introduced into the manufacturing process increased 67% in 2021 compared to 2020. Due to production and delivery lead times for steel, these costs in 2021 were not always indicative of the current market prices.

 

Impact of the COVID19 Pandemic on Our Business

 

While the COVID‑19 pandemic did cause indirect financial impacts associated with project bidding, execution, and delivery delays during the year ended December 31, 2021, we are unable to predict the ultimate impact that the COVID‑19 pandemic may have on our business, future results of operations, financial position, or cash flows. For additional details, refer to the information set forth under the caption “Impact of the COVID‑19 Pandemic on Our Business” in Part I — Item 1. “Business” and discussions in Part I — Item 1A. “Risk Factors” of this 2021 Form 10‑K.

 

Results of Operations

 

The following table sets forth, for the periods indicated, certain financial information regarding costs and expenses expressed in dollars (in thousands) and as a percentage of total net sales.

 

   

Year Ended December 31, 2021

   

Year Ended December 31, 2020

   

Year Ended December 31, 2019

 
    $    

% of Net

Sales

    $    

% of Net Sales

    $    

% of Net

Sales

 

Net sales:

                                               

Engineered Steel Pressure Pipe

  $ 259,823       78.0

%

  $ 241,690       84.5

%

  $ 279,317       100.0

%

Precast Infrastructure and Engineered Systems

    73,490       22.0       44,217       15.5       -       -  

Total net sales

    333,313       100.0       285,907       100.0       279,317       100.0  
Cost of sales:                                                

Engineered Steel Pressure Pipe

    228,542       68.6       197,397       69.0       232,133       83.1  

Precast Infrastructure and Engineered Systems

    60,517       18.1       37,991       13.3       -       -  

Total cost of sales

    289,059       86.7       235,388       82.3       232,133       83.1  

Gross profit:

                                               
Engineered Steel Pressure Pipe     31,281       9.4       44,293       15.5       47,184       16.9  
Precast Infrastructure and Engineered Systems     12,973       3.9       6,226       2.2       -       -  
Total gross profit     44,254       13.3       50,519       17.7       47,184       16.9  

Selling, general, and administrative expense

    28,222       8.5       24,954       8.8       18,495       6.6  

Operating income

    16,032       4.8       25,565       8.9       28,689       10.3  

Other income

    328       0.1       953       0.3       4,383       1.6  

Interest income

    -       -       49       -       40       -  

Interest expense

    (1,202

)

    (0.4

)

    (933

)

    (0.2

)

    (472

)

    (0.2

)

Income before income taxes

    15,158       4.5       25,634       9.0       32,640       11.7  

Income tax expense

    3,635       1.0       6,584       2.3       4,738       1.7  

Net income

  $ 11,523       3.5

%

  $ 19,050       6.7

%

  $ 27,902       10.0

%

 

Year Ended December 31, 2021 Compared to Year Ended December 31, 2020

 

Net sales. Net sales increased 16.6% to $333.3 million in 2021 compared to $285.9 million in 2020.

 

SPP net sales increased 7.5% to $259.8 million in 2021 compared to $241.7 million in 2020 driven by a 15% increase in selling price per ton due to increased materials costs and changes in product mix, partially offset by a 6% decrease in tons produced resulting from changes in project timing. Bidding activity, backlog, and production levels may vary significantly from period to period affecting sales volumes.

 

 

Precast net sales increased 66.2% to $73.5 million in 2021 compared to $44.2 million in 2020 primarily due to the ParkUSA operations acquired in October 2021, which contributed $18.0 million in net sales during the fourth quarter of 2021, as well as a 26% increase in net sales at the Geneva operations acquired in January 2020 due to an 18% increase in shipments and a 6% increase in selling prices.

 

Gross profit. Gross profit decreased 12.4% to $44.3 million (13.3% of net sales) in 2021 compared to $50.5 million (17.7% of net sales) in 2020.

 

SPP gross profit decreased 29.4% to $31.3 million (12.0% of SPP net sales) in 2021 compared to $44.3 million (18.3% of SPP net sales) in 2020 due to the combination of changes in product mix and pressure on project pricing. Additionally, as a result of the fire at our Saginaw facility in April 2019, $1.4 million of business interruption insurance recovery (net of incremental production costs) was recorded in 2020.

 

Precast gross profit increased 108.4% to $13.0 million (17.7% of Precast net sales) in 2021 compared to $6.2 million (14.1% of Precast net sales) in 2020 due to contributions from the ParkUSA operations acquired in October 2021, as well as higher prices and production volume at the Geneva operations. Precast gross profit in 2021 was reduced by $2.1 million in higher acquisition-related fair value inventory charges.

 

Selling, general, and administrative expense. Selling, general, and administrative expense increased 13.1% to $28.2 million (8.4% of net sales) in 2021 compared to $25.0 million (8.8% of net sales) in 2020. The increase in selling, general, and administrative expense was primarily due to $1.8 million in higher compensation-related expense, $0.6 million in higher acquisition-related transaction costs, and $0.8 million in higher depreciation and amortization expense, all primarily due to the acquisition of ParkUSA in October 2021.

 

Other income. In 2020, we recognized gains on insurance proceeds of $1.0 million for property damage resulting from the fire at our Saginaw facility.

 

Income taxes. Income tax expense was $3.6 million in 2021 (an effective income tax rate of 24.0%) compared to $6.6 million in 2020 (an effective income tax rate of 25.7%). The effective income tax rate for 2021 was primarily impacted by estimated changes in our valuation allowance. The effective income tax rate for 2020 was primarily impacted by costs associated with the acquisition of Geneva that were non-deductible for tax purposes. The effective income tax rate can change significantly depending on the relationship of permanent income tax deductions and tax credits to estimated pre-tax income or loss and the changes in valuation allowances. Accordingly, the comparison of effective income tax rates between periods is not meaningful in all situations.

 

Year Ended December 31, 2020 Compared to Year Ended December 31, 2019

 

Net sales. Net sales increased 2.4% to $285.9 million in 2020 compared to $279.3 million in 2019.

 

SPP net sales decreased 13.5% to $241.7 million in 2020 compared to $279.3 million in 2019 driven by a 28% decrease in tons produced resulting from changes in project timing, partially offset by a 20% increase in selling price per ton due to a change in product mix. Additionally, the pandemic-related shut-down of our San Luis Río Colorado, Mexico facility negatively impacted our sales in the second quarter of 2020. Bidding activity, backlog, and production levels may vary significantly from period to period affecting sales volumes.

 

Precast net sales increased to $44.2 million in 2020 compared to $0 in 2019 due to the contribution from the Geneva operations acquired in January 2020.

 

Gross profit. Gross profit increased 7.1% to $50.5 million (17.7% of net sales) in 2020 compared to $47.2 million (16.9% of net sales) in 2019.

 

SPP gross profit decreased 6.1% to $44.3 million (18.3% of SPP net sales) in 2020 compared to $47.2 million (16.9% of SPP net sales) in 2019 due to lower production volume, partially offset by improved product pricing. Additionally, as a result of the fire at our Saginaw facility in April 2019, $1.4 million of business interruption insurance recovery (net of incremental production costs) was recorded in 2020, compared to $1.6 million of incremental production costs (net of business interruption insurance recovery) in 2019.

 

Precast gross profit increased to $6.2 million (14.1% of Precast net sales) in 2020 compared to $0 in 2019 due to the contribution from the Geneva operations acquired in January 2020.

 

 

Selling, general, and administrative expense. Selling, general, and administrative expense increased 34.9% to $25.0 million (8.8% of net sales) in 2020 compared to $18.5 million (6.6% of net sales) in 2019. The increase in selling, general, and administrative expense was primarily due to the addition of Geneva, including $2.7 million in higher compensation-related expense, $2.0 million in higher acquisition-related transaction costs, and $0.9 million in higher intangible amortization expense. In addition, we incurred $0.8 million in higher administrative expense.

 

Other income. In 2020 and 2019, we recognized gains on insurance proceeds of $1.0 million and $1.6 million, respectively, for property damage resulting from the fire at our Saginaw facility. In August 2019, we received $2.3 million of proceeds related to a favorable legal settlement involving certain pipe produced at our former Houston, Texas and Bossier City, Louisiana facilities.

 

Income taxes. Income tax expense was $6.6 million in 2020 (an effective income tax rate of 25.7%) compared to $4.7 million in 2019 (an effective income tax rate of 14.5%). The effective income tax rate for 2020 was primarily impacted by costs associated with the acquisition of Geneva that were non-deductible for tax purposes. The effective income tax rate for 2019 was primarily impacted by the estimated changes in our valuation allowance. The effective income tax rate can change significantly depending on the relationship of permanent income tax deductions and tax credits to estimated pre-tax income or loss and the changes in valuation allowances. Accordingly, the comparison of effective income tax rates between periods is not meaningful in all situations.

 

Liquidity and Capital Resources

 

Sources and Uses of Cash

 

Our principal sources of liquidity generally include operating cash flows and the Amended Credit Agreement. From time to time our long-term capital needs may be met through the issuance of long-term debt or additional equity. Our principal uses of liquidity generally include capital expenditures, working capital, organic growth initiatives, acquisitions, and debt service. Information regarding our cash flows for the years ended December 31, 2021, 2020, and 2019 are presented in our Consolidated Statements of Cash Flows contained in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K, and are further discussed below.

 

As we cannot predict the duration or scope of the COVID‑19 pandemic and its impact on our customers and suppliers, the potential negative financial impact to our results cannot be reasonably estimated, but could be material. We are actively managing the business to maintain cash flow and believe we have liquidity to meet our anticipated funding requirements and other near-term obligations.

 

As of December 31, 2021, our working capital (current assets minus current liabilities) was $164.1 million compared to $146.1 million as of December 31, 2020. Cash and cash equivalents totaled $3.0 million and $37.9 million as of December 31, 2021 and 2020, respectively. The decrease is primarily attributable to the repayment of long-term debt and changes in working capital in 2021.

 

Fluctuations in SPP working capital accounts result from timing differences between production, shipment, invoicing, and collection, as well as changes in levels of production and costs of materials. We typically have a relatively large investment in working capital, as we generally pay for materials, labor, and other production costs in the initial stages of a project, while payments from our customers are generally received after finished product is delivered. A portion of our revenues are recognized over time as the manufacturing process progresses; therefore, cash receipts typically occur subsequent to when revenue is recognized and the elapsed time between when revenue is recorded and when cash is received can be significant. As such, our payment cycle is a significantly shorter interval than our collection cycle, although the effect of this difference in the cycles may vary by project, and from period to period.

 

As of December 31, 2021, we had $86.8 million of outstanding revolving loan borrowings, $98.4 million of operating lease liabilities, and $2.2 million of finance lease liabilities. For future maturities of these obligations, see Notes 7 and 8 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K.

 

Due to the uncertainty with respect to the timing of future cash flows associated with our approximately $4.4 million in unrecognized tax benefits as of December 31, 2021, we are unable to make reasonably reliable estimates of the period of cash settlement with the respective taxing authorities. For further information, see Note 15 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K.

 

 

Net Cash Provided by (Used in) Operating Activities

 

Net cash provided by (used in) operating activities was $(5.8) million in 2021 compared to $56.1 million in 2020. Net income, adjusted for non-cash items, provided $28.7 million of operating cash flow in 2021 compared to $40.3 million of operating cash flow in 2020. The net change in working capital provided (used) $(34.5) million of operating cash flow in 2021 compared to $15.8 million of operating cash flow in 2020.

 

Net Cash Used in Investing Activities

 

Net cash used in investing activities was $100.2 million in 2021 compared to $61.4 million in 2020. Acquisitions of businesses, net of cash acquired, were $87.2 million in 2021 compared to $48.7 million in 2020. Capital expenditures were $13.3 million in 2021 compared to $14.0 million in 2020, which was primarily for standard capital replacement. We currently expect capital expenditures in 2022 to be approximately $26 million to $30 million, which includes an approximately $13 million of additional investment in a new reinforced concrete pipe mill and the remainder primarily for standard capital replacement.

 

Net Cash Provided by Financing Activities

 

Net cash provided by financing activities was $71.0 million in 2021 compared to $12.3 million in 2020. Net borrowings on the line of credit were $86.8 million in 2021 compared to $0 in 2020. Net borrowings (repayments) on long-term debt were $(13.8) million in 2021 compared to $13.8 million in 2020.

 

We anticipate that our existing cash and cash equivalents, cash flows expected to be generated by operations, and additional borrowing capacity under the Amended Credit Agreement will be adequate to fund our working capital, debt service, and capital expenditure requirements for at least the next twelve months. To the extent necessary, we may also satisfy capital requirements through additional bank borrowings, senior notes, term notes, subordinated debt, and finance and operating leases, if such resources are available on satisfactory terms. We have from time to time evaluated and continue to evaluate opportunities for acquisitions and expansion. Any such transactions, if consummated, may necessitate additional bank borrowings or other sources of funding. As previously discussed, we acquired ParkUSA in October 2021 which was funded primarily by borrowings on the line of credit.

 

On November 3, 2020, our registration statement on Form S‑3 (Registration No. 333‑249637) covering the potential future sale of up to $150 million of our equity and/or debt securities or combinations thereof, was declared effective by the SEC. This registration statement, which replaced the registration statement on Form S‑3 that expired on September 15, 2020, provides another potential source of capital, in addition to other alternatives already in place. We cannot be certain that funding will be available on favorable terms or available at all. To the extent that we raise additional funds by issuing equity securities, our shareholders may experience significant dilution. As of the date of this 2021 Form 10‑K, we have not yet sold any securities under this registration statement, nor do we have an obligation to do so. Please refer to the factors discussed in Part I — Item 1A. “Risk Factors” of this 2021 Form 10‑K.

 

Credit Agreement

 

The Amended Credit Agreement provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”). The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 30, 2024. We may prepay outstanding amounts in our discretion without penalty at any time, subject to applicable notice requirements. As of December 31, 2021 under the Amended Credit Agreement, we had $86.8 million of outstanding revolving loan borrowings, $1.6 million of outstanding letters of credit, and additional borrowing capacity of approximately $37 million. Based on our business plan and forecasts of operations, we expect to have sufficient credit available to support our operations for at least the next twelve months.

 

Revolving loans under the Amended Credit Agreement bear interest at rates related to, at our option and subject to the provisions of the Amended Credit Agreement including certain LIBOR transition provisions, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) LIBOR plus the Applicable Margin; or (iii) the daily one month LIBOR plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.25%, depending on our Senior Leverage Ratio (as defined in the Amended Credit Agreement). Interest on outstanding revolving loans is payable quarterly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable quarterly in arrears. We are also obligated to pay additional fees customary for credit facilities of this size and type.

 

 

The letters of credit outstanding as of December 31, 2021 relate to workers’ compensation insurance. Based on the nature of these arrangements and our historical experience, we do not expect to make any material payments under these arrangements.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires us to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 2.50 to 1.00 (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (as defined in the Amended Credit Agreement) of at least $31.5 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, we have also agreed that we will not sell, assign, or otherwise dispose or encumber, any of our owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. We were in compliance with our financial covenants as of December 31, 2021. Based on our business plan and forecasts of operations, we believe we will remain in compliance with our financial covenants for the next twelve months.

 

Our obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of our and our subsidiaries’ assets.

 

Recent Accounting Pronouncements

 

For a description of recent accounting pronouncements affecting our company, including the dates of adoption and estimated effects on financial position, results of operations, and cash flows, see Note 2 of the Notes to Consolidated Financial Statements in Part II — Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K.

 

Critical Accounting Estimates

 

Management Estimates

 

The preparation of our Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues, and expenses, and disclosure of contingent assets and liabilities. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, we evaluate all of our estimates including those related to revenue recognition, business combinations, goodwill, inventories, property and equipment, including depreciation and valuation, share-based compensation, income taxes, allowance for doubtful accounts, and litigation and other contingencies. Actual results may differ from these estimates under different assumptions or conditions. We believe the following critical accounting policies and related judgments and estimates affect the preparation of our Consolidated Financial Statements.

 

Revenue Recognition

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of our right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to us. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Estimated total costs of each contract are reviewed on a monthly basis by project management and operations personnel for all active projects. All cost revisions that result in a material change in gross profit are reviewed by senior management personnel. Significant judgment is required in estimating total costs and measuring the progress of project completion, as well as whether a loss is expected to be incurred on the contract. We use certain assumptions and develop estimates based on a number of factors, including the degree of required product customization, our historical experience, the project plans, and an assessment of the risks and uncertainties inherent in the contract related to implementation delays or performance issues that may or may not be within our control. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration we expect to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. Our contracts do not contain significant financing.

 

We do not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

Business Combinations

 

Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related costs are expensed as incurred.

 

Accounting for business combinations requires management to make significant estimates and assumptions in the determination of the fair value of assets acquired and liabilities assumed in order to allocate purchase price consideration properly. These assumptions and estimates include a market participant’s use of the asset and the appropriate discount rates for a market participant. Our estimates are based on historical experience, information obtained from the management of the acquired companies and, when appropriate, include assistance from independent third-party appraisal firms. Our significant assumptions and estimates can include, but are not limited to, the cash flows that an asset is expected to generate in the future, the appropriate weighted-average cost of capital, and the cost savings expected to be derived from acquiring an asset. These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances may occur which may affect the accuracy or validity of such estimates. As a result, during the measurement period, which may be up to one year from the acquisition date, we may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain.

 

Goodwill

 

Goodwill is reviewed for impairment annually as of December 31, or whenever events occur or circumstances change that indicate goodwill may be impaired. Goodwill is tested for impairment at the reporting unit level. A reporting unit is an operating segment or one level below an operating segment (also known as a component).

 

In testing goodwill for impairment, we have the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-not (more than 50%) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, we evaluate factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. In the evaluation, we look at the long-term prospects for the reporting unit and recognize that current performance may not be the best indicator of future prospects or value, which requires management judgment.

 

If the qualitative assessment indicates that it is more-likely-than-not that the fair value of the reporting unit is less than its carrying amount, or if we choose not to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. The fair value calculation uses a combination of income and market approaches. The income approach is based upon projected future after-tax cash flows discounted to present value using factors that consider the timing and risk associated with the future after-tax cash flows. The market approach is based upon historical and/or forward-looking measures using multiples of revenue or earnings before interest, tax, depreciation, and amortization. We utilize a weighted average of the income and market approaches. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, not to exceed the total amount of goodwill allocated to the reporting unit.

 

 

Inventories

 

Inventories are stated at the lower of cost and net realizable value. Determining net realizable value of inventories involves judgments and assumptions, including projecting selling prices and cost of sales. To estimate net realizable value, we review recent sales and gross profit history, existing customer orders, current contract prices, industry supply and demand, forecasted steel prices, replacement costs, seasonal factors, general economic trends, and other information, as applicable. If future market conditions are less favorable than those projected by us, inventory write-downs may be required. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the first-in, first-out method of accounting.

 

Property and Equipment and Intangible Assets

 

Property and equipment are recorded at cost, and are depreciated using either the units of production method or the straight-line method depending on the classification of the asset. Depreciation expense calculated under the units of production method may be less than, equal to, or greater than depreciation expense calculated under the straight-line method. We evaluate historical and projected units of production at each facility to reassess the units of production expected on an annual basis.

 

Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives.

 

We assess impairment of property and equipment and intangible assets whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) may not be recoverable. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about our expected future operating performance. Estimates of future cash flows used in the recoverability test incorporate our own assumptions about the use of the asset group and shall consider all available evidence. Our estimates of undiscounted cash flows may differ from actual cash flow due to, among other things, technological changes, economic conditions, or changes to our business operations. If we determine the carrying value of the property and equipment and intangible assets will not be recoverable, we calculate and record an impairment loss.

 

Share-based Compensation

 

We recognize the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. We estimate the fair value of restricted stock units and performance share awards using the value of our stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, we recognize compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

Income Taxes

 

Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future tax consequences of events that have been recognized in our Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of our provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. Our provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and our change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.

 

We record income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. We assess our income tax positions and record income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-not that an income tax benefit will be sustained, we have recorded the largest amount of income tax benefit with a greater than 50% likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is not more-likely-than-not that an income tax benefit will be sustained, no income tax benefit has been recognized in the Consolidated Financial Statements.

 

 

Allowance for Doubtful Accounts

 

We maintain allowances for estimated losses resulting from the inability of our customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The extension and revision of credit is determined by obtaining credit rating reports or financial information on the customer. An allowance is recorded based on a variety of factors, including our historical collection experience and our historical product quality claims. At least monthly, we review past due balances to identify the reasons for non-payment. We will write down or write off a receivable account once the account is deemed uncollectible for reasons such as customer quality claims, a contract dispute, deterioration in the customer’s financial position, a bankruptcy filing, or other events. If the customer’s financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances may need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.

 

 

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

 

The primary market risks affecting our business relate to our exposure to commodity risk, interest rate risk, and foreign currency exchange rate risk.

 

Commodity Risk

 

Certain materials we use in our business are classified as commodities traded in the worldwide markets, of which the most significant commodity is steel, used in the manufacturing of pipe. We do not hedge our commodity risk and do not enter into any transactions in commodities for trading purposes. The impact of volatility in steel prices varies significantly. This volatility can significantly affect our gross profit. Although we seek to recover increases in steel prices through price increases in our products, we have not always been successful.

 

Steel typically makes up 25% to 35% of SPP’s project costs. As this raw material represents a substantial portion of our cost of sales, we attempt to minimize our risk exposure to steel price volatility by submitting bids based on general assumptions of the expected price of steel when we will receive a purchase order or contract, which is typically awarded within 30 to 90 days of the bid date, as well as ordering steel as soon as possible after a project is awarded.

 

Interest Rate Risk

 

Our debt bears interest at both fixed and variable rates. As of December 31, 2021 and 2020, we had $86.8 million and $13.8 million, respectively, of variable rate debt outstanding. Our finance and operating leases bear fixed rates of interest. Assuming average interest rates and borrowings on variable rate debt, a hypothetical 1.0%, or 100 basis points, change in interest rates would not have a material impact on our interest expense in 2021 or 2020 due to the low level of variable rate debt until the fourth quarter of 2021.

 

Foreign Currency Exchange Rate Risk

 

We conduct business in various foreign countries and, from time to time, settle our transactions in foreign currencies. We have experienced and will continue to experience fluctuations in our net income as a result of gains (losses) on the settlement and the remeasurement of monetary assets and liabilities denominated in currencies that are not our functional currency. As of December 31, 2021, our foreign currency exposures were between the U.S. Dollar and the Canadian Dollar and Mexican Peso.

 

We have established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with our strategy for financial risk management and are not used for trading or for speculative purposes. As of December 31, 2021, the total notional amount of these foreign currency forward contracts was $19.0 million (CAD$24.1 million), of which we applied hedge accounting to all. As of December 31, 2021, our foreign currency forward contracts mature at various dates through April 2023. As of December 31, 2020, the total notional amount of these foreign currency forward contracts was $15.3 million (CAD$19.5 million), of which we applied hedge accounting to all.

 

A hypothetical 10% change in the Canadian Dollar or Mexican Peso foreign currency exchange rates would not have a material impact on our reported net income in 2021 or 2020.

 

 

Item 8.

Financial Statements and Supplementary Data

 

The Consolidated Financial Statements required by this item are included on pages F‑1 to F‑34 at the end of this 2021 Form 10‑K. The financial statement schedule required by this item is included on page S‑1.

 

 

Item 9.

Changes in and Disagreements With Accountants on Accounting and Financial Disclosure

 

None.

 

 

Item 9A.

Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Disclosure controls and procedures (as defined in Rules 13a‑15(e) and 15d‑15(e) under the Securities Exchange Act of 1934, as amended (“Exchange Act”)) are designed to provide reasonable assurance that information required to be disclosed in 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 Securities and Exchange Commission (“SEC”) and that such information is accumulated and communicated to our management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), as appropriate, to allow timely decisions regarding required disclosures.

 

Our management, with the participation of our CEO and CFO, evaluated the effectiveness of our disclosure controls and procedures as of December 31, 2021. Based on their evaluation, as of December 31, 2021, our CEO and CFO have concluded that our disclosure controls and procedures (as defined in Rules 13a‑15(e) and 15d‑15(e) under the Exchange Act) were effective to provide reasonable assurance that information required to be disclosed in 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 that such information is accumulated and communicated to our management, including our CEO and CFO, as appropriate to allow timely decisions regarding required disclosures.

 

As discussed in Note 3 of the Notes to Consolidated Financial Statements in Part II – Item 8. “Financial Statements and Supplementary Data” of this 2021 Form 10‑K, we completed the acquisition of 100% of Park Environmental Equipment, LLC (“ParkUSA”) on October 5, 2021. As permitted for newly acquired businesses by interpretive guidance issued by the staff of the SEC, management has excluded the internal control over financial reporting of ParkUSA from the evaluation of the effectiveness of our disclosure controls and procedures as of December 31, 2021.

 

Managements Report on Internal Control over Financial Reporting

 

Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such term is defined in Exchange Act Rules 13a‑15(f) and 15d‑15(f) under the Exchange Act. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”). Internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of our assets; (ii) provide reasonable assurance that our transactions are recorded as necessary to permit preparation of financial statements in accordance with U.S. GAAP, and that our receipts and expenditures are being made only in accordance with authorizations of management and our directors; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of our assets that could have a material effect on the financial statements.

 

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

 

Under the supervision and with the participation of our management, including our CEO and CFO, we conducted an assessment of our internal control over financial reporting as of December 31, 2021. In making this assessment, we used the criteria set forth in “Internal Control-Integrated Framework” (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Based on this evaluation, management concluded that our internal control over financial reporting was effective as of December 31, 2021.

 

 

As part of our post-closing integration activities, we are engaged in the process of assessing the internal controls of ParkUSA. We have begun to integrate policies, processes, people, technology, and operations for the post-acquisition combined company, and we will continue to evaluate the impact of any related changes to internal control over financial reporting. As permitted for newly acquired businesses by interpretive guidance issued by the staff of the SEC, management has excluded the internal control over financial reporting of ParkUSA from its assessment of the effectiveness of internal control over financial reporting as of December 31, 2021. We have reported the operating results of ParkUSA in our consolidated statements of operations and cash flows from the acquisition date through December 31, 2021. As of December 31, 2021, total assets related to ParkUSA represented approximately 15.7% of our total assets, recorded on a preliminary basis as the measurement period for the business combination remained open as of December 31, 2021. Revenues from ParkUSA comprised approximately 5.4% of our total consolidated revenues for the year ended December 31, 2021.

 

The effectiveness of our internal control over financial reporting as of December 31, 2021 has been audited by Moss Adams LLP, an independent registered public accounting firm, as stated in their report which appears herein.

 

Changes in Internal Control over Financial Reporting

 

Except for changes in internal controls that we have made related to the integration of ParkUSA into the post-acquisition combined company, there were no significant changes in our internal control over financial reporting that occurred during the quarter ended December 31, 2021 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

 

Item 9B.

Other Information

 

None.

 

 

Item 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

 

None.

 

PART III

 

Item 10.

Directors, Executive Officers and Corporate Governance

 

Directors, Executive Officers, Promoters and Control Persons

 

The information required by Paragraph (a) and Paragraphs (c) through (g) of Item 401 of Regulation S‑K (except for information required by Paragraph (e) of that Item to the extent the required information pertains to our executive officers) and Item 405 of Regulation S‑K (to the extent required) is hereby incorporated by reference from our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the caption Election of Director.

 

The following table lists our executive officers and each of their ages and positions as of December 31, 2021.

 

Name

 

Age

 

Current Position with Northwest Pipe Company

Scott Montross

 

56

 

Director, President, and Chief Executive Officer

Aaron Wilkins

 

47

 

Senior Vice President, Chief Financial Officer, and Corporate Secretary

William Smith

 

66

 

Executive Vice President of Water Transmission Engineered Systems

Miles Brittain

 

58

 

Executive Vice President

Eric Stokes

 

50

 

Senior Vice President and General Manager of Water Transmission Steel Pressure Pipe

Megan Kendrick

 

45

 

Vice President of Human Resources

 

 

Scott Montross has served as our Director, President and CEO since January 1, 2013. Mr. Montross joined the Company in May 2011 and served as our Executive Vice President and Chief Operating Officer. Mr. Montross has served in Senior Vice President level positions since 2003 with commercial, operational, and planning responsibilities and has spent a total of 24 years in the steel industry prior to joining the Company. Mr. Montross previously served as the Executive Vice President of the Flat Products Group for EVRAZ North America’s Oregon Steel Division from 2010 to 2011, as the Vice President and General Manager of EVRAZ North America from 2007 to 2010, as the Vice President of Marketing and Sales for Oregon Steel Mills, Inc. from 2003 to 2007, and as the Vice President of Marketing and Sales for National Steel Corporation from 2002 to 2003.

 

Aaron Wilkins has served as our Senior Vice President and CFO since April 2020 and our Corporate Secretary since September 2019. Mr. Wilkins served as our Vice President of Finance and Corporate Controller from September 2016 to April 2020. Prior to joining the Company, Mr. Wilkins served two years as CFO of Omega Morgan, an industrial services company. Prior to that, Mr. Wilkins served seven years with Oregon Steel Mills, Inc. and then EVRAZ North America holding several finance and accounting positions including Corporate Controller and Assistant Treasurer and Director of Finance of EVRAZ North America’s Flat Products Group.

 

William Smith has served as our Executive Vice President of Water Transmission Engineered Systems since September 2018. Prior to that, Mr. Smith served as our Executive Vice President Water Transmission, Executive Vice President Operations, and as Vice President of Operations for Water Transmission. Prior to joining the Company in 2010, Mr. Smith spent 14 years with Ameron International Corporation, holding several key positions including President, Water Transmission. A 45-year veteran of the steel pipe business, Mr. Smith has held positions with United Concrete Pipe, Thompson Steel Pipe, and LB Foster.

 

Miles Brittain has served as our Executive Vice President since May 2021. Prior to that, Mr. Brittain served as our Vice President of Operations from February 2020 to May 2021, Vice President of Operations for Water Transmission Engineered Systems from September 2018 to February 2020, and our Vice President of Operations, Water Transmission from 2013 to September 2018. Prior to joining the Company, Mr. Brittain served in the steel industry for over 28 years, holding key positions including Vice President and General Manager for EVRAZ North America/Claymont Steel, Director of Operations for EVRAZ North America/Oregon Steel Mills, Inc., and Regional Director of Quality Assurance for National Steel Corporation.

 

Eric Stokes has served as our Senior Vice President and General Manager of Water Transmission Steel Pressure Pipe since May 2021. Prior to that, Mr. Stokes served as our Senior Vice President of Sales and Marketing, Water Transmission from February 2020 to May 2021 and Vice President of Sales from April 2012 to February 2020. Prior to joining the Company in 2008, Mr. Stokes spent twelve years with Anderson Construction, holding key positions including Project Superintendent.

 

Megan Kendrick has served as our Vice President of Human Resources since January 2017. Prior to that, Ms. Kendrick held a variety of positions within the Company in the accounting and human resource departments. Prior to joining the Company in 2008, Ms. Kendrick worked for the Memphis Grizzlies of the National Basketball Association for seven years.

 

Code of Ethics

 

We have a Code of Business Conduct and Ethics for all employees and a Code of Ethics for Senior Financial Officers. Copies can be found on our website in the Corporate Governance area of the Investor Relations section. None of the material on our website is part of this 2021 Form 10‑K. If there is any waiver from any provision of either the Code of Business Conduct and Ethics or the Code of Ethics for Senior Financial Officers, we will disclose the nature of such waiver on our website or in a Current Report on Form 8‑K.

 

Corporate Governance

 

The information required by Items 407(c)(3), (d)(4), and (d)(5) of Regulation S‑K is hereby incorporated by reference from our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the captions Nominating and Governance Committee, Nominations by Shareholders and Audit Committee.

 

 

Item 11.

Executive Compensation

 

The information required by this Item is hereby incorporated by reference from our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the captions Executive Compensation Discussion and Analysis, Compensation Committee Interlocks and Insider Participation, and Compensation Committee Report.

 

 

Item 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

 

The following table provides information as of December 31, 2021, with respect to the shares of our common stock that may be issued under our existing equity compensation plans.

 

    Number of securities to be issued upon exercise of outstanding options, warrants and rights    

Weighted-average exercise price of outstanding options, warrants and rights

    Number of securities remaining available for future issuance under equity compensation plans (excluding securities reflected in column (a))  

Plan Category

 

(a) (1)

   

(b) (2)

   

(c)

 
                         

Equity compensation plans approved by security holders

    161,131     $ -       222,022  

Equity compensation plans not approved by security holders (3)

    -       -       -  

Total

    161,131     $ -       222,022  

 

(1)

Consists of our 2007 Stock Incentive Plan. The number of securities disclosed in this table for performance share awards are at the target level of 100%. 

 

(2)

Reflects the exercise price per share of common stock purchasable upon the exercise of stock options only. As of December 31, 2021, no stock options were outstanding.

 

(3)

We do not have any equity compensation plans or arrangements that have not been approved by shareholders.

 

The information required by Item 403 of Regulation S‑K is included in our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the caption Stock Owned by Management and Principal Shareholders and is incorporated herein by reference.

 

 

Item 13.

Certain Relationships and Related Transactions, and Director Independence

 

The information required by this Item is hereby incorporated by reference from our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the captions Certain Relationships and Related Transactions and Election of Director.

 

 

Item 14.

Principal Accountant Fees and Services

 

The information required by this Item is hereby incorporated by reference from our definitive proxy statement for the 2022 Annual Meeting of Shareholders under the caption Disclosure of Fees Paid to Independent Registered Public Accounting Firm.

 

 

PART IV

 

Item 15.

Exhibit and Financial Statement Schedules

 

(a) (1) Consolidated Financial Statements

 

The Consolidated Financial Statements, together with the report thereon of Moss Adams LLP are included on the pages indicated below.

 

 

Page 

Report of Independent Registered Public Accounting Firm (Moss Adams LLP, Portland, Oregon, PCAOB ID No. 659)

F-1

   

Consolidated Statements of Operations for the years ended December 31, 2021, 2020, and 2019

F-4

   

Consolidated Statements of Comprehensive Income for the years ended December 31, 2021, 2020, and 2019

F-5

   

Consolidated Balance Sheets as of December 31, 2021 and 2020

F-6

   

Consolidated Statements of Stockholders Equity for the years ended December 31, 2021, 2020, and 2019

F-7

   

Consolidated Statements of Cash Flows for the years ended December 31, 2021, 2020, and 2019

F-8

   

Notes to Consolidated Financial Statements

F-10

 

(a) (2) Financial Statement Schedule

 

The following schedule is filed herewith:

 

   

Page 

Schedule II

Valuation and Qualifying Accounts

S-1

 

Schedules not listed above have been omitted because the information required to be set forth therein is not applicable or is included in the Consolidated Financial Statements or notes thereto.

 

(a) (3) Exhibits included herein:

 

Exhibit
Number

 

Description

     

2.1

 

Agreement and Plan of Merger dated as of January 31, 2020 among Northwest Pipe Company, Hatch Acquisition Corporation, Geneva Pipe Company, Inc., the Shareholders of Geneva Pipe Company, Inc., and Kurt Johnson, as Shareholder Representative, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on February 6, 2020**

     

2.2

 

Membership Interest Purchase Agreement dated as of October 5, 2021 by and among Northwest Pipe Company, EBSR, LLC, the equity holders of EBSR, LLC, and Park Environmental Equipment, LLC, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on October 6, 2021**

     

3.1

 

Second Restated Articles of Incorporation

     

3.2

 

First Amendment to Second Restated Articles of Incorporation, incorporated by reference to Exhibits to the Companys Registration Statement on Form S3, as amended, as filed with the Securities and Exchange Commission on October 20, 2006, Commission Registration No. 333137923

 

 

Exhibit
Number

 

Description

     

3.3

 

Third Amended and Restated Bylaws, incorporated by reference to the Companys Current Report on Form 8K as filed with the Securities and Exchange Commission on June 7, 2016

     

3.4

 

First Amendment to Third Amended and Restated Bylaws, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 20, 2020

     

4.1

 

Description of Securities Registered Under Section 12 of the Securities Exchange Act of 1934, incorporated by reference to the Companys Form 10K for the year ended December 31, 2019, as filed with the Securities and Exchange Commission on March 3, 2020

     

10.1

 

Northwest Pipe NQ Retirement Savings Plan, dated July 1, 1999, incorporated by reference to Exhibits to the Companys Quarterly Report Form 10Q for the quarter ended June 30, 2000, as filed with the Securities and Exchange Commission on August 11, 2000*

     

10.2

 

Northwest Pipe Company 2007 Stock Incentive Plan, incorporated by reference to Appendix A to the Companys Definitive Proxy Statement dated April 20, 2007, as filed with the Securities and Exchange Commission on April 26, 2007*

     

10.3

 

Amendment to the Northwest Pipe Company 2007 Stock Incentive Plan dated April 12, 2013, incorporated by reference to Appendix A to the Companys Definitive Proxy Statement, as filed with the Securities and Exchange Commission on April 17, 2013*

     

10.4

 

Amended and Restated Change in Control Agreement between Scott Montross and Northwest Pipe Company dated August 1, 2016, incorporated by reference to the Companys Form 10Q for the quarter ended June 30, 2016, as filed with the Securities and Exchange Commission on August 3, 2016*

     

10.5

 

Form of Amended and Restated Change in Control Agreement between Northwest Pipe Company and Bill Smith dated August 1, 2016, incorporated by reference to the Companys Form 10Q for the quarter ended June 30, 2016, as filed with the Securities and Exchange Commission on August 3, 2016*

     

10.6

 

Credit Agreement dated October 25, 2018 by and among Wells Fargo Bank, National Association, Northwest Pipe Company, and Ameron Water Transmission Group, LLC, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on October 31, 2018

     

10.7

 

Guaranty and Security Agreement dated October 25, 2018 among Northwest Pipe Company, Ameron Water Transmission Group, LLC, Permalok Corporation, Thompson Tank Holdings, Inc., WTG Holding U.S., Inc., Bolenco Corporation, and Wells Fargo, National Association, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on October 31, 2018

     

10.8

 

Form of Performance Share Unit Agreement, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 1, 2019*

     

10.9

 

Form of Restricted Stock Unit Agreement, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 1, 2019*

     

10.10

 

Consent and Amendment No. 1 to Credit Agreement dated January 31, 2020 by and among Wells Fargo Bank, National Association, Northwest Pipe Company, and NWPC, LLC, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on February 6, 2020

     

10.11

 

Form of Performance Share Unit Agreement, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 1, 2020*

 

 

Exhibit
Number

 

 

Description

     

10.12

 

Form of Restricted Stock Unit Agreement, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 1, 2020*

     

10.13

 

Separation Agreement dated March 30, 2020 between Northwest Pipe Company and Robin Gantt, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 3, 2020

     

10.14

 

Change in Control Agreement dated April 1, 2020 between Northwest Pipe Company and Aaron Wilkins, incorporated by reference to the Companys Current Report on Form 8K, as filed with the Securities and Exchange Commission on April 3, 2020*

     

10.15

 

Form of Performance Share Unit Agreement, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on March 19, 2021*

     

10.16

 

Form of Restricted Stock Unit Agreement, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on March 19, 2021*

     

10.17

 

Change in Control Agreement dated June 10, 2021 between Northwest Pipe Company and Miles Brittain, incorporated by reference to the Company’s Current Report on Form 8‑K/A, as filed with the Securities and Exchange Commission on June 11, 2021*

     

10.18

 

Credit Agreement dated June 30, 2021 by and among Wells Fargo Bank, National Association, Wells Fargo Securities, LLC, Northwest Pipe Company, NWPC, LLC, and Geneva Pipe and Precast Company, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on July 7, 2021

     

10.19

 

Guaranty and Security Agreement dated June 30, 2021 among Northwest Pipe Company, NWPC, LLC, Geneva Pipe and Precast Company, Permalok Corporation, Thompson Tank Holdings, Inc., WTG Holding U.S., Inc., Bolenco Corporation, and Wells Fargo Bank, National Association, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on July 7, 2021

     

10.20

 

Incremental Amendment dated October 22, 2021 by and among Northwest Pipe Company, NWPC, LLC, Geneva Pipe and Precast Company, Park Environmental Equipment, LLC, certain other subsidiaries of Northwest Pipe Company, and Wells Fargo Bank, National Association, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on October 28, 2021

     

21.1

 

Subsidiaries of the Registrant, filed herewith

     

23.1

 

Consent of Moss Adams LLP, filed herewith

     

31.1

 

Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002, filed herewith

     

31.2

 

Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002, filed herewith

     

32.1

 

Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, filed herewith

     

32.2

 

Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, filed herewith

 

 

Exhibit
Number

 

 

Description

     

101.INS

 

Inline XBRL Instance Document

     

101.SCH

 

Inline XBRL Taxonomy Extension Schema Document

     

101.CAL

 

Inline XBRL Taxonomy Extension Calculation Linkbase Document

     

101.DEF

 

Inline XBRL Taxonomy Extension Definition Linkbase Document

     

101.LAB

 

Inline XBRL Taxonomy Extension Label Linkbase Document

     

101.PRE

 

Inline XBRL Taxonomy Extension Presentation Linkbase Document

     

104

 

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

 

*

This exhibit constitutes a management contract or compensatory plan or arrangement.

   
** Schedules and similar attachments to this exhibit have been omitted pursuant to Item 601(a)(5) to Regulation S‑K. The Registrant will furnish supplementally a copy of any omitted schedule or similar attachment to the Securities and Exchange Commission request.

 

 

Item 16.

Form 10K Summary

 

None.

 

 

Report of Independent Registered Public Accounting Firm

 

To the Stockholders and the Board of Directors of

Northwest Pipe Company

 

Opinions on the Financial Statements and Internal Control over Financial Reporting

 

We have audited the accompanying consolidated balance sheets of Northwest Pipe Company and Subsidiaries (the “Company”) as of December 31, 2021 and 2020, the related consolidated statements of operations, comprehensive income, stockholders’ equity and cash flows for each of the three years in the period ended December 31, 2021, and the related notes and schedule listed in the Index at Item 15(a)(2) (collectively referred to as the “consolidated financial statements”). We also have audited the Company’s internal control over financial reporting as of December 31, 2021, based on criteria established in Internal Control - Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO).

 

In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the consolidated financial position of the Company as of December 31, 2021 and 2020, and the consolidated results of its operations and its cash flows for each of the three years in the period ended December 31, 2021, in conformity with accounting principles generally accepted in the United States of America. Also in our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2021, based on criteria established in Internal Control - Integrated Framework (2013) issued by COSO.

 

Basis for Opinions

 

The Company’s management is responsible for these consolidated financial statements, for maintaining effective internal control over financial reporting, and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management's Report on Internal Control over Financial Reporting included in Item 9A. Our responsibility is to express an opinion on the Company’s consolidated financial statements and an opinion on the Company’s internal control over financial reporting based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (“PCAOB”) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud, and whether effective internal control over financial reporting was maintained in all material respects.

 

Our audits of the consolidated financial statements included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures to respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements.

 

Our audit of internal control over financial reporting included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audits also included performing such other procedures as we considered necessary in the circumstances. We believe that our audits provide a reasonable basis for our opinions.

 

As discussed in Management’s Report on Internal Control Over Financial Reporting, on October 5, 2021, the Company acquired Park Environmental Equipment, LLC. For the purposes of assessing internal control over financial reporting, management excluded Park Environmental Equipment, LLC, whose financial statements constitute 15.7% of the Company’s consolidated total assets (excluding $61.7 million of goodwill and intangible assets, which were integrated into the Company’s control environment) and 5.4% of consolidated net sales as of and for the year ended December 31, 2021. Accordingly, our audit did not include the internal control over financial reporting of Park Environmental Equipment, LLC.

 

 

 

Definition and Limitations of Internal Control Over Financial Reporting

 

A company’s internal control over financial reporting is a process designed 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. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

 

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

 

Critical Audit Matters

 

The critical audit matters communicated below are matters arising from the current period audit of the consolidated financial statements that were communicated or required to be communicated to the audit committee and that (1) relate to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing a separate opinion on the critical audit matters or on the accounts or disclosures to which they relate.

 

Revenue Recognition Estimated Costs to Complete a Contract

As presented in the consolidated statement of operations and described in Notes 2 and 14 to the consolidated financial statements, the Company’s consolidated contract revenues and costs of revenue were $333.3 million and $289.1 million, respectively, for the year ended December 31, 2021. Revenue of $259.8 million was derived from contracts where revenue is recognized over time as work is completed because of the continuous transfer of control to the customer. Under this method, the costs incurred to date as a percentage of total estimated costs at completion are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project.

 

Based on the significant judgement required by management and the high degree of subjectivity involved in the determination of estimated costs to complete a contract, which in turn led to a high degree of auditor judgement, effort and subjectivity in performing procedures and evaluating audit evidence, we have identified these estimates as a critical audit matter. Changes in these estimates could have significant impact on both the timing and amount of contract revenue to be recognized.

 

The primary procedures we performed to address this critical audit matter included:

 

Obtaining an understanding of the Company’s revenue recognition process and evaluated the design and operating effectiveness of internal controls as it related to the Company’s accumulation of the estimated costs to complete a contract. This included testing internal controls over the Company’s review of monthly changes in estimated costs to complete a contract.

Direct-testing contracts based on earned revenue for the year ended December 31, 2021, and randomly selecting a sample of contracts.

Testing the reasonableness of management’s cost estimates by performing a lookback analysis comparing margins and estimated costs to complete on contracts in process as of December 31, 2020, that were completed or in process during the year ended December 31, 2021.

Assessing the appropriateness of certain assumptions and judgments underlying the accounting for a selection of contracts as follows:

 

Inquiring with management to understand the status of the contract, changes from prior years, and the reasonableness of changes to key inputs in the estimated costs to complete the contracts.

 

Assessing the reasonableness of estimated costs to complete by analyzing historical contract performance relative to overall contractual commitments and estimated gross margin. We assessed management’s assumptions on contract costs by comparing them with executed change orders, estimate documentation, or correspondence with the customer, as appropriate.

 

 

Valuation of Acquired Intangible Assets Park Environmental Equipment, LLC

As described in Notes 2 and 3 to the consolidated financial statements, the Company completed the acquisition of Park Environmental Equipment, LLC for a purchase price of approximately $88.4 million in cash. The transaction was accounted for as a business combination in which management estimated the fair values of the identified assets acquired and liabilities assumed.

 

Auditing the Company's accounting for its acquisition of Park Environmental Equipment, LLC was complex due to the significant estimation uncertainty in the Company’s determination of the $19.8 million fair value of the customer relationship intangible asset. The significant estimation uncertainty was primarily due to the complexity of the valuation models used to measure the fair value of the intangible asset and the sensitivity of the fair value estimate to the significant underlying assumptions related to estimating cash flows. The significant assumptions used to estimate the fair value of the customer relationship included the customer attrition and revenue growth rates. These significant assumptions are especially challenging to audit as they are subjective, require estimates of future performance, and could be affected by future economic and market conditions. For this reason, we identified the auditing of significant cash flow assumptions as a critical audit matter.

 

The primary procedures we performed to address this critical audit matter included:

 

Obtaining an understanding of the Company’s acquisition process and evaluated the design and operating effectiveness of internal controls related to the Company’s valuation process, including the methods and assumptions for acquired intangible assets. This included testing controls over the Company’s estimation process supporting the recognition and measurement of intangible assets, as well as controls over management’s judgments and evaluation of underlying assumptions used in their valuation.

Evaluating the Company’s methodology used to estimate the fair value of the customer relationship intangible asset, including involving valuation specialists to assist with the evaluation of the methodology used by the Company and assessing the reasonableness of the customer attrition and revenue growth rates.

Evaluating the significant assumptions used by the Company, including projected financial information of the acquired entity, which primarily related to revenue growth and customer attrition rates, including testing the completeness and accuracy of the underlying data supporting the significant assumptions and estimates and assessing the reasonableness of the assumptions based on historical financial information, external information, and management’s support for its assumptions.

 

 

 

/s/ Moss Adams LLP

 

Portland, Oregon

March 16, 2022

 

 

We have served as the Company’s auditor since 2016.

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF OPERATIONS

(In thousands, except per share amounts)

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net sales

 $333,313  $285,907  $279,317 

Cost of sales

  289,059   235,388   232,133 

Gross profit

  44,254   50,519   47,184 

Selling, general, and administrative expense

  28,222   24,954   18,495 

Operating income

  16,032   25,565   28,689 

Other income

  328   953   4,383 

Interest income

  -   49   40 

Interest expense

  (1,202

)

  (933

)

  (472

)

Income before income taxes

  15,158   25,634   32,640 

Income tax expense

  3,635   6,584   4,738 

Net income

 $11,523  $19,050  $27,902 
             

Net income per share:

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85 
             

Shares used in per share calculations:

            

Basic

  9,854   9,788   9,741 

Diluted

  9,928   9,873   9,779 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(In thousands)

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Other comprehensive income (loss), net of tax:

            

Pension liability adjustment

  308   (25

)

  16 

Unrealized loss on cash flow hedges

  (124

)

  (27

)

  (59

)

Other comprehensive income (loss), net of tax

  184   (52

)

  (43

)

Comprehensive income

 $11,707  $18,998  $27,859 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED BALANCE SHEETS

(Dollar amounts in thousands, except per share amounts)

 

  

December 31,

 
  

2021

  

2020

 

Assets

        

Current assets:

        

Cash and cash equivalents

 $2,997  $37,927 

Trade and other receivables, less allowance for doubtful accounts of $503 and $767

  52,664   42,680 

Contract assets

  107,170   76,985 

Inventories

  59,651   29,177 

Prepaid expenses and other

  5,744   5,194 

Total current assets

  228,226   191,963 

Property and equipment, net

  121,266   110,184 

Operating lease right-of-use assets

  98,507   30,813 

Goodwill

  53,684   22,985 

Intangible assets, net

  39,376   10,518 

Other assets

  6,620   6,552 

Total assets

 $547,679  $373,015 
         

Liabilities and Stockholders Equity

        

Current liabilities:

        

Current portion of long-term debt

 $-  $7,701 

Accounts payable

  32,267   12,993 

Accrued liabilities

  24,498   16,814 

Contract liabilities

  2,623   6,189 

Current portion of operating lease liabilities

  4,704   2,204 

Total current liabilities

  64,092   45,901 

Borrowings on line of credit

  86,761   - 

Long-term debt

  -   5,888 

Operating lease liabilities

  93,725   27,911 

Deferred income taxes

  10,984   12,481 

Other long-term liabilities

  8,734   11,208 

Total liabilities

  264,296   103,389 
         

Commitments and contingencies (Note 13)

          
         

Stockholders’ equity:

        

Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding

  -   - 

Common stock, $.01 par value, 15,000,000 shares authorized, 9,870,567 and 9,805,437 shares issued and outstanding as of December 31, 2021 and 2020, respectively

  99   98 

Additional paid-in-capital

  125,062   123,013 

Retained earnings

  159,904   148,381 

Accumulated other comprehensive loss

  (1,682

)

  (1,866

)

Total stockholders’ equity

  283,383   269,626 

Total liabilities and stockholders’ equity

 $547,679  $373,015 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY

(Dollar amounts in thousands)

 

                  

Accumulated

     
          

Additional

      

Other

  

Total

 
  

Common Stock

  

Paid-In-

  

Retained

  

Comprehensive

  

Stockholders'

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Equity

 
                         

Balances, December 31, 2018

  9,735,055  $97  $118,835  $101,194  $(1,536

)

 $218,590 

Cumulative-effect adjustment for ASU 2018‑02 (Note 15)

  -   -   -   235   (235

)

  - 

Net income

  -   -   -   27,902   -   27,902 

Other comprehensive income (loss):

                        

Pension liability adjustment, net of tax expense of $5

  -   -   -   -   16   16 

Unrealized loss on cash flow hedges, net of tax benefit of $20

  -   -   -   -   (59

)

  (59

)

Issuance of common stock under stock compensation plans

  11,924   -   -   -   -   - 

Share-based compensation expense

  -   -   1,709   -   -   1,709 

Balances, December 31, 2019

  9,746,979   97   120,544   129,331   (1,814

)

  248,158 

Net income

  -   -   -   19,050   -   19,050 

Other comprehensive loss:

                        

Pension liability adjustment, net of tax benefit of $8

  -   -   -   -   (25

)

  (25

)

Unrealized loss on cash flow hedges, net of tax benefit of $9

  -   -   -   -   (27

)

  (27

)

Issuance of common stock under stock compensation plans

  58,458   1   (619

)

  -   -   (618

)

Share-based compensation expense

  -   -   3,088   -   -   3,088 

Balances, December 31, 2020

  9,805,437   98   123,013   148,381   (1,866

)

  269,626 

Net income

  -   -   -   11,523   -   11,523 

Other comprehensive income (loss):

                        

Pension liability adjustment, net of tax expense of $102

  -   -   -   -   308   308 

Unrealized loss on cash flow hedges, net of tax benefit of $41

  -   -   -   -   (124

)

  (124

)

Issuance of common stock under stock compensation plans

  65,130   1   (1,167

)

  -   -   (1,166

)

Share-based compensation expense

  -   -   3,216   -   -   3,216 

Balances, December 31, 2021

  9,870,567  $99  $125,062  $159,904  $(1,682

)

 $283,383 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CASH FLOWS

(In thousands)

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Cash flows from operating activities:

            

Net income

 $11,523  $19,050  $27,902 

Adjustments to reconcile net income to net cash provided by (used in) operating activities:

            

Depreciation and finance lease amortization

  11,482   12,344   12,391 

Amortization of intangible assets

  2,142   2,207   322 

Deferred income taxes

  180

 

  2,908   4,169 

Gain on insurance proceeds

  -

 

  (1,147

)

  (1,641

)

Share-based compensation expense

  3,216   3,088   1,709 

Other, net

  193   1,889   856 

Changes in operating assets and liabilities, net of acquired assets and assumed liabilities:

            

Trade and other receivables

  392   1,563   (3,435

)

Contract assets, net

  (33,752

)

  8,109   (8,379

)

Inventories

  (17,650

)

  7,153   8,649 

Prepaid expenses and other assets

  6,727   2,514   2,454 

Accounts payable

  16,783   (3,501

)

  (4,675

)

Accrued and other liabilities

  (7,047

)

  (90

)

  2,564 

Net cash provided by (used in) operating activities

  (5,811

)

  56,087   42,886 
             

Cash flows from investing activities:

            

Acquisition of business, net of cash acquired

  (87,215

)

  (48,728

)

  - 

Purchases of property and equipment

  (13,262

)

  (14,013

)

  (8,585

)

Purchases of intangible assets

  -   (329

)

  - 

Proceeds from insurance

  -   1,637   2,123 

Other investing activities

  325   -   39 

Net cash used in investing activities

  (100,152

)

  (61,433

)

  (6,423

)

             

Cash flows from financing activities:

            

Borrowings on line of credit

  122,272   41,377   41,744 

Repayments on line of credit

  (35,511

)

  (41,377

)

  (53,208

)

Borrowings on long-term debt

  -   15,879   - 

Payments on long-term debt

  (13,762

)

  (2,117

)

  - 

Payments on finance lease liabilities

  (415

)

  (420

)

  (434

)

Payments of debt issuance costs

  (385

)

  (465

)

  (228

)

Tax withholdings related to net share settlements of restricted stock and performance share awards

  (1,166

)

  (618

)

  - 

Net cash provided by (used in) financing activities

  71,033   12,259   (12,126

)

Change in cash and cash equivalents

  (34,930

)

  6,913   24,337 

Cash and cash equivalents, beginning of period

  37,927   31,014   6,677 

Cash and cash equivalents, end of period

 $2,997  $37,927  $31,014 

 

 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CASH FLOWS, Continued

(In thousands)

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Supplemental disclosure of cash flow information:

            

Cash paid during the period for interest, net of amounts capitalized

 $339  $599  $369 

Cash paid (received) during the period for income taxes (net of refunds of $79, $153, and $286)

 $2,481  $1,397  $(55

)

Noncash investing and financing activities:

            

Accrued property and equipment purchases

 $788  $325  $719 
Accrued consideration in acquisition of business $911  $-  $- 

Right-of-use assets obtained in exchange for operating lease liabilities

 $16,043  $4,471  $1,335 

Right-of-use assets obtained in exchange for finance lease liabilities

 $853  $507  $819 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

 

 

1.

ORGANIZATION:

 

Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer for water related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources.

 

In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.

 

 

2.

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:

 

Basis of Consolidation and Presentation

 

The Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.

 

Effective in the fourth quarter of 2021, as a result of the acquisition of Park Environmental Equipment, LLC (“ParkUSA”), the Company revised its historical one segment position and identified the new operating segments, SPP and Precast, to align with changes made in its internal management structure and its reporting structure of financial information used to assess performance and allocate resources. See Note 17, “Segment Information” for detailed descriptions of these segments. As a result, certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation.

 

Immaterial Correction of Error

 

The Company recorded revenue of $1.2 million during the three and twelve months ended December 31, 2018, which should have been recorded in the three months ended March 31, 2019. The misstatement in the timing of revenue recognition was due to an error in the measurement of costs incurred to date relative to estimated total direct costs at an acquired Ameron Water Transmission Group, LLC facility. Management concluded that this out of period adjustment was not material to the consolidated financial results for the year ended December 31, 2019.

 

Use of Estimates

 

The preparation of the Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, the Company evaluates all of its estimates, including those related to business combinations, allowance for doubtful accounts, inventories, property and equipment (including depreciation and valuation), goodwill, intangible assets, revenue recognition, share-based compensation, income taxes, and litigation and other contingencies. Actual results may differ from these estimates under different assumptions or conditions.

 

F- 10

 

Business Combinations

 

Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related transaction costs are expensed as incurred.

 

These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances may occur which may affect the accuracy or validity of such estimates. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain. Upon the conclusion of the measurement period or final determination of the fair value of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company’s Consolidated Statements of Operations.

 

Cash and Cash Equivalents

 

Cash and cash equivalents consist of cash and short-term, highly-liquid investments with maturities of three months or less when purchased. At times, the Company will have outstanding checks in excess of related bank balances (a book overdraft). If this occurs, the amount of the book overdraft will be reclassified to accounts payable, and changes in the book overdraft will be reflected as a component of operating activities in the Consolidated Statements of Cash Flows. The Company had a book overdraft of $4.1 million as of December 31, 2021 and no book overdraft as of December 31, 2020.

 

Receivables and Allowance for Doubtful Accounts

 

Trade receivables are reported on the Consolidated Balance Sheets net of doubtful accounts. The Company maintains allowances for estimated losses resulting from the inability of its customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The Company will write down or write off a receivable account once the account is deemed uncollectible. If the customers’ financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances may need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.

 

Contract Assets and Liabilities

 

Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel.

 

Inventories

 

Inventories are stated at the lower of cost and net realizable value. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the first-in, first-out method of accounting.

 

Property and Equipment

 

Property and equipment are recorded at cost. Maintenance and repairs are expensed as incurred, and costs of new equipment and buildings, as well as costs of expansions or refurbishment of existing equipment and buildings, including interest where applicable, are capitalized. Depreciation and amortization are determined by the units of production method for most equipment and by the straight-line method for the remaining assets based on the estimated useful lives of the related assets. Estimated useful lives by major classes of property and equipment are as follows: Land improvements (15 – 30 years); Buildings (20 – 40 years); Leasehold improvements (5 – 30 years); and Machinery and equipment (3 – 30 years). Depreciation expense calculated under the units of production method may be less than, equal to, or greater than depreciation expense calculated under the straight-line method due to variances in production levels. Upon disposal, costs and related accumulated depreciation of the assets are removed from the accounts and resulting gains or losses are reflected in operating expenses. The Company leases certain equipment under long-term finance leases, which are being amortized on a straight-line basis over the shorter of its useful life or the lease term.

 

F- 11

 

The Company assesses impairment of property and equipment whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) may not be recoverable. The asset group is the lowest level at which identifiable cash flows are largely independent of the cash flows of other groups of assets or liabilities. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about the expected future operating performance of the Company.

 

Leases

 

The Company adopted Accounting Standards Codification (“ASC”) Topic 842, “Leases” on January 1, 2019 using the modified retrospective transition method which allowed it to continue to apply legacy guidance for periods prior to 2019. The Company elected the package of transition practical expedients which, among other things, allowed it to keep the historical lease classifications and not reassess the lease classification for any existing leases as of the date of adoption. The Company also made an accounting policy election to apply the short-term lease exception, which allows it to keep leases with an initial term of twelve months or less off the balance sheet.

 

The Company has entered into various equipment and property leases. Certain lease agreements include renewals and/or purchase options set to expire at various dates, and certain lease agreements include rental payments adjusted periodically for inflation. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

 

The Company determines if an arrangement is a lease at inception. Leases with an initial term of twelve months or less are not recorded on the balance sheet; costs for these leases are recognized on a straight-line basis over the lease term. Right-of-use assets and lease liabilities are recognized based on the present value of lease payments over the lease term at commencement date. Because most of the Company’s leases do not provide an implicit rate of return, the Company uses its revolving loan borrowing rate in determining the present value of lease payments. Some of the Company’s lease agreements contain non-lease components, which are accounted for separately.

 

Goodwill

 

Goodwill represents the excess of the purchase price over the fair values of the assets and liabilities assumed in conjunction with an acquisition. Goodwill is reviewed for impairment annually as of December 31, or whenever events occur or circumstances change that indicate goodwill may be impaired. In testing goodwill for impairment, the Company has the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-not (more than 50%) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, the Company evaluates factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. If the qualitative assessment indicates that it is more-likely-than-not that the fair value of the reporting unit is less than its carrying amount, or if the Company chooses not to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, not to exceed the total amount of goodwill allocated to the reporting unit.

 

Intangible Assets

 

Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives ranging from 7 months to 21 years.

 

Workers Compensation

 

The Company is self-insured and maintains high deductible policies for losses and liabilities associated with workers compensation claims. Losses are accrued based upon the Company’s estimates of the aggregate liability for claims incurred using historical experience and certain actuarial assumptions followed in the insurance industry. As of December 31, 2021 and 2020, workers compensation reserves recorded were $1.7 million, of which $0.4 million and $0.2 million, respectively, were included in Accrued liabilities and $1.3 million and $1.5 million, respectively, were included in Other long-term liabilities.

 

F- 12

 

Accrued Liabilities

 

Accrued liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Accrued liabilities:

        

Accrued bonus

 $3,716  $3,747 

Accrued vacation payable

  2,900   2,328 

Foreign currency forward contracts

  661   1,150 

Finance lease liabilities

  475   375 

Workers compensation reserves

  366   237 

Other

  16,380   8,977 

Total accrued liabilities

 $24,498  $16,814 

 

Derivative Instruments

 

The Company conducts business in various foreign countries and, from time to time, settles transactions in foreign currencies. The Company has established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with the Company’s strategy for financial risk management. The Company utilizes cash flow hedge accounting treatment for qualifying foreign currency forward contracts. Instruments that do not qualify for cash flow hedge accounting treatment are remeasured at fair value on each balance sheet date and resulting gains and losses are recognized in earnings.

 

Pension Benefits

 

The Company has two defined benefit pension plans that have been frozen since 2001. The Company funds these plans to cover current plan costs plus amortization of the unfunded plan liabilities. To record these obligations, management uses estimates relating to investment returns, mortality, and discount rates.

 

Foreign Currency Transactions

 

The functional currency of the Company, including its Mexican operations, is the United States dollar. Monetary assets and liabilities are remeasured at current exchange rates and non-monetary assets and liabilities are remeasured at historical exchange rates. Revenue and expenses related to monetary assets and liabilities are remeasured at average exchange rates and at historical exchange rates for the revenue and expenses related to non-monetary assets and liabilities.

 

Transaction gains (losses) from foreign currency forward contracts designated as cash flow hedges are included in Accumulated other comprehensive loss as a separate component of Stockholders’ equity. For the years ended December 31, 2021, 2020, and 2019, net foreign currency transaction gains (losses) of $(0.5) million, $(1.1) million, and $0.5 million, respectively, were recognized in earnings.

 

Revenue Recognition

 

The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct.

 

F- 13

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do not contain significant financing.

 

The Company does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

Share-based Compensation

 

The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of restricted stock units (“RSUs”) and performance share awards (“PSAs”) using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

Income Taxes

 

Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future income tax consequences of events that have been recognized in the Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of the provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. The provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.

 

The Company records income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. The Company assesses income tax positions and records income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-not that an income tax benefit will be sustained, the Company has recorded the largest amount of income tax benefit with a greater than 50% likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is not more-likely-than-not that an income tax benefit will be sustained, no income tax benefit has been recognized in the Consolidated Financial Statements.

 

Accumulated Other Comprehensive Loss

 

Accumulated other comprehensive loss includes unrealized gains and losses on derivative instruments related to the effective portion of cash flow hedges and changes in the funded status of the defined benefit pension plans, both net of the related income tax effect.

 

F- 14

 

Net Income per Share

 

Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.

 

Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Basic weighted-average common shares outstanding

  9,854   9,788   9,741 

Effect of potentially dilutive common shares (1)

  74   85   38 

Diluted weighted-average common shares outstanding

  9,928   9,873   9,779 
             

Net income per common share

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85 

 

 

(1)

There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019.

 

Concentrations of Credit Risk

 

Financial instruments, which potentially subject the Company to concentrations of credit risk, consist principally of trade receivables, foreign currency forward contracts, and deferred compensation plan assets. Trade receivables generally represent a large number of customers, including municipalities, manufacturers, distributors, and contractors, dispersed across a wide geographic base. As of December 31, 2021, no customer had a balance in excess of 10% of total accounts receivable, and one SPP customer had a balance in excess of 10% of total accounts receivable as of December 31, 2020. Foreign currency forward contracts are with a high quality financial institution. The Company’s deferred compensation plan assets, included in Other assets, are invested in a diversified portfolio of stock and bond mutual funds.

 

Recent Accounting and Reporting Developments

 

Accounting Changes

 

In August 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2018‑14, “Compensation—Retirement Benefits—Defined Benefit Plans—General (Topic 715‑20): Disclosure Framework—Changes to the Disclosure Requirements for Defined Benefit Plans” (“ASU 2018‑14”), which modifies the disclosure requirements for employers that sponsor defined benefit pension or other postretirement plans by removing and adding certain disclosures for these plans. The eliminated disclosures include the amounts in accumulated other comprehensive income expected to be recognized in net periodic benefit costs over the next fiscal year and the amount and timing of plan assets expected to be returned to the employer. The new disclosures include an explanation of significant gains and losses related to changes in benefit obligations. The Company adopted ASU 2018‑14 on a retrospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

In December 2019, the FASB issued Accounting Standards Update No. 2019‑12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes” (“ASU 2019‑12”), which simplifies the accounting for income taxes by removing certain exceptions to the general principles in ASC Topic 740, “Income Taxes” (“Topic 740”). ASU 2019‑12 also improves consistent application of and simplifies U.S. GAAP for other areas of Topic 740 by clarifying and amending existing guidance. The Company adopted ASU 2019‑12 on a prospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

F- 15

 

Recent Accounting Standards

 

In March 2020, the FASB issued Accounting Standards Update No. 2020‑04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,” which provides optional expedients and exceptions for applying U.S. GAAP to contracts, hedging relationships, and other transactions affected by the discontinuation of the London Interbank Offered Rate (“LIBOR”) or by another reference rate expected to be discontinued. The guidance was effective beginning March 12, 2020 and can be applied prospectively through December 31, 2022. In January 2021, the FASB issued Accounting Standards Update No. 2021‑01, “Reference Rate Reform - Scope,” which clarified the scope and application of the original guidance. The Company will adopt these standards when LIBOR is discontinued and does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

In October 2021, the FASB issued Accounting Standards Update No. 2021‑08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU 2021‑08”) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic 606, “Revenue from Contracts with Customers,” as if it had originated the contracts. ASU 2021‑08 is effective for the Company beginning January 1, 2023, including interim periods in 2023, with early adoption permitted. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

 

3.

BUSINESS COMBINATIONS:

 

Park Environmental Equipment, LLC

 

On October 5, 2021, the Company completed the acquisition of 100% of Park Environmental Equipment, LLC (“ParkUSA”) for a purchase price of approximately $88.4 million in cash, subject to a post-closing adjustment based on changes in net working capital, and is included in the Precast segment for all periods following the acquisition date. ParkUSA is a precast concrete and steel fabrication-based company that develops and manufactures water, wastewater, and environmental solutions. Operations continue with ParkUSA’s previous management and workforce at its three Texas manufacturing facilities located in Houston, Dallas, and San Antonio.

 

The following table summarizes the purchase consideration and preliminary fair values of the assets acquired and liabilities assumed as of October 5, 2021 (in thousands):

 

Assets

    

Cash and cash equivalents

 $278 

Trade and other receivables

  11,034 

Inventories

  12,773 

Prepaid expenses and other

  293 

Property and equipment

  8,076 

Operating lease right-of-use assets

  58,301 

Intangible assets

  31,000 

Deferred income taxes

  347 

Total assets acquired

  122,102 
     

Liabilities

    

Accounts payable

  2,029 

Accrued liabilities

  4,067 

Operating lease liabilities

  58,301 

Total liabilities assumed

  64,397 
     

Goodwill

  30,699 
     

Total purchase consideration

 $88,404 

 

F- 16

 

The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. The asset and liability fair value measurements primarily related to receivables, inventories, identifiable intangible assets, deferred income taxes, accrued liabilities, and goodwill, are preliminary and subject to change as additional information is obtained. The acquisition accounting will be finalized as soon as practicable within the measurement period, but not later than one year following the acquisition date.

 

The following table summarizes the components of the intangible assets acquired and their estimated useful lives:

 

  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  10.0  $19,800 

Trade names and trade marks

  10.0   9,600 

Patents

  21.0   1,300 

Backlog

  0.6   300 

Total intangible assets

  10.4  $31,000 

 

Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how, and is expected to be deductible for tax purposes.

 

The Company incurred transaction costs associated with this acquisition of $3.4 million and $0.2 million during the years ended December 31, 2021 and 2020, respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.

 

ParkUSA operations contributed net sales of $18.0 million to the Company’s continuing operations for the period from October 5, 2021 to December 31, 2021. It is impracticable to determine the effect on net income as a substantial portion of ParkUSA has been integrated into the Company’s ongoing operations.

 

Geneva Pipe and Precast Company

 

On January 31, 2020, the Company completed the acquisition of 100% of Geneva Pipe and Precast Company (“Geneva”) (fka Geneva Pipe Company, Inc.) for a purchase price of $49.4 million in cash, and is included in the Precast segment for all periods following the acquisition date. Geneva is a concrete pipe and precast concrete products manufacturer based in Utah. This acquisition expanded the Company’s water infrastructure product capabilities by adding additional reinforced concrete pipe capacity and a full line of precast concrete products including storm drains and manholes, catch basins, vaults, and curb inlets as well as innovative lined products that extend the life of concrete pipe and manholes for sewer applications. Operations continue with Geneva’s previous management and workforce at the three Utah manufacturing facilities located in Salt Lake City, Orem, and St. George.

 

F- 17

 

The following table summarizes the purchase consideration and fair values of the assets acquired and liabilities assumed as of January 31, 2020 (in thousands):

 

Assets

    

Cash and cash equivalents

 $691 

Trade and other receivables

  7,089 

Inventories

  5,673 

Prepaid expenses and other

  356 

Property and equipment

  9,096 

Operating lease right-of-use assets

  21,684 

Intangible assets

  11,165 

Total assets acquired

  55,754 
     

Liabilities

    

Accounts payable

  1,395 

Accrued liabilities

  1,189 

Operating lease liabilities

  20,454 

Deferred income taxes

  5,343 

Other long-term liabilities

  939 

Total liabilities assumed

  29,320 
     

Goodwill

  22,985 
     

Total purchase consideration

 $49,419 

 

The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. As a result of additional information obtained during the measurement period about facts and circumstances that existed as of the acquisition date, the Company recorded measurement period adjustments during the three months ended June 30, 2020 which resulted in a $0.1 million balance sheet reclassification between trade and other receivables and inventories.

 

The following table summarizes the components of the intangible assets acquired and their estimated useful lives:

 

  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  11.0  $8,031 

Trade names

  10.0   2,093 

Backlog

  0.9   1,041 

Total intangible assets

  9.9  $11,165 

 

Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how. The goodwill was not deductible for tax purposes.

 

The Company incurred transaction costs associated with this acquisition of $2.6 million and $0.6 million during the years ended December 31, 2020 and 2019, respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.

 

F- 18

 

Unaudited Pro Forma Disclosures

 

The following unaudited pro forma summary presents the consolidated results of the Company as if the acquisition of ParkUSA had occurred on January 1, 2020 and the acquisition of Geneva had occurred on January 1, 2019 (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net sales

 $384,872  $356,035  $323,741 

Net income

  15,780   20,540   27,163 

 

This unaudited pro forma consolidated financial data is included only for the purpose of illustration and does not necessarily indicate what the operating results would have been if the acquisitions of ParkUSA and Geneva had occurred on January 1 of the respective year prior to the acquisition. Moreover, this information is not indicative of what the Company’s future operating results will be. The information prior to the acquisition is included based on prior accounting records maintained by ParkUSA and Geneva. The pro forma amounts have been calculated after applying the Company’s accounting policies and adjusting the results of ParkUSA and Geneva to reflect the additional depreciation and amortization that would have been charged assuming the fair value adjustments to property and equipment and intangible assets had been applied on January 1 of the respective year prior to the acquisition. Adjustments also include an increase of interest expense as if the Company’s debt obtained in connection with the acquisitions of ParkUSA and Geneva had been outstanding since January 1 of the respective year prior to the acquisition. The pro forma results for the year ended December 31, 2020 also include nonrecurring adjustments relating to the recognition of transaction costs incurred and revaluation of inventory acquired. The pro forma results for the year ended December 31, 2021 include nonrecurring adjustments to add back the transaction costs incurred and the expense related to the revaluation of inventory acquired in those periods, since those costs are reflected in the preceding year on a pro forma basis. The provision for income taxes has also been adjusted for all periods, based upon the foregoing adjustments to historical results.

 

 

4.

INVENTORIES:

 

Inventories consist of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Raw materials

 $44,697  $20,631 

Work-in-process

  3,018   1,416 

Finished goods

  10,096   5,489 

Supplies

  1,840   1,641 

Total inventories

 $59,651  $29,177 

 

F- 19

 

5.

PROPERTY AND EQUIPMENT:

 

Property and equipment, net consists of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Land and improvements

 $22,909  $22,773 

Buildings

  49,361   47,663 
Leasehold improvements  3,057   - 

Machinery and equipment

  140,015   127,679 

Equipment under finance lease

  2,839   2,589 
   218,181   200,704 

Less accumulated depreciation and amortization

  (106,957

)

  (96,684

)

   111,224   104,020 

Construction in progress

  10,042   6,164 

Property and equipment, net

 $121,266  $110,184 

 

All property and equipment is located in the United States, except for $19.9 million and $20.3 million of net property and equipment which is located in Mexico as of December 31, 2021 and 2020, respectively.

 

 

6.

GOODWILL AND INTANGIBLE ASSETS:

 

Goodwill

 

The Company has recorded goodwill in connection with its business acquisitions within the Precast reportable segment. The changes in the carrying amount of goodwill for the year ended December 31, 2021 were as follows (in thousands):

 

Goodwill, December 31, 2020

 $22,985 

Acquisition of ParkUSA (Note 3)

  30,699 

Goodwill, December 31, 2021

 $53,684 

 

The Company performed its annual goodwill impairment test as of December 31, 2021, utilizing a qualitative analysis, and did not identify any potential impairment.

 

Intangible Assets

 

Intangible assets consist of the following (in thousands):

 

  Gross Carrying Amount  Accumulated Amortization  Intangible Assets, Net 

As of December 31, 2021

            

Customer relationships

 $29,209  $(2,997

)

 $26,212 

Trade names and trademarks

  12,825   (1,245

)

  11,580 

Patents

  1,300   (15

)

  1,285 

Backlog

  300   (129

)

  171 

Other

  329   (201

)

  128 

Total

 $43,963  $(4,587

)

 $39,376 
             

As of December 31, 2020

            

Customer relationships

 $9,409  $(1,634

)

 $7,775 

Trade names and trademarks

  3,225   (720

)

  2,505 

Other

  329   (91

)

  238 

Total

 $12,963  $(2,445

)

 $10,518 

 

F- 20

 

During the year ended December 31, 2021, intangible assets increased primarily due to the acquisition of ParkUSA. See Note 3, “Business Combinations” for additional information related to this transaction.

 

The estimated amortization expense for each of the next five years and thereafter is as follows (in thousands):

 

Year ending December 31,

    

2022

 $4,436 

2023

  4,173 

2024

  4,017 

2025

  4,017 

2026

  4,017 

Thereafter

  18,716 

Total amortization expense

 $39,376 

 

 

7.

CREDIT AGREEMENT:

 

The Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021 (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”). The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 30, 2024. The Company may prepay outstanding amounts in its discretion without penalty at any time, subject to applicable notice requirements. In conjunction with entering into the Credit Agreement on June 30, 2021, the Company terminated the Credit Agreement with Wells Fargo dated October 25, 2018, as amended on January 31, 2020 by the Consent and Amendment No. 1 to Credit Agreement with Wells Fargo (together, the “Former Credit Agreement”), and all outstanding debt under the Former Credit Agreement, including long-term debt, was repaid.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 2.50 to 1.00 (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (as defined in the Amended Credit Agreement) of at least $31.5 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will not sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of December 31, 2021.

 

The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.

 

Interest expense from revolving loan borrowings, long-term debt, and finance leases was $1.2 million, net of amounts capitalized of $0.1 million in 2021, $0.9 million, net of amounts capitalized of $0.1 million in 2020, and $0.5 million in 2019. A nominal amount of interest was capitalized in 2019.

 

F- 21

 

Line of Credit (Revolving and Swingline Loans)

 

As of December 31, 2021 under the Amended Credit Agreement, the Company had $86.8 million of outstanding revolving loan borrowings, $1.6 million of outstanding letters of credit, and additional borrowing capacity of approximately $37 million. As of December 31, 2020 under the Former Credit Agreement, the Company had no outstanding revolving loan borrowings and $1.6 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement including certain LIBOR transition provisions, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) LIBOR plus the Applicable Margin; or (iii) the daily one month LIBOR plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.25%, depending on the Company’s Senior Leverage Ratio (as defined in the Amended Credit Agreement). Interest on outstanding revolving loans is payable quarterly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of December 31, 2021 and 2020, the weighted-average interest rate for outstanding borrowings was 1.85% and 1.73%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable quarterly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.

 

 

8.

LEASES:

 

The following table summarizes the Company’s leases recorded on the Consolidated Balance Sheets (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Right-of-use assets:

        

Finance leases, net, included in Property and equipment (1)

 $1,730  $1,288 

Operating leases

  98,507   30,813 

Total right-of-use assets

 $100,237  $32,101 
         

Lease liabilities:

        

Finance leases

 $2,169  $1,729 

Operating leases

  98,429   30,115 

Total lease liabilities

 $100,598  $31,844 

 

 

(1)

Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of December 31, 2021 and 2020, respectively.

 

Lease cost consists of the following (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Finance lease cost:

            

Amortization of right-of-use assets

 $413  $422  $435 

Interest on lease liabilities

  90   79   57 

Operating lease cost

  4,627   3,647   1,934 

Short-term lease cost

  993   745   1,442 

Variable lease cost

  158   199   141 

Total lease cost

 $6,281  $5,092  $4,009 

 

F- 22

 

The future maturities of lease liabilities as of December 31, 2021 are as follows (in thousands):

 

  

Finance Leases

  

Operating Leases

 
         

2022

 $574  $6,802 

2023

  378   6,669 

2024

  692   6,499 

2025

  449   6,529 

2026

  360   6,431 

Thereafter

  -   88,557 

Total lease payments

  2,453   121,487 

Amount representing interest

  (284

)

  (23,058

)

Present value of lease liabilities

  2,169   98,429 

Current portion of lease liabilities (1)

  (475

)

  (4,704

)

Long-term lease liabilities (2)

 $1,694  $93,725 

 

 

(1)

Current portion of finance lease liabilities are included in Accrued liabilities.

 

 

(2)

Long-term finance lease liabilities, less current portion are included in Other long-term liabilities.

 

The following table summarizes the lease terms and discount rates for the lease liabilities:

 

  

December 31,

 
  

2021

  

2020

 

Weighted-average remaining lease term (years)

        

Finance leases

  

3.56

   

3.67

 

Operating leases

  

18.42

   

18.21

 

Weighted-average discount rate

        

Finance leases

  

5.10

%

  

5.22

%

Operating leases

  

2.18

%

  

3.36

%

 

The following table presents other information related to the operating and finance leases (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Cash paid for amounts included in the measurement of lease liabilities:

            

Operating cash flows from finance leases

 $(90

)

 $(79

)

 $(57

)

Operating cash flows from operating leases

  (4,142

)

  (3,481

)

  (1,909

)

Financing cash flows from finance leases

  (415

)

  (420

)

  (434

)

Right-of-use assets obtained in exchange for finance lease liabilities

  853   507   819 

Right-of-use assets obtained in exchange for operating lease liabilities

  16,043   4,471   1,335 

 

 

9.

FAIR VALUE MEASUREMENTS:

 

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date.

 

The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. These levels are: Level 1 (inputs are quoted prices in active markets for identical assets or liabilities); Level 2 (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level 3 (inputs are unobservable, with little or no market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.

 

F- 23

 

The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):

 

  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2021

                

Financial assets:

                

Deferred compensation plan

 $4,321  $3,830  $491  $- 

Foreign currency forward contracts

  17   -   17   - 

Total financial assets

 $4,338  $3,830  $508  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(661

)

 $-  $(661

)

 $- 
                 

As of December 31, 2020

                

Financial assets:

                

Deferred compensation plan

 $4,717  $3,884  $833  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1,150

)

 $-  $(1,150

)

 $- 

 

The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level 1 within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level 2 within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Consolidated Balance Sheets.

 

The Company’s foreign currency forward contracts are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level 2 within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. Foreign currency forward contracts are presented at their gross fair values. Foreign currency forward contract assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Consolidated Balance Sheets.

 

The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.

 

 

10.

DERIVATIVE INSTRUMENTS AND HEDGING ACTIVITIES:

 

For each foreign currency forward contract entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all foreign currency forward contracts to specific firm commitments or forecasted transactions and designating the foreign currency forward contracts as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the foreign currency forward contracts that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized loss on cash flow hedges on the Consolidated Statements of Comprehensive Income. If it is determined that a foreign currency forward contract is not highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that foreign currency forward contract prospectively.

 

As of December 31, 2021 and 2020, the total notional amount of the foreign currency forward contracts designated as cash flow hedges was $19.0 million (CAD$24.1 million) and $15.3 million (CAD$19.5 million), respectively. As of December 31, 2021, the Company’s foreign currency forward contracts mature at various dates through April 2023 and are subject to an enforceable master netting arrangement.

 

F- 24

 

As of December 31, 2021 and 2020, all foreign currency forward contracts were designated as cash flow hedges. Gains (losses) recognized in Net sales from foreign currency forward contracts not designated as hedging instruments were approximately $0, $(0.6) million, and $(0.1) million for the years ended December 31, 2021, 2020, and 2019, respectively. As of December 31, 2021, unrealized pretax losses on outstanding foreign currency forward contracts in Accumulated other comprehensive loss was $(0.3) million, of which approximately $0 is expected to be reclassified to Net sales within the next twelve months as a result of underlying hedged transactions also being recorded in Net sales. See Note 16, “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract gains and losses.

 

 

11.

RETIREMENT PLANS:

 

Defined Contribution Plan

 

The Company has a defined contribution retirement plan that covers substantially all of its employees and provides for a Company match of up to 50% of the first 8%, 8%, and 6% of employee contributions to the plan, subject to certain limitations, for the years ended December 31, 2021, 2020, and 2019, respectively. The defined contribution retirement plan offers 25 investment options.

 

ParkUSA had a defined contribution retirement plan that covered substantially all of its employees and provided for a match of up to 100% of the first 4% of employee contributions to the plan, subject to certain limitations. After the acquisition of ParkUSA on October 5, 2021, employees of ParkUSA continued to contribute to this plan until it was merged into the Company’s plan effective December 31, 2021.

 

Defined Benefit Plans

 

The Company has two noncontributory defined benefit plans. Effective 2001, both plans were frozen and participants were fully vested in their accrued benefits as of the date each plan was frozen. No additional participants can be added to the plans and no additional service can be earned by participants subsequent to the date the plans were frozen. The funding policy for both of these plans is based on current plan costs plus amortization of the unfunded plan liability. All current employees covered by these plans are now covered by the defined contribution retirement plan.

 

As of December 31, 2021 and 2020, the Company had recorded, in accordance with the actuarial valuations, an accrued pension liability of $1.0 million and $1.6 million, respectively, in Other long-term liabilities and an unrecognized actuarial loss, net of tax, of $1.5 million and $1.8 million, respectively, in Accumulated other comprehensive loss. Additionally, as of December 31, 2021 and 2020, the projected and accumulated benefit obligation was $6.1 million and $6.5 million, respectively, and the fair value of plan assets was $5.1 million and $4.9 million, respectively.

 

The net periodic benefit cost for each of the years ended December 31, 2021, 2020, and 2019 was approximately $0. The weighted-average discount rates used to measure the projected benefit obligation were 2.41% and 2.04% as of December 31, 2021 and 2020, respectively.

 

The plan assets are invested in pooled separate accounts stated at fair value based on the daily net asset value of the account and are therefore not categorized in the fair value hierarchy. The expected weighted-average long-term rate of return on plan assets was 7.0% as of December 31, 2021 and 2020.

 

Non-qualified Retirement Savings Plan

 

The Company has a deferred compensation plan that covered officers and selected highly compensated employees until it was frozen in 2016. The deferred compensation plan generally matched up to 50% of the first $10,000 of officer contributions to the plan and the first $5,000 of other selected highly compensated employee contributions, subject to certain limitations. As of December 31, 2021 and 2020, deferred compensation plan balances of $4.3 million and $4.7 million, respectively, were recorded in Other assets and Other long-term liabilities.

 

Total expense for all retirement plans for the years ended December 31, 2021, 2020, and 2019 was $1.8 million, $1.6 million, and $1.2 million, respectively, and is primarily related to the defined contribution plan.

 

F- 25

 

12.

SHARE-BASED COMPENSATION:

 

The Company has one active stock incentive plan for employees and directors, the 2007 Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, RSUs, and PSAs.

 

The following table summarizes share-based compensation expense recorded (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Cost of sales

 $1,003  $822  $383 

Selling, general, and administrative expense

  2,213   2,266   1,326 

Total

 $3,216  $3,088  $1,709 

 

There were 222,022 shares of common stock available for future issuance under the Company’s stock incentive plan as of December 31, 2021, assuming the outstanding PSAs vest at the target level of 100%.

 

Stock Options Awards

 

The Company’s stock incentive plan provides that options become exercisable according to vesting schedules and terminate according to the terms of the grant. There were no options granted during the years ended December 31, 2021, 2020, or 2019. During the year ended December 31, 2020, 24,000 stock options at a weighted-average exercise price of $24.15 were exercised. The total intrinsic value of options exercised during the year ended December 31, 2020 was $0.1 million. There were no options exercised during the years ended December 31, 2021 or 2019. As of December 31, 2021 and 2020, there were no stock options outstanding.

 

Restricted Stock Units and Performance Share Awards

 

The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares over a specified period of time. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.

 

The following table summarizes the Company’s RSU and PSA activity:

 

  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2020

  129,572  $25.86 

RSUs and PSAs granted

  90,368   33.30 

RSUs and PSAs vested (2)

  (58,809

)

  25.53 

Unvested RSUs and PSAs as of December 31, 2021

  161,131   30.26 

 

 

(1)

The number of PSAs disclosed in this table are at the target level of 100%.

 

 

(2)

For the PSAs vested on March 31, 2021; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the 2019-2020 performance period and 200% for the 2020 performance period.

 

The unvested balance of RSUs and PSAs as of December 31, 2021 includes approximately 116,000 PSAs at a target level of performance. The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.

 

F- 26

 

The weighted-average grant date fair value of RSUs and PSAs granted during the years ended December 31, 2021, 2020, and 2019 was $33.30, $26.61, and $23.56, respectively. The total fair value of RSUs and PSAs vested during the years ended December 31, 2021, 2020, and 2019 was $3.3 million, $2.0 million, and $0, respectively.

 

Based on the estimated level of achievement of the performance targets associated with the PSAs, as of December 31, 2021, unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $2.7 million, which is expected to be recognized over a weighted-average period of 1.5 years.

 

Stock Awards

 

For the years ended December 31, 2021, 2020, and 2019, stock awards of 12,606 shares, 17,442 shares, and 11,924 shares, respectively, were granted to non-employee directors, which vested immediately upon issuance. The Company recorded compensation expense based on the weighted-average fair market value per share of the awards on the grant date of $30.94 in 2021, $25.81 in 2020, and $25.16 in 2019.

 

 

13.

COMMITMENTS AND CONTINGENCIES:

 

Portland Harbor Superfund Site

 

In December 2000, a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does not border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in December 2000, the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in February 2016, and the feasibility study in June 2016, which identified multiple remedial alternatives. In January 2017, the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion and 13 years to complete. The EPA has not yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and no further adjustment to the Consolidated Financial Statements has been recorded as of the date of this filing.

 

The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. No liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have not yet been determined.

 

Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section 107. The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, three federal agencies, and one state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In June 2014, the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has not assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.

 

In January 2017, the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in 2009, filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The Company does not have sufficient information to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.

 

F- 27

 

The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide no assurance that those policies will cover all of the costs which the Company may incur.

 

All Sites

 

The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations there under which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does not believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.

 

Other Contingencies and Legal Proceedings

 

From time to time, the Company is involved in litigation relating to claims arising out of its operations in the normal course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does not cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is not presently a party to litigation, the outcome of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.

 

On April 21, 2019, there was an accidental fire at the Company’s Saginaw, Texas facility which resulted in damage to the coatings building. There were no injuries, but the ability to coat at this facility was impaired while the Company repaired the damage. The Company’s other production locations were deployed to absorb the lost production that resulted. The Company has insurance coverage in place covering, among other things, business interruption and property damage up to certain specified amounts, and worked with its insurance company to restore the facility to full service as safely and quickly as possible. The Saginaw facility resumed operations in October 2019. The Company received $1.4 million of business interruption insurance recovery (net of incremental production costs) during the year ended December 31, 2020 and incurred $1.6 million of incremental production costs (net of business interruption insurance recovery) during the year ended December 31, 2019, which were recorded in Cost of sales.

 

Commitments

 

As of December 31, 2021, the Company’s commitments include approximately $10 million relating to its investment in a new reinforced concrete pipe mill for which the Company has not yet received the equipment.

 

Guarantees

 

The Company has entered into certain letters of credit that total $1.6 million as of December 31, 2021. The letters of credit relate to workers’ compensation insurance.

 

 

14.

REVENUE:

 

Net sales by geographic region, based on the location of the customer, were as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales by geographic region:

            

United States

 $313,729  $254,956  $252,797 

Canada

  19,584   30,951   26,520 

Total

 $333,313  $285,907  $279,317 

 

One SPP customer accounted for 12%, 16% and 23% of total net sales for the years ended December 31, 2021, 2020, and 2019, respectively. No Precast customer accounted for more than 10% of total net sales for the years ended December 31, 2021, 2020, and 2019.

 

Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $2.0 million, $2.2 million, and $(1.2) million for the years ended December 31, 2021, 2020, and 2019, respectively.

 

F- 28

 

Disaggregation of Revenue

 

The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Over time (Engineered Steel Pressure Pipe)

 $259,823  $241,690  $279,317 

Point in time (Precast Infrastructure and Engineered Systems)

  73,490   44,217   - 

Net sales

 $333,313  $285,907  $279,317 

 

Contract Assets and Liabilities

 

The difference between the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and billings. The changes in the contract assets and contract liabilities balances during the years ended December 31, 2021, 2020, and 2019 were not materially affected by any other factors.

 

The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $6.2 million, $12.3 million, and $3.7 million during the years ended December 31, 2021, 2020, and 2019, respectively.

 

Backlog

 

Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of December 31, 2021, backlog was approximately $183 million. The Company expects to recognize approximately 82% of the remaining performance obligations in 2022 and 18% in 2023.

 

 

15.

INCOME TAXES:

 

The United States and foreign components of Income before income taxes are as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

United States

 $14,000  $24,768  $32,244 

Foreign

  1,158   866   396 

Total

 $15,158  $25,634  $32,640 

 

The components of Income tax expense (benefit) are as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Current:

            

Federal

 $2,256  $958  $174 

State

  1,064   1,342   (16

)

Foreign

  213   243   439 

Total current income tax expense

  3,533   2,543   597 

Deferred:

            

Federal

  573   4,380   3,597 

State

  (464)  (386

)

  561 

Foreign

  (7)  47   (17

)

Total deferred income tax expense

  102   4,041   4,141 

Total income tax expense

 $3,635  $6,584  $4,738 

 

F- 29

 

The difference between the Company’s effective income tax rate and the federal statutory income tax rate is explained as follows (dollar amounts in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Income tax expense at federal statutory rate

 $3,183  $5,383  $6,854 

State expense, net of federal income tax effect

  547   953   1,261 

Change in valuation allowance

  (247)  (181

)

  (3,564

)

Nondeductible expenses

  (31)  447   (24

)

Foreign rate differential

  104   78   36 

Other

  79   (96

)

  175 

Income tax expense

 $3,635  $6,584  $4,738 

Effective income tax rate

  24.0

%

  25.7

%

  14.5

%

 

The income tax effect of temporary differences that give rise to significant portions of deferred income tax assets and liabilities is presented below (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Deferred income tax assets:

        

Accrued employee benefits

 $3,125  $3,525 

Inventories

  30   73 

Trade receivable, net

  833   958 

Net operating loss carryforwards

  3,099   3,231 

Tax credit carryforwards

  2,888   2,699 
Contract assets, net  313   - 

Other

  984   389 
   11,272   10,875 

Valuation allowance

  (5,899

)

  (6,228

)

   5,373   4,647 

Deferred income tax liabilities:

        

Contract assets, net

  -

 

  (1,366

)

Property and equipment

  (12,937

)

  (12,029

)

Intangible assets

  (1,902

)

  (2,737

)

Goodwill  (129)  - 

Prepaid expenses

  (1,005

)

  (889

)

   (15,973

)

  (17,021

)

         

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

         

Amounts are presented in the Consolidated Balance Sheets as follows:

        

Deferred income tax assets, included in Other assets

 $384  $107 

Deferred income taxes

  (10,984

)

  (12,481

)

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

 

In assessing the ability to realize deferred income tax assets, management considers whether it is more likely than not that some portion or all of the deferred income tax assets will not be realized. The ultimate realization of deferred income tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. Management considers the scheduled reversal of deferred income tax liabilities, projected future taxable income, taxable income in carryback periods, and tax planning strategies in making this assessment. The Company believes it is more likely than not it will realize the benefits of its deductible differences as of December 31, 2021, net of any valuation allowance. As of December 31, 2021, the Company continues to maintain a valuation allowance on federal tax credits, capital loss carryforwards, and select state jurisdictions.

 

F- 30

 

As of December 31, 2021, the Company had approximately $0.4 million of federal income tax credit carryforwards, which expire on various dates between 2023 and 2026, and $0.8 million of capital loss carryforwards, which expire in 2024. As of December 31, 2021, the Company also had approximately $27.3 million of state net operating loss carryforwards, which expire on various dates between 2022 and 2038, and state income tax credit carryforwards of $4.4 million, which begin to expire in 2022. As of December 31, 2021, the Company also had approximately $4.6 million of foreign net operating loss carryforwards, which expire on various dates between 2023 and 2030.

 

The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is no longer subject to United States Federal, state, or foreign income tax examinations for years before 2017.

 

A summary of the changes in the unrecognized income tax benefits is presented below (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Unrecognized income tax benefits, beginning of year

 $4,350  $4,350  $4,350 

Increases for positions taken in prior years

  16   -   - 

Unrecognized income tax benefits, end of year

 $4,366  $4,350  $4,350 

 

The Company does not believe it is reasonably possible that the total amounts of unrecognized income tax benefits will change in the following twelve months; however, actual results could differ from those currently expected. Effectively all of the unrecognized income tax benefits would affect the Company’s effective income tax rate if recognized at some point in the future.

 

The Company recognizes interest and penalties related to uncertain income tax positions in Income tax expense. As of December 31, 2021, the Company had approximately $0 accrued interest related to uncertain income tax positions, and none as of December 31, 2020. Total interest for uncertain income tax positions did not change materially in 2021, 2020, or 2019.

 

On December 22, 2017, the Tax Cuts and Jobs Act of 2017 (“TCJA”) was signed into law making significant changes to the Internal Revenue Code. Changes included, but were not limited to, a federal corporate income tax rate decrease from 35% to 21% effective for tax years beginning after December 31, 2017, the transition of U.S. international taxation from a worldwide tax system to a territorial system, and a one-time transition tax on the mandatory deemed repatriation of cumulative foreign earnings as of December 31, 2017. On January 1, 2019, the Company adopted Accounting Standards Update No. 2018‑02, “Income Statement—Reporting Comprehensive Income (Topic 220): Reclassification of Certain Tax Effects from Accumulated Other Comprehensive Income” (“ASU 2018‑02”), which resulted in a reclassification of $0.2 million from accumulated other comprehensive loss to retained earnings for stranded tax effects resulting from the TCJA.

 

 

16.

ACCUMULATED OTHER COMPREHENSIVE LOSS:

 

Accumulated other comprehensive loss consists of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Pension liability adjustment, net of income tax benefit of $577 and $679

 $(1,487

)

 $(1,795

)

Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20

  (195

)

  (71

)

Total

 $(1,682

)

 $(1,866

)

 

F- 31

 

The following table summarizes changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:

 

  Pension Liability Adjustment  Unrealized Loss on Cash Flow Hedges  

Total

 
             

Balance, December 31, 2020

 $(1,795

)

 $(71

)

 $(1,866

)

             

Other comprehensive income (loss) before reclassifications

  386   (178

)

  208 

Amounts reclassified from Accumulated other comprehensive loss

  (78

)

  54   (24

)

Net current period adjustments to Other comprehensive loss

  308   (124

)

  184 
             

Balance, December 31, 2021

 $(1,487

)

 $(195

)

 $(1,682

)

 

The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Consolidated Statements of Operations (in thousands):

 

  

Amount reclassified from Accumulated Other Comprehensive Loss

 

Affected line item in the

Details about Accumulated Other

 

Year Ended December 31,

 

Consolidated Statements

Comprehensive Loss Components

 

2021

  

2020

  

2019

 

of Operations

              

Pension liability adjustment:

             

Net periodic pension cost:

             

Service cost

 $(7

)

 $(16

)

 $(11

)

Cost of sales

Non-service cost

  110   46   (15

)

Other income

Associated income tax (expense) benefit

  (25

)

  (8

)

  4 

Income tax expense

   78   22   (22

)

 

Unrealized gain (loss) on cash flow hedges:

             

Gain (loss) on cash flow hedges

  (72

)

  (378

)

  5 

Net sales

Associated income tax benefit

  18   97   2 

Income tax expense

   (54

)

  (281

)

  7  

Total reclassifications for the period

 $24  $(259

)

 $(15

)

 

 

 

17.

SEGMENT INFORMATION:

 

The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does not allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.

 

The Company’s Engineered Steel Pressure Pipe segment manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto, California; Saginaw, Texas; Tracy, California; Parkersburg, West Virginia; St. Louis, Missouri; and San Luis Río Colorado, Mexico.

 

The Company’s Precast Infrastructure and Engineered Systems segment manufactures high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, catch basins, oil water separators, pump lift stations, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Houston, Texas; Orem, Utah; Dallas, Texas; Salt Lake City, Utah; San Antonio, Texas; and St. George, Utah.

 

F- 32

 

The following table disaggregates revenue as well as other financial information based on the Company’s reportable segments (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales:

            

Engineered Steel Pressure Pipe

 $259,823  $241,690  $279,317 

Precast Infrastructure and Engineered Systems

  73,490   44,217   - 

Total

 $333,313  $285,907  $279,317 
             

Gross profit:

            

Engineered Steel Pressure Pipe

 $31,281  $44,293  $47,184 

Precast Infrastructure and Engineered Systems

  12,973   6,226   - 

Total

 $44,254  $50,519  $47,184 
             

Depreciation and amortization expense:

            

Engineered Steel Pressure Pipe

 $9,524  $10,746  $12,363 

Precast Infrastructure and Engineered Systems

  3,738   3,407   - 
   13,262   14,153   12,363 

Corporate

  362   398   350 

Total

 $13,624  $14,551  $12,713 
             

Capital expenditures:

            

Engineered Steel Pressure Pipe

 $7,538  $12,031  $8,033 

Precast Infrastructure and Engineered Systems

  5,255   1,397   - 
   12,793   13,428   8,033 

Corporate

  469   585   552 

Total

 $13,262  $14,013  $8,585 

 

The following table disaggregates total assets based on the Company’s reportable segments (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Total assets:

        

Engineered Steel Pressure Pipe

 $308,819  $249,680 

Precast Infrastructure and Engineered Systems

  228,627   77,765 
   537,446   327,445 

Corporate

  10,233   45,570 

Total

 $547,679  $373,015 

 

F- 33

 

18.

QUARTERLY DATA (UNAUDITED):

 

Summarized quarterly financial data is as follows (in thousands, except per share amounts):

 

  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2021

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,057  $58,748  $69,439  $71,579  $259,823 

Precast Infrastructure and Engineered Systems

  12,254   15,064   15,204   30,968   73,490 

Total

 $72,311  $73,812  $84,643  $102,547  $333,313 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $7,154  $6,615  $8,844  $8,668  $31,281 

Precast Infrastructure and Engineered Systems

  1,621   2,923   3,519   4,910   12,973 

Total

 $8,775  $9,538  $12,363  $13,578  $44,254 
                     

Net income

 $2,175  $2,131  $4,946  $2,271  $11,523 
                     

Income per share:

                    

Basic

 $0.22  $0.22  $0.50  $0.23  $1.17 

Diluted

 $0.22  $0.21  $0.50  $0.23  $1.16 

 

  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2020

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,878  $57,649  $65,077  $58,086  $241,690 

Precast Infrastructure and Engineered Systems

  8,045   12,322   12,555   11,295   44,217 

Total

 $68,923  $69,971  $77,632  $69,381  $285,907 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $8,765  $10,704  $13,917  $10,907  $44,293 

Precast Infrastructure and Engineered Systems

  814   2,254   1,702   1,456   6,226 

Total

 $9,579  $12,958  $15,619  $12,363  $50,519 
                     

Net income

 $564  $5,998  $7,267  $5,221  $19,050 
                     

Income per share:

                    

Basic

 $0.06  $0.61  $0.74  $0.54  $1.95 

Diluted

 $0.06  $0.61  $0.73  $0.53  $1.93 

 

F- 34

 
 

 

Schedule II

 

NORTHWEST PIPE COMPANY

VALUATION AND QUALIFYING ACCOUNTS

(Dollars in thousands)

 

  Balance at Beginning of Period  Charged to Profit and Loss  Deduction from Reserves  Balance at End of Period 

Year Ended December 31, 2021:

                

Allowance for doubtful accounts

 $767  $653  $(917

)

 $503 

Valuation allowance for deferred income tax assets

  6,228   -   (329

)

  5,899 
                 

Year Ended December 31, 2020:

                

Allowance for doubtful accounts

 $801  $430  $(464

)

 $767 

Valuation allowance for deferred income tax assets

  6,126   240   (138

)

  6,228 
                 

Year Ended December 31, 2019:

                

Allowance for doubtful accounts

 $660  $312  $(171

)

 $801 

Valuation allowance for deferred income tax assets

  9,433   345   (3,652

)

  6,126 

 

S- 1

 

 

SIGNATURES

 

Pursuant to the requirements of Section 13 or 15(d) 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, on the 16th day of March 2022.

 

 

NORTHWEST PIPE COMPANY 

     
 

By

/S/    SCOTT MONTROSS       

   

Scott Montross

   

Director, President, and Chief Executive Officer

 

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities indicated, on the 16th day of March 2022.

 

Signature

 

Title

     

/S/    RICHARD A. ROMAN       

 

Director and Chairman of the Board

Richard A. Roman

   
     

/S/    SCOTT MONTROSS       

 

Director, President, and Chief Executive Officer

Scott Montross

 

(principal executive officer)

     

/S/    AARON WILKINS       

 

Senior Vice President, Chief Financial Officer and Corporate Secretary

Aaron Wilkins

 

(principal financial and accounting officer)

     
     

/S/    MICHAEL C. FRANSON       

 

Director

Michael C. Franson

   
     

/S/    AMANDA L. KULESA       

 

Director

Amanda L. Kulesa

   
     

/S/    KEITH R. LARSON       

 

Director

Keith R. Larson

   
     

/S/    JOHN T. PASCHAL       

 

Director

John T. Paschal

   

 

 
EX-3.1 2 ex_341631.htm EXHIBIT 3.1 ex_341631.htm

 

 

 

Exhibit 3.1

SECOND RESTATED ARTICLES OF INCORPORATION

OF

NORTHWEST PIPE COMPANY

 

 

Pursuant to ORS 60.451, these Second Restated Articles of Incorporation supersede the existing articles and all previous amendments (these “Articles”).

 

ARTICLE I

 

The name of this Corporation shall be Northwest Pipe Company and its duration shall be perpetual.

 

 

ARTICLE II

 

A.         The authorized capital stock of the Corporation consists of 15,000,000 shares of common stock par value $0.01 per share (“Common Stock”) and 10,000,000 shares of preferred stock par value $0.01 per share (“Preferred Stock”).

 

B.         On the effective date of these Second Restated Articles of Incorporation, each designated and each outstanding share of Series A Common Stock and each designated and each outstanding share of Series B Common Stock is hereby redesignated as a share of Common Stock. Further, on the effective date of these Second Restated Articles of Incorporation, each outstanding share of Common Stock shall be combined and reconstituted as 0.858 share. Any fractional shares resulting from this reverse stock split (after aggregating all shares of each separate class or series held by each holder) shall be rounded up to the next whole share. The total authorized capital set forth above reflects the foregoing reverse stock split.

 

C.         The Board of Directors shall have the power to issue, from time to time, one or more series of Preferred Stock or special stock in any manner permitted by law and not inconsistent with these Articles or the Bylaws of the Corporation. The Board of Directors shall have the authority to fix and determine, subject to the provisions of these Articles, the rights and preferences of the shares of such additional series, which shall be established by a resolution or resolutions of the Board of Directors providing for the issuance of such series.

 


1 - SECOND RESTATED ARTICLES OF INCORPORATION

 

 

ARTICLE III

 

No shareholder of the Corporation shall have any preemptive or other first right to acquire any treasury shares or any additional issue of shales of stock or other securities of the Corporation, either presently authorized or to be authorized. This Article III shall not prohibit the granting of any such right to any shareholder pursuant to any contract or other agreement.

 

ARTICLE IV

 

A.     The Corporation shall indemnify to the fullest extent not prohibited by law any person who was or is a party or is threatened to be made a party to any Proceeding against all expenses (including attorney fees), judgments, fines, and amounts paid in settlement actually or reasonably incurred by the person in connection with such Proceeding.

 

B.       Expenses incurred by a director or officer of the Corporation in defending a Proceeding shall in all cases be paid by the Corporation in advance of the final disposition of such Proceeding at the written request of such person, if the person:

 

1.         Furnishes the Corporation a written affirmation of the person's good faith belief that such person has met the standard of conduct described in the Oregon Business Corporation Act or is entitled to be indemnified by the Corporation under any other indemnification rights granted by the Corporation to such person; and

 

2.         Furnishes the Corporation a written undertaking to repay such advance to the extent it is ultimately determined by a court that such person is not entitled to be indemnified by the Corporation under this Article IV or under any other indemnification rights granted by the Corporation to such person.

 

Such advances shall be made without regard to the person’s ability to repay such advances and without regard to the person’s ultimate entitlement to indemnification under this Article IV or otherwise.

 

C.       The term “Proceeding” shall include any threatened, pending, or completed action, suit, or proceeding, whether brought in the right of the Corporation or otherwise and whether of a civil, criminal, administrative, or investigative nature, in which a person may be or may have been involved as a party or otherwise by reason of the fact that the person is or was a director or officer of the Corporation or a fiduciary within the meaning of the Employee Retirement Income Security Act of 1974 with respect to any employee benefit plan of the Corporation, or is or was serving at the request of the Corporation as a director, officer, or fiduciary of an employee benefit plan of another corporation, partnership, joint venture, trust, or other enterprise, whether or not serving in such capacity at the time any liability or expense is incurred for which indemnification or advancement of expenses can be provided under this Article IV.

 


2 - SECOND RESTATED ARTICLES OF INCORPORATION

 

 

D.         The indemnification and entitlement to advancement of expenses provided by this Article IV shall not be deemed exclusive of any other rights to which those indemnified may be entitled under the Corporation’s articles of incorporation or any statute, agreement, general or specific action of the board of directors, vote of stockholders, or otherwise, shall continue as to a person who has ceased to be a director or officer, shall inure to the benefit of the heirs, executors and administrators of such person, and shall extend to all claims for indemnification or advancement of expenses made after the adoption of this Article IV.

 

E.         Any repeal of this Article IV shall only be prospective and no repeal or modification hereof shall adversely affect the rights under this Article IV in effect at the time of the alleged occurrence of any action or omission to act that is the cause of any Proceeding.

 

F.         To the fullest extent permitted by law, no director of this Corporation shall be personally liable to the Corporation or its shareholders for monetary damages for conduct as a director. No amendment or repeal of this Article IV, nor the adoption of any provision of these Articles inconsistent with this Article IV, nor a change in the law, shall adversely affect any right or protection of a director, which right or protection is based upon this Article IV and arises from conduct that occurred prior to the time of such amendment, repeal, adoption or change. No change in the law shall reduce or eliminate the rights and protections applicable immediately after this provision becomes effective unless the change in the law shall specifically require such reduction or elimination. If the Oregon Business Corporation Act or its successor is amended, after this Article IV becomes effective, to authorize corporate action further eliminating or limiting the personal liability of directors of the Corporation, then the liability of directors of this Corporation shall be eliminated or limited to the fullest extent permitted by the Oregon Business Corporation Act, as so amended.

 

ARTICLE V

 

A.         The number of directors of the Corporation shall be not less than six nor more than nine, and within such limits, the exact number shall be fixed and increased or decreased from time to time by resolution of the Board of Directors. The directors shall be divided into three classes designated Class I, Class II and Class III, each class to be as nearly equal in number as possible. At a special meeting of shareholders on the effective date of these Restated Articles of Incorporation (“First Meeting”), directors of all three classes shall be elected. The term of office of Class I directors shall expire at the 1996 annual meeting of shareholders. The terms of Class II directors shall expire at the 1997 annual meeting of shareholders. The terms of the Class III directors shall expire at the 1998 annual meeting of shareholders. At each annual meeting of shareholders after the First Meeting, each class of directors elected to succeed those directors whose terms expire shall be elected to serve for three-year terms and until their successors are elected and qualified, so that the term of one class of directors will expire each year. When the number of directors is changed within the limits provided herein, any newly created directorships, or any decrease in directorships, shall be so apportioned among the classes as to make all classes as nearly equal as possible, provided that no decrease in the number of directors constituting the Board of Directors shall shorten the term of any incumbent directors.

 


3 - SECOND RESTATED ARTICLES OF INCORPORATION

 

 

B.         All or any number of the directors of the Corporation may be removed only for cause and at a meeting of shareholders called expressly for that purpose, by the vote of not less than 75 percent of the votes then entitled to be cast for the election of directors. At any meeting of shareholders at which one or more directors are removed, a majority of votes then entitled to be cast for the election of directors may fill any vacancy created by such removal. If any vacancy created by removal of a director is not filled by the shareholders at the meeting at which the removal is effected, such vacancy may be filled by a majority vote of the remaining directors.

 

C.         The provisions of this Article V may not be amended, altered, changed or repealed in any respect unless such action is approved by the affirmative vote of not less than 75 percent of the votes then entitled to be cast for election of directors.

 

ARTICLE VI

 

No agreement of merger or consolidation of this corporation which requires shareholder approval under the Oregon Business Corporation Act shall be approved or become effective unless the holders of not less than sixty-seven percent (67%) of the outstanding shares of the corporation entitled to vote thereon shall vote for the adoption of the agreement. This corporation shall not sell, lease or exchange all or substantially all of its property and assets unless the holders of not less than sixty-seven percent (67%) of the outstanding shares of the corporation entitled to vote thereon shall vote for such sale, lease or exchange. Dissolution or liquidation of the corporation shall require the prior approval of holders of not less than sixty-seven percent (67%) of the outstanding shares of the corporation entitled to vote thereon.

 


4 - SECOND RESTATED ARTICLES OF INCORPORATION
EX-21.1 3 ex_337402.htm EXHIBIT 21.1 ex_337402.htm

 

EXHIBIT 21.1

 

NORTHWEST PIPE COMPANY

SUBSIDIARIES OF THE REGISTRANT

As of December 31, 2021

 

Permalok Corporation, Missouri

 

Thompson Tank Holdings, Inc., Oregon

 

NWPC, LLC, Delaware

 

WTG Holding U.S., Inc., California

 

Bolenco Corporation, California

 

NWPC de SLRC, S de RL de CV, Mexico

 

NWPC de Mexico, S de RL de CV, Mexico

 

Rio Co., S de RL de CV, Mexico

 

Corporacion Californiana de Tuberias APS, S de RL de CV, Mexico

 

Geneva Pipe and Precast Company, Utah

 

Park Environmental Equipment, LLC, Texas

 

 
EX-23.1 4 ex_337407.htm EXHIBIT 23.1 ex_337407.htm

 

Exhibit 23.1

 

 

Consent of Independent Registered Public Accounting Firm

 

We consent to the incorporation by reference in the Registration Statements on Form S‑3 (No. 333‑249637) and Form S‑8 (Nos. 333‑190854 and 333‑152573) of Northwest Pipe Company of our report dated March 16, 2022, relating to the consolidated financial statements and the financial statement schedule of Northwest Pipe Company and Subsidiaries (the “Company”) and the effectiveness of the Company’s internal control over financial reporting, appearing in this Annual Report on Form 10‑K of Northwest Pipe Company for the year ended December 31, 2021.

 

 

/s/ Moss Adams LLP

 

Portland, Oregon

March 16, 2022

 

 
EX-31.1 5 ex_337408.htm EXHIBIT 31.1 ex_337408.htm

 

EXHIBIT 31.1

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Scott Montross, certify that:

 

 

1.

I have reviewed this Annual Report on Form 10‑K of Northwest Pipe Company;

 

 

2.

Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

 

3.

Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

 

4.

The registrant’s other certifying officer(s) 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 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 report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d.

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) 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(s) 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: March 16, 2022

By:

/s/    SCOTT MONTROSS        

   

Scott Montross

   

Director, President, and Chief Executive Officer

(principal executive officer)

 

 
EX-31.2 6 ex_337409.htm EXHIBIT 31.2 ex_337409.htm

 

EXHIBIT 31.2

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Aaron Wilkins, certify that:

 

 

1.

I have reviewed this Annual Report on Form 10‑K of Northwest Pipe Company;

 

 

2.

Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

 

3.

Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

 

4.

The registrant’s other certifying officer(s) 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 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 report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d.

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) 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(s) 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 function):

 

 

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: March 16, 2022

By:

/s/    AARON WILKINS        

   

Aaron Wilkins

Senior Vice President, Chief Financial Officer, and

Corporate Secretary

(principal financial officer)

 

 
EX-32.1 7 ex_337410.htm EXHIBIT 32.1 ex_337410.htm

 

EXHIBIT 32.1

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

In connection with the Annual Report of Northwest Pipe Company (“Company”) on Form 10‑K for the period ended December 31, 2021 as filed with the Securities and Exchange Commission on the date hereof (“Report”), I, Scott Montross, Director, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

 

(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.

 

/s/ SCOTT MONTROSS

 

Scott Montross

 

Director, President, and Chief Executive Officer

 

 

March 16, 2022

 

 
EX-32.2 8 ex_337411.htm EXHIBIT 32.2 ex_337411.htm

 

EXHIBIT 32.2

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

In connection with the Annual Report of Northwest Pipe Company (“Company”) on Form 10‑K for the period ended December 31, 2021 as filed with the Securities and Exchange Commission on the date hereof (“Report”), I, Aaron Wilkins, Senior Vice President, Chief Financial Officer, and Corporate Secretary of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

 

(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 result of operations of the Company.

 

/s/    AARON WILKINS

 

Aaron Wilkins

 

Senior Vice President, Chief Financial Officer, and Corporate Secretary

 

 

March 16, 2022

 

 
EX-101.SCH 9 nwpx-20211231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Statements of Operations link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Statements of Comprehensive Income link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Balance Sheets link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Balance Sheets (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Stockholders' Equity link:calculationLink link:definitionLink link:presentationLink 006 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 007 - Statement - Consolidated Statements of Cash Flows link:calculationLink link:definitionLink link:presentationLink 008 - Statement - Consolidated Statements of Cash Flows (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 1 - Organization link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 2 - Summary of Significant Accounting Policies link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 3 - Business Combinations link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 4 - Inventories link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 5 - Property and Equipment link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 6 - Goodwill and Intangible Assets link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 7 - Credit Agreement link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 8 - Leases link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 9 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 11 - Retirement Plans link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 12 - Share-based Compensation link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 13 - Commitments and Contingencies link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 14 - Revenue link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 15 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 17 - Segment Information link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Note 18 - Quarterly Data (Unaudited) link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Schedule II - Valuation and Qualifying Accounts link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Significant Accounting Policies (Policies) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 3 - Business Combinations (Tables) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 4 - Inventories (Tables) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 5 - Property and Equipment (Tables) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 6 - Goodwill and Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 8 - Leases (Tables) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 9 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 12 - Share-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 14 - Revenue (Tables) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 15 - Income Taxes (Tables) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss (Tables) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 17 - Segment Information (Tables) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 18 - Quarterly Data (Unaudited) (Tables) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 1 - Organization (Details Textual) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 046 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) link:calculationLink link:definitionLink link:presentationLink 047 - Disclosure - Note 3 - Business Combinations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 048 - Disclosure - Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details) link:calculationLink link:definitionLink link:presentationLink 049 - Disclosure - Note 3 - Business Combinations - Intangible Assets Acquired (Details) link:calculationLink link:definitionLink link:presentationLink 050 - Disclosure - Note 3 - Business Combinations - Pro Forma Summary (Details) link:calculationLink link:definitionLink link:presentationLink 051 - Disclosure - Note 4 - Inventories - Components of Inventories (Details) link:calculationLink link:definitionLink link:presentationLink 052 - Disclosure - Note 5 - Property and Equipment (Details Textual) link:calculationLink link:definitionLink link:presentationLink 053 - Disclosure - Note 5 - Property and Equipment - Property, Plant and Equipment (Details) link:calculationLink link:definitionLink link:presentationLink 054 - Disclosure - Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 055 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 056 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 057 - Disclosure - Note 7 - Credit Agreement (Details Textual) link:calculationLink link:definitionLink link:presentationLink 058 - Disclosure - Note 8 - Leases (Details Textual) link:calculationLink link:definitionLink link:presentationLink 059 - Disclosure - Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details) link:calculationLink link:definitionLink link:presentationLink 060 - Disclosure - Note 8 - Leases - Lease Cost (Details) link:calculationLink link:definitionLink link:presentationLink 061 - Disclosure - Note 8 - Leases - Future Maturities of Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 062 - Disclosure - Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 063 - Disclosure - Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details) link:calculationLink link:definitionLink link:presentationLink 064 - Disclosure - Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 065 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities (Details Textual) link:calculationLink link:definitionLink link:presentationLink 066 - Disclosure - Note 11 - Retirement Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 067 - Disclosure - Note 12 - Share-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 068 - Disclosure - Note 12 - Share-based Compensation - Share-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 069 - Disclosure - Note 12 - Share-based Compensation - RSU and PSA Activity (Details) link:calculationLink link:definitionLink link:presentationLink 070 - Disclosure - Note 13 - Commitments and Contingencies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 071 - Disclosure - Note 14 - Revenue 1 (Details Textual) link:calculationLink link:definitionLink link:presentationLink 072 - Disclosure - Note 14 - Revenue 2 (Details Textual) link:calculationLink link:definitionLink link:presentationLink 073 - Disclosure - Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details) link:calculationLink link:definitionLink link:presentationLink 074 - Disclosure - Note 14 - Revenue - Disaggregation of Revenue (Details) link:calculationLink link:definitionLink link:presentationLink 075 - Disclosure - Note 15 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 076 - Disclosure - Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details) link:calculationLink link:definitionLink link:presentationLink 077 - Disclosure - Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details) link:calculationLink link:definitionLink link:presentationLink 078 - Disclosure - Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details) link:calculationLink link:definitionLink link:presentationLink 079 - Disclosure - Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 080 - Disclosure - Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details) link:calculationLink link:definitionLink link:presentationLink 081 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 082 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 083 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 084 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 085 - Disclosure - Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) link:calculationLink link:definitionLink link:presentationLink 086 - Disclosure - Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details) link:calculationLink link:definitionLink link:presentationLink 087 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 10 nwpx-20211231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 11 nwpx-20211231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 12 nwpx-20211231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information us-gaap_DerivativeNotionalAmount Derivative, Notional Amount Note To Financial Statement Details Textual Intangible assets us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill Significant Accounting Policies Note 2 - Summary of Significant Accounting Policies Income tax expense at federal statutory rate Note 3 - Business Combinations nwpx_RestrictedStockUnitsAndPerformanceShareAwardTargetLevelPercentage Restricted Stock Units and Performance Share Award Target Level, Percentage Represents the target level percentage for restricted stock unit and performance share awards. Note 4 - Inventories Note 5 - Property and Equipment Long-term debt Note 6 - Goodwill and Intangible Assets Not Designated as Hedging Instrument [Member] Note 8 - Leases Note 9 - Fair Value Measurements Prepaid expenses and other us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets Note 12 - Share-based Compensation Trade and other receivables us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables Income Tax Disclosure [Text Block] Note 14 - Revenue Borrowings on line of credit Note 15 - Income Taxes Hedging Designation [Axis] Note 16 - Accumulated Other Comprehensive Loss Cash and cash equivalents us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents Hedging Designation [Domain] Note 17 - Segment Information Inventories us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory Designated as Hedging Instrument [Member] Note 18 - Quarterly Data (Unaudited) us-gaap_LiabilitiesCurrent Total current liabilities Schedule II - Valuation and Qualifying Accounts Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details) Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details) Assets Note 3 - Business Combinations - Intangible Assets Acquired (Details) Note 3 - Business Combinations - Pro Forma Summary (Details) Total purchase consideration us-gaap_BusinessCombinationConsiderationTransferred1 Business Combination, Consideration Transferred, Total Note 4 - Inventories - Components of Inventories (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent Pension liability adjustment Note 5 - Property and Equipment - Property, Plant and Equipment (Details) Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details) Intangible Asset Acquired, Fair Value Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) Intangible Asset Acquired, Useful Life (Year) Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details) Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details) Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block] Represents schedule of changes in accumulated other comprehensive income loss. Note 8 - Leases - Lease Cost (Details) Note 8 - Leases - Future Maturities of Lease Liabilities (Details) Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details) Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details) RSUs and PSAs granted, weighted average grant date fair value (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired Business Acquisition, Percentage of Voting Interests Acquired RSUs and PSAs vested (2) (in dollars per share) Foreign currency forward contracts Note 12 - Share-based Compensation - Share-based Compensation Expense (Details) Note 12 - Share-based Compensation - RSU and PSA Activity (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details) Note 14 - Revenue - Disaggregation of Revenue (Details) Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Unvested RSUs and PSAs (in shares) Unvested RSUs and PSAs (in shares) Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details) Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details) nwpx_DeferredTaxLiabilitiesContractAssetsNet Contract assets, net Amount of deferred tax liabilities attributable to net contract assets Other comprehensive income (loss) before reclassifications Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details) us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent Amounts reclassified from Accumulated other comprehensive loss Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details) RSUs and PSAs granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod RSUs and PSAs vested (2) (in shares) Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Current portion of long-term debt Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Other comprehensive income (loss), net of tax: Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details) Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Notes To Financial Statements Notes To Financial Statements [Abstract] Net income us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value nwpx_PropertyPlantAndEquipmentNetExcludingConstructionInProgress Property, Plant and Equipment, Net, Excluding Construction In Progress Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services excluding construction in progress and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures. Business Acquisition, Pro Forma Information [Table Text Block] Net sales us-gaap_BusinessAcquisitionsProFormaRevenue nwpx_NumberOfManufacturingFacilities Number of Manufacturing Facilities Represents number of manufacturing facilities. Operating lease liabilities nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities Amount of operating lease liabilities assumed at the acquisition date. Operating lease right-of-use assets nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets Amount of operating lease right-of-use assets acquired at the acquisition date. Geneva Pipe Company, Inc. [Member] Represents information pertaining to Geneva Pipe Company, Inc. acquisition. Contract liabilities Goodwill and Intangible Assets Disclosure [Text Block] Schedule of Goodwill [Table Text Block] us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price (in dollars per share) Accrued liabilities Total accrued liabilities Pension Plan [Member] Accounts payable Revolving Credit Facility [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) Retirement Plan Type [Axis] Accrued bonus Retirement Plan Type [Domain] Accrued property and equipment purchases Credit Facility [Axis] nwpx_TaxCreditCarryforwardExpirationYear Tax Credit Carryforward, Expiration Year Expiration year of the tax credit carryforward. Accrued consideration in acquisition of business The total amount of consideration accrued in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition. Workers compensation reserves Workers' Compensation Liability, Current Credit Facility [Domain] us-gaap_OtherAccruedLiabilitiesCurrent Other nwpx_CompanyMatchingPercentageOnFirstEightPercentOfEmployeeContributions Company Matching Percentage on First Eight Percent of Employee Contributions Company matching percentage on first 8% of employee contributions under defined contribution retirement plan. us-gaap_PolicyTextBlockAbstract Accounting Policies Accrued vacation payable Trademarks and Trade Names [Member] Trade Names [Member] Portland Harbor Superfund Site [Member] Represents the Portland Harbor Superfund Site. Other Intangible Assets [Member] us-gaap_PaymentsToAcquireIntangibleAssets Purchases of intangible assets Capital expenditures Purchases of property and equipment nwpx_OperatingLossCarryforwardsExpirationYear Operating Loss Carryforwards, Expiration Year Expiration year of the operating loss carryforward. ParkUSA and Geneva [Member] Represents ParkUSA and Geneva. Shares used in per share calculations: Cash paid (received) during the period for income taxes (net of refunds of $79, $153, and $286) nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtOneHundredPercent Employee Contribution Percentage for Which Company Will Match at One Hundred Percent Employee contribution for which company will match at 100% under defined contribution retirement plan. ParkUSA Defined Contribution Plan [Member] Information pertaining to the ParkUSA Defined Contribution Plan. Current liabilities: us-gaap_LossContingencyAccrualCarryingValueCurrent Loss Contingency, Accrual, Current Supplemental disclosure of cash flow information: Total assets Total assets nwpx_DeferredTaxAssetContractAssetsNet Contract assets, net Amount before allocation of valuation allowances of deferred tax asset attributable to contract assets, net. Patents [Member] us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Summary of Valuation and Qualifying Accounts [Table Text Block] A schedule of allowance and reserve accounts including their beginning and ending balances, as well as a reconciliation by type of activity during the period. Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements. nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived Other Commitment, Amount Paid for Equipment Purchased Yet Not Received Amount of commitment of payment for equipment purchased but not received. us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) One SPP Customer [Member] Represents one SPP customer. Customer Relationships [Member] Engineered Steel Pressure Pipe [Member] Represents Engineered Steel Pressure Pipe segment. Precast Infrastructure and Engineered Systems [Member] Represents Precast Infrastructure and Engineered Systems segment. Backlog [Member] Represents information related to backlog. Deferred income tax assets, included in Other assets Share-based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Error Correction, Type [Axis] Error Correction, Type [Domain] Award Type [Domain] Award Type [Axis] Net income Net income us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization Intangible Assets, Accumulated amortization Intangible Assets, Net Total amortization expense Restricted Stock Units (RSUs) [Member] Proceeds from insurance Intangible Assets, Gross us-gaap_InterestCostsCapitalized Interest Costs Capitalized nwpx_GainOnInsuranceProceeds Gain on insurance proceeds Represents the amount of gain on insurance proceeds recognized during the period. nwpx_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentTradeAndOtherReceivables Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Trade and Other Receivables This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to trade and other receivables acquired in connection with a business combination for which the initial accounting was incomplete. Performance Shares [Member] Loss Contingency, Nature [Domain] Acquisition of ParkUSA (Note 3) Loss Contingency Nature [Axis] Business Combination Disclosure [Text Block] Commitments and Contingencies Disclosure [Text Block] us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment Less accumulated depreciation and amortization Property and equipment, net Property, Plant and Equipment, Net, Ending Balance Schedule of Business Acquisitions, by Acquisition [Table Text Block] Goodwill Goodwill Goodwill Goodwill Property and equipment, gross Park Environmental Equipment, LLC [Member] Represents Park Environmental Equipment, LLC. us-gaap_DerivativeAssets Foreign currency forward contracts Derivative Instrument [Axis] Derivative Contract [Domain] Cash flows from investing activities: us-gaap_EarningsPerShareAbstract Net income per share: CANADA Income tax expense Total income tax expense Tax (expense) benefit us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months nwpx_IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax Increase (Decrease) in Revenue from Contract with Customers, Including Assessed Tax The increase (decrease) during the period of the amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net, Total us-gaap_UnrealizedLossOnForeignCurrencyDerivativesBeforeTax Unrealized Loss on Foreign Currency Derivatives, before Tax us-gaap_IncreaseDecreaseInAccountsPayable Accounts payable Pension liability adjustment, tax expense/benefit Stock Awards [Member] Represents stock awards. Cash and cash equivalents us-gaap_DefinedBenefitPlanFairValueOfPlanAssets Defined Benefit Plan, Plan Assets, Amount, Ending Balance SEC Schedule, 12-09, Allowance, Credit Loss [Member] us-gaap_AllocatedShareBasedCompensationExpense Share-based compensation expense Unrealized gain (loss) on cash flow hedges, tax expense/benefit Amendment Flag Auditor Name Auditor Location Auditor Firm ID us-gaap_ComprehensiveIncomeNetOfTax Comprehensive income City Area Code Use of Estimates, Policy [Policy Text Block] New Accounting Pronouncements, Policy [Policy Text Block] us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities Accrued and other liabilities Reclassification, Comparability Adjustment [Policy Text Block] us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets Defined Benefit Plan, Assumptions Used Calculating Net Periodic Benefit Cost, Expected Long-term Rate of Return on Plan Assets us-gaap_SharesOutstanding Balances (in shares) Balances (in shares) Common stock, shares outstanding (in shares) Preferred stock, shares outstanding (in shares) us-gaap_DebtWeightedAverageInterestRate Debt, Weighted Average Interest Rate Current Fiscal Year End Date us-gaap_DebtInstrumentBasisSpreadOnVariableRate1 Debt Instrument, Basis Spread on Variable Rate Variable lease cost us-gaap_VariableLeaseCost us-gaap_LeaseCost Total lease cost us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other assets us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation Defined Benefit Plan, Accumulated Benefit Obligation Capital Loss Carryforward [Member] Operating leases, weighted-average discount rate us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent Document Fiscal Period Focus Operating lease cost us-gaap_OperatingLeaseCost Document Fiscal Year Focus Consolidation, Policy [Policy Text Block] Short-term lease cost us-gaap_ShortTermLeaseCost Lease, Cost [Table Text Block] Right-of-use assets obtained in exchange for finance lease liabilities Document Period End Date Right-of-use assets obtained in exchange for operating lease liabilities Operating leases, weighted-average remaining lease term (Year) us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1 Entity File Number Entity Emerging Growth Company Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] Entity Public Float Entity Filer Category Entity Current Reporting Status Entity Voluntary Filers us-gaap_BusinessCombinationAcquisitionRelatedCosts Business Combination, Acquisition Related Costs Entity Well-known Seasoned Issuer London Interbank Offered Rate (LIBOR) [Member] Variable Rate [Domain] Property and Equipment [Member] Represents property and equipment. Lessee, Lease, Assets and Liabilities [Table Text Block] The tabular disclosure for assets and liabilities of leases of the lessee. Equipment Under Finance Lease [Member] Represents equipment under finance lease. Variable Rate [Axis] nwpx_LeaseRightOfUseAsset Total right-of-use assets Amount of lessee's right to use underlying asset under lease. us-gaap_ConcentrationRiskPercentage1 Concentration Risk, Percentage Share-based compensation expense Quarterly Financial Information [Text Block] us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables Trade and other receivables Statement of Comprehensive Income [Abstract] Entity Tax Identification Number Entity Central Index Key Depreciation and amortization Entity Registrant Name MEXICO Entity [Domain] Customer Concentration Risk [Member] Legal Entity [Axis] Entity Address, Address Line One us-gaap_AmortizationOfIntangibleAssets Amortization of intangible assets Entity Address, City or Town Entity Address, Postal Zip Code Entity Address, State or Province Concentration Risk Type [Axis] Allowance for doubtful accounts Concentration Risk Type [Domain] Entity Common Stock, Shares Outstanding Revenue Benchmark [Member] us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Total Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Local Phone Number us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity Line of Credit Facility, Remaining Borrowing Capacity us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period (in shares) us-gaap_TableTextBlock Notes Tables us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity Line of Credit Facility, Maximum Borrowing Capacity us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage Line of Credit Facility, Unused Capacity, Commitment Fee Percentage Issuance of common stock under stock compensation plans (in shares) Selling, general, and administrative expense us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation Issuance of common stock under stock compensation plans us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total (in shares) Line of Credit Facility, Lender [Domain] Raw materials Supplies Lender Name [Axis] us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and stockholders’ equity Finished goods Work-in-process UNITED STATES Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block] Tabular disclosure of the change in restricted stock units (RSUs) and performance share awards (PSAs). us-gaap_IncreaseDecreaseInContractWithCustomerAsset Contract assets, net Retained earnings Accumulated other comprehensive loss Total Debt Disclosure [Text Block] us-gaap_InterestExpense Interest expense Lower Willamette Group [Member] Refers to information regarding the Lower Willamette Group. Changes in operating assets and liabilities, net of acquired assets and assumed liabilities: us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Derivative Instruments and Hedging Activities Disclosure [Text Block] us-gaap_OtherNoncashIncomeExpense Other, net Inventory Disclosure [Text Block] us-gaap_ForeignCurrencyTransactionGainLossRealized Foreign Currency Transaction Gain (Loss), Realized Long-term lease liabilities, operating leases Present value of lease liabilities, operating leases Current portion of operating lease liabilities Current portion of lease liabilities, operating leases Finance lease liabilities Current portion of lease liabilities, included in Accrued liabilities, finance leases Retirement Benefits [Text Block] Long-term lease liabilities, finance leases Operating leases, Right-of-use assets Operating lease right-of-use assets us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue Total lease payments, operating leases us-gaap_FinanceLeasePrincipalPayments Payments on finance lease liabilities Financing cash flows from finance leases us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount Amount representing interest, operating leases Present value of lease liabilities, finance leases Deferred income taxes us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive Thereafter 2024, operating leases 2025, operating leases 2026, operating leases Finance leases, net, included in Property and equipment Thereafter, operating leases us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2023 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax Pension liability adjustment, net of income tax benefit of $577 and $679 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2025 2022, operating leases us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive 2026 2023, operating leases Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths 2022 us-gaap_AociLossCashFlowHedgeCumulativeGainLossAfterTax Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20 Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member] Foreign Currency Transactions and Translations Policy [Policy Text Block] us-gaap_ShareBasedCompensation Share-based compensation expense Other assets Lessee, Leases [Policy Text Block] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] Business Combinations Policy [Policy Text Block] us-gaap_FiniteLivedIntangibleAssetUsefulLife Finite-Lived Intangible Asset, Useful Life (Month) Earnings Per Share, Policy [Policy Text Block] Defined Contribution Plan [Member] Information pertaining to the Defined Contribution Plan. Non-qualified Retirement Savings Plan [Member] Information pertaining to the Non-qualified Retirement Savings Plan. Comprehensive Income, Policy [Policy Text Block] Income Tax, Policy [Policy Text Block] Total financial assets Schedule of Finite-Lived Intangible Assets [Table Text Block] us-gaap_TaxCutsAndJobsActOf2017ReclassificationFromAociToRetainedEarningsTaxEffect Tax Cuts and Jobs Act, Reclassification from AOCI to Retained Earnings, Tax Effect us-gaap_AssetsCurrent Total current assets Share-based Payment Arrangement [Policy Text Block] Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block] Common stock, $.01 par value, 15,000,000 shares authorized, 9,870,567 and 9,805,437 shares issued and outstanding as of December 31, 2021 and 2020, respectively Adjustments to reconcile net income to net cash provided by (used in) operating activities: Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) us-gaap_CommonStockCapitalSharesReservedForFutureIssuance Common Stock, Capital Shares Reserved for Future Issuance (in shares) us-gaap_DeferredTaxAssetsValuationAllowance Valuation allowance Statistical Measurement [Domain] us-gaap_OperatingLeasePayments Operating cash flows from operating leases Maximum [Member] Noncash investing and financing activities: Minimum [Member] us-gaap_DeferredTaxAssetsNet Deferred tax assets, net Statistical Measurement [Axis] us-gaap_FinanceLeaseInterestPaymentOnLiability Operating cash flows from finance leases Contract assets Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding Preferred stock, shares issued (in shares) Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Cash paid during the period for interest, net of amounts capitalized us-gaap_DeferredTaxAssetsOther Other Property, Plant and Equipment Disclosure [Text Block] Geographical [Axis] Geographical [Domain] Property, Plant and Equipment [Table Text Block] us-gaap_DeferredTaxAssetsGross Deferred tax assets, gross Preferred stock, shares authorized (in shares) Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Depreciation and finance lease amortization The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives and amount of amortization expense attributable to right-of-use asset from finance lease. us-gaap_DeferredIncomeTaxLiabilities Total deferred tax liabilities Inventories Total inventories Preferred stock, par value (in dollars per share) Net sales Revenue from Contract with Customer, Including Assessed Tax Lessee, Liability, Maturity [Table Text Block] Tabular disclosure of undiscounted cash flows of lessee's operating and finace lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liability recognized in statement of financial position. Fair Value, Inputs, Level 3 [Member] Fair Value Hierarchy and NAV [Domain] Customer [Axis] us-gaap_DeferredTaxAssetsInventory Inventories Customer [Domain] nwpx_LeaseLiability Total lease liabilities Present value of lessee's discounted obligation for lease payments from operating and finance lease. Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Other Information Related to Operating and Finance Leases [Table Text Block] Tabular disclosure of other information related to operating and finance leases. Lease Terms and Discount Rates for Lease Liabilities [Table Text Block] Tabular disclosure of lessee's lease terms and discount rates for lease liabilities. Fair Value Hierarchy and NAV [Axis] nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit Total deferred income tax expense Amount of deferred state, local, federal and foreign income tax expense (benefit) pertaining to income (loss) from continuing operations. Tax refunds Fire [Member] Noncatastrophic Event [Domain] Trade and other receivables, less allowance for doubtful accounts of $503 and $767 Cumulative Effect, Period of Adoption [Domain] Cumulative Effect, Period of Adoption [Axis] us-gaap_PropertyPlantAndEquipmentUsefulLife Property, Plant and Equipment, Useful Life (Year) Cumulative Effect, Period of Adoption, Adjustment [Member] Construction in Progress [Member] Lessee, Lease, Disclosure [Text Block] The entire disclosure for leases of lessee. Cash flows from operating activities: Noncatastrophic Event [Axis] Schedule of Segment Reporting Information, by Segment [Table Text Block] Revenue [Policy Text Block] Statement [Line Items] Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member] us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits Accrued employee benefits us-gaap_NumberOfOperatingSegments Number of Operating Segments Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] Deferred compensation plan Building [Member] AOCI Attributable to Parent [Member] Additional paid-in-capital Stockholders’ equity: Land Improvements [Member] Leasehold Improvements [Member] Property, Plant and Equipment, Policy [Policy Text Block] Other income Other income (loss) Long-Lived Tangible Asset [Axis] Segment Reporting Disclosure [Text Block] Long-Lived Tangible Asset [Domain] us-gaap_DeferredTaxAssetsTaxCreditCarryforwards Tax credit carryforwards us-gaap_DeferredTaxAssetsOperatingLossCarryforwards Net operating loss carryforwards Current assets: Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Inventory, Policy [Policy Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Change in cash and cash equivalents Interest income us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash provided by (used in) financing activities us-gaap_Liabilities Total liabilities Commitments and contingencies (Note 13) Director [Member] us-gaap_OperatingIncomeLoss Operating income us-gaap_ContractWithCustomerLiabilityRevenueRecognized Contract with Customer, Liability, Revenue Recognized us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by (used in) operating activities us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities Prepaid expenses and other us-gaap_DeferredTaxLiabilities Net deferred income tax liabilities Net deferred income tax liabilities us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill Goodwill us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets Intangible assets us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent Liability, Defined Benefit Plan, Total Gross profit Gross profit Cost of sales Counterparty Name [Axis] Counterparty Name [Domain] Accounting Standards Update 2014-09 [Member] Derivatives, Policy [Policy Text Block] us-gaap_DeferredIncomeTaxLiabilitiesNet Deferred income taxes Deferred income taxes Consolidation Items [Domain] us-gaap_DerivativeLiabilities Foreign currency forward contracts Consolidation Items [Axis] Accounting Standards Update [Domain] Concentration Risk, Credit Risk, Policy [Policy Text Block] us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Tax withholdings related to net share settlements of restricted stock and performance share awards us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment Property and equipment us-gaap_DeferredTaxLiabilitiesPrepaidExpenses Prepaid expenses us-gaap_LettersOfCreditOutstandingAmount Letters of Credit Outstanding, Amount Accounting Standards Update [Axis] us-gaap_WorkersCompensationLiabilityCurrentAndNoncurrent Workers' Compensation Liability Retained Earnings [Member] Title of Individual [Domain] us-gaap_CurrentStateAndLocalTaxExpenseBenefit State Title of Individual [Axis] us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit State us-gaap_CurrentForeignTaxExpenseBenefit Foreign us-gaap_DeferredForeignIncomeTaxExpenseBenefit Foreign Additional Paid-in Capital [Member] us-gaap_CurrentFederalTaxExpenseBenefit Federal Common Stock [Member] us-gaap_DeferredFederalIncomeTaxExpenseBenefit Federal Equity Components [Axis] Equity Component [Domain] us-gaap_CurrentIncomeTaxExpenseBenefit Total current income tax expense Environmental Remediation Site [Domain] us-gaap_RevenueRemainingPerformanceObligationPercentage Revenue, Remaining Performance Obligation, Percentage us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) Other Liabilities [Member] us-gaap_RevenueRemainingPerformanceObligation Revenue, Remaining Performance Obligation, Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Foreign Other Assets [Member] Environmental Remediation Site [Axis] us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income taxes United States Reclassification out of Accumulated Other Comprehensive Income [Member] Reclassification out of Accumulated Other Comprehensive Income [Axis] ICFR Auditor Attestation Flag Reclassification out of Accumulated Other Comprehensive Income [Domain] Comprehensive Income (Loss) Note [Text Block] us-gaap_LineOfCredit Long-term Line of Credit, Total Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Reclassification out of Accumulated Other Comprehensive Income [Table Text Block] us-gaap_PaymentsOfDebtIssuanceCosts Payments of debt issuance costs State and Local Jurisdiction [Member] Timing of Transfer of Good or Service [Domain] Transferred at Point in Time [Member] Transferred over Time [Member] Income Tax Authority [Axis] Income Tax Authority [Domain] Disaggregation of Revenue [Table Text Block] Domestic Tax Authority [Member] Foreign Tax Authority [Member] Timing of Transfer of Good or Service [Axis] us-gaap_RepaymentsOfLongTermDebt Payments on long-term debt Revenue from Contract with Customer [Text Block] Document Annual Report Machinery and Equipment [Member] Schedule Of Inventory Current And Non Current [Table Text Block] Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process. Includes current and non-current inventory balances. Cash and Cash Equivalents, Policy [Policy Text Block] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Receivable [Policy Text Block] Entity Incorporation, State or Country Code us-gaap_UnrecognizedTaxBenefits Unrecognized income tax benefits, beginning of year Unrecognized income tax benefits, end of year Accounting Policies [Abstract] Significant Accounting Policies [Text Block] Document Transition Report nwpx_EstimatedCostOfEPASelectedRemedy Estimated Cost of EPA Selected Remedy The estimated cost of the remedy selected by EPA. nwpx_EstimatedTimeToCompleteSelectedEPARemedy Estimated Time to Complete Selected EPA Remedy (Year) The estimated amount of time to complete the selected EPA remedy. Selling, General and Administrative Expenses [Member] Entity Interactive Data Current nwpx_NumberOfPotentiallyResponsibleParties Number Of Potentially Responsible Parties Number of potentially responsible parties for Portland Harbor Superfund site. Portland Harbor Natural Resources Trustee Council [Member] The name or description of the loss contingency by its nature. nwpx_NumberOfActiveStockIncentivePlans Number Of Active Stock Incentive Plans The number of active stock incentive plans. nwpx_InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized Interest Expense, Debt and Finance Leases, Net of Amounts Capitalized Represents the amount of interest expense recorded during the period from debt and finance leases, net of amounts capitalized. Increases for positions taken in prior years Security Exchange Name nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares) The number of non-vested equity-based payment instruments at a target level of performance, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date. nwpx_PerformanceAwardsIssuedMultiplier Performance Awards Issued Multiplier The percentage of the performance awards issued multiplier. Title of 12(b) Security Restricted Stock Units and Performance Stock Awards [Member] The type or description of the award. us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued Unrecognized Tax Benefits, Income Tax Penalties Accrued Borrowings on long-term debt Cost of Sales [Member] nwpx_CommonStockCapitalSharesReservedForFutureIssuancePercentageVestingOfOutstandingPSAsAssumed Common Stock, Capital Shares Reserved for Future Issuance, Percentage Vesting of Outstanding PSAs Assumed Represents the vesting percentage of PSAs used as an assumption to determine the number of capital shares reserved for future issuance. us-gaap_ValuationAllowancesAndReservesBalance Balance at Beginning of Period Balance at End of Period Charged to Profit and Loss Income Statement Location [Axis] us-gaap_ValuationAllowancesAndReservesDeductions Deduction from Reserves Income Statement Location [Domain] us-gaap_WorkersCompensationLiabilityNoncurrent Workers' Compensation Liability, Noncurrent Segments [Axis] Segments [Domain] Effect of potentially dilutive common shares (in shares) us-gaap_TaxCreditCarryforwardAmount Tax Credit Carryforward, Amount nwpx_MaximumSeniorLeverageRatioRequirement Maximum Senior Leverage Ratio Requirement The maximum senior leverage ratio requirement. nwpx_BusinessInterruptionIncrementalProductionCostsNetOfInsuranceRecovery Business Interruption, Incremental Production Costs, Net of Insurance Recovery Represents the amount of incremental production costs due to business interruptions, net of business interruption insurance recovery. us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization Finance Lease, Right-of-Use Asset, Accumulated Amortization us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) us-gaap_RepaymentsOfLinesOfCredit Repayments on line of credit us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding Diluted (in shares) Diluted weighted-average common shares outstanding (in shares) Other Long-term Liabilities [Member] Represents other long-term liabilities. Tax Credit Carryforward [Axis] Tax Credit Carryforward, Name [Domain] nwpx_BookOverdrafts Book Overdrafts Outstanding checks in excess of funds on deposit that are shown in account payable. us-gaap_OperatingLossCarryforwards Operating Loss Carryforwards, Total us-gaap_ProceedsFromLinesOfCredit Borrowings on line of credit SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] Statement [Table] Statement of Financial Position [Abstract] Diluted (in dollars per share) Diluted (in dollars per share) Basic (in shares) Effective income tax rate nwpx_NumberOfCustomersWithReceivableBalanceInExcessOfTenPercentOfReceivables Number of Customers with Receivable Balance in Excess of Ten Percent of Receivables Number of customers with balances in excess of 10% of total accounts receivable. Business Acquisition [Axis] Basic (in dollars per share) Basic (in dollars per share) Business Acquisition, Acquiree [Domain] Statement of Cash Flows [Abstract] Statement of Stockholders' Equity [Abstract] us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent Other comprehensive loss, net of tax Income Statement [Abstract] Accrued Liability [Member] Carrying value of liabilities incurred and payable as of the balance sheet date. Revenue from External Customers by Geographic Areas [Table Text Block] Schedule of Accrued Liabilities [Table Text Block] Quarterly Financial Information [Table Text Block] Interest on lease liabilities us-gaap_FinanceLeaseInterestExpense Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] us-gaap_FinanceLeaseLiabilityPaymentsDue Total lease payments, finance leases Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] Amortization of right-of-use assets us-gaap_FinanceLeaseRightOfUseAssetAmortization Workers Compensation Insurance [Policy Text Block] Disclosure of accounting policy for workers compensation insurance and calculation of liability balance. 2026, finance leases Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Thereafter, finance leases Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Accrued Liabilities [Policy Text Block] Represents information about accrued liabilities Policy. Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount Amount representing interest, finance leases 2022, finance leases 2023, finance leases 2024, finance leases 2025, finance leases Finance leases, weighted-average discount rate us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent Finance leases, weighted-average remaining lease term (Year) us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1 Out of Period Adjustment [Member] Represents out of period adjustments. us-gaap_PaymentsForProceedsFromOtherInvestingActivities Other investing activities us-gaap_IncomeTaxReconciliationOtherAdjustments Other Cash flows from financing activities: us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Other long-term liabilities nwpx_NumberOfMajorCustomers Number of Major Customers Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. Change in valuation allowance nwpx_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansTaxExpenseBenefit Pension liability adjustment, tax effect Tax expense (benefit) included in accumulated other comprehensive income for defined benefit pension and other postretirement plans. nwpx_AccumulatedOtherComprehensiveIncomeLossCumulativeChangeInNetGainLossFromCashFlowHedgeEffectTax Unrealized gain (loss) on cash flow hedges, tax effect Tax expense (benefit) included in accumulated other comprehensive income for cash flow hedges. Accrued liabilities nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities Amount of accrued liabilities, assumed at the acquisition date. Wells Fargo Bank, N.A. [Member] Related to the lender Wells Fargo Bank, N.A. Corporate, Non-Segment [Member] nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtFiftyPercent Employee Contribution Percentage for Which Company Will Match at Fifty Percent Employee contribution for which company will match at 50% under defined contribution retirement plan. Contract Assets and Liabilities, Policy [Policy Text Block] Disclosure of accounting policy for contract assets and liabilities. nwpx_AccumulatedOtherComprehensiveIncomeLossUnrecognizedNetActuarialLossesNetOfTax Accumulated Other Comprehensive Income (Loss), Unrecognized Net Actuarial Losses, Net of Tax Represents the amount of unrecognized actuarial loss recognized in accumulated other comprehensive income (loss), net of tax. us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent Deferred Compensation Liability, Classified, Noncurrent, Total nwpx_NumberOfNoncontributoryDefinedBenefitPlans Number of Non-contributory Defined Benefit Plans Number of noncontributory defined benefit plans. nwpx_CompanyMatchingPercentageOnFirstTenThousandDollarEmployeeContributions Company Matching Percentage on First Ten Thousand Dollar Employee Contributions Represents Company matching percentage on first $10,000 of employee contributions under non-qualified retirement savings plan. nwpx_SelectEmployeeContributionForWhichCompanyWillMatchAtFiftyPercent Select Employee Contribution for Which Company Will Match at Fifty Percent Represents select employee contributions for which Company will match at 50% under non-qualified retirement savings plan. nwpx_OfficerContributionForWhichCompanyWillMatchAtFiftyPercent Officer Contribution for Which Company Will Match at Fifty Percent Represents Officer contributions for which Company will match at 50% under non-qualified retirement savings plan. Foreign Exchange Forward [Member] us-gaap_StockholdersEquity Total stockholders’ equity Beginning balance Ending balance us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities Total liabilities assumed us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired Payments to Acquire Businesses, Net of Cash Acquired, Total Acquisition of business, net of cash acquired Other long-term liabilities us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther nwpx_DeferredTaxAssetTradeReceivableNet Trade receivable, net Amount before allocation of valuation allowances of deferred tax asset attributable to trade receivables, net. nwpx_RetirementPlanExpense Retirement Plan Expense Represents retirement plan expense. Nondeductible expenses Class of Stock [Axis] Deferred income taxes us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets Total assets acquired nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization The minimum amount of consolidated earnings before interest, taxes, depreciation, and amortization pursuant to the debt agreement. Liabilities Accounts payable us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable Unrealized loss on cash flow hedges Operating Segments [Member] Deferred income taxes us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets State expense, net of federal income tax effect Foreign rate differential Property and equipment us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment EX-101.PRE 13 nwpx-20211231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE GRAPHIC 14 graph01.jpg begin 644 graph01.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0 L17AI9@ 34T *@ @ 0$Q ( M * &@ !'0+' P$B (1 0,1 ?_$ M !\ $% 0$! 0$! ! @,$!08'" D*"__$ +40 (! P,"! ,% M!00$ !?0$" P $$042(3%!!A-180'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3% MQL?(R;GZ.GJ\?+S]/7V]_CY^O_$ !\! ,! 0$! M 0$! 0$ ! @,$!08'" D*"__$ +41 (! @0$ P0'!00$ $"=P ! M @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D: M)BH*# MA(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3 MU-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_: P# 0 "$0,1 #\ ^D:*** " MBBB@ HHHH **** "BBB@ HHKRCXHZWK>H^/O#7P_\/ZE+I(UA7N+V]@XD6%0 M3M0]B=C?I[T >KT5YIH7PW\0>$/&=E=>'_%M]>Z"ZL-0LM8G,[L?X3&0 ?R MQCOGCE=#M-4^-/C#Q'=ZEXCU32M!TB\-E96>ES^2S,.KLV#GIGD=^V* /=:* M\)T?6]?\-ZMXZ^'^K:QYF+L0I>-E7<3_$JT ?2E%?+OPSO?$-O:_$>WUG5; MZ>ZM_#QG7S+AV\EWB+Y7)^4C<.1Z5D)=Z!:_"6'7X/B3K!?!\=[H6#:EJ,D#F)UVQ':&QC&Y M@>/6MWP[XLN]?_9DU6[N+B9=5T[3+JTN) Y$BRQ1D!B>N[&TYZYH ]@HKY L M-7\+3> X9K7QWXPD\:&WW1V,$TSQM<9X4#9@C_@7Y]*]+U;5/$B7WP?77;BZ MM]1NK@C4(]Y0RG"?ZQ1P3CJ#W)H ]THKYK\1INH*N2@<@ /DG++ MR>?8&@#VFBO#+KX8^(;'P#)XIA\=Z^WB>*S-\Y:ZS;,0N\Q^7CICC.<>U0"];^*7A8>,?$OC+7+*\U!Y&L8-.N?*AME5RJY3'S MX>)+^72 MO"^IW]O%)/-;VDDD<42EF=PI*@ #;FQTJ_N-/U*/]]9SP3-'B1>B ML0>5/3\<]J .JHKYXM?&OB'XM2:#X(MS>:5>VCE_$US$3$T8B;;M4CH6/ZD> MAJM\3;[1[#XX1Z9XH\2ZWHF@Q:-%L.G7,F[S 2%X ;.1G)(SQUH ^D**\I^# MS>#+C4-3G\&>+->UUXXD2X359I&2($D@J&1>>#ZUYS+XJUT>,V^)\>IW?_"/ M)XC_ ++^R>:WE&VV;#)MZ MG4#GM0!](T5E>)]9'AWPIJFL&/S/L-K).$_O%5) _.O'O"O@/Q#\0_!,7C#5 MO&^M6NN:@K3V:6EQY5M;_,=BF,#D<=B.#WH ]VHKQ#XFR^*-#\"^!;?7-7\S M5O[V$WB&".7R9&3>I/*M M@\CVH ]6HKYG\7>(M8T3]H[4-3CU*[&EZ3<6;75MY[>2(I52-B5SCJX/3KS3 M/B;XCUF_^-EE/IVIW<&DV.JVFE>7#.RI+)Q))D X/W@#F@#Z;HKRGP;?WDW[ M1?CRTFNYY+:&VM3% \I*1DHF=JYP,^U9&GZE?M\1_BY"U[>XH ]MHK@/@?=W%]\'=#N+VXEN)W20M+,Y=F_>-U)YK$^,ESJ.N^ M(/#/@30-0N+"[U.62ZN)[>0HT<,:''([$Y_*@#UJBO(OA]&_Q.^#MOH^OZIJ M=GJ&DW36EY/8W/E3EXB0N6(..KOQ-\+_"-CX" M[G5-1F\&>+-?UV2.%5GCU6:1DC!.05#(O/!]: /6**P?%WA.W\8Z3'876I:G MIR1RB42Z;<^3(2 1@G!XYZ5XK\,/!"Z_K/B:74_%'B;;X?UAX+=4U(X=(R2- MX(.E\8?#3Q9K-Y7<-"QR/FYY&!SSU(H ]EHKYTTO MX>)>_&S6O",OBOQ2-/L=/CN8G75#YI=MN(+CQ-KFJ^%]7O MUT_P!%9VX3SV(NG5OWA?'#$8.[/7% 'TQ17C_P :?$,EU\,/#6KZ)>36Z7VK M6CJ\$I0LCHYVDCJ/:O8!TH **X7XU75Q9?!OQ!<64\MO/'"A26)RK+^]3H1R M*\ FU;PX?"MM+X+\<>,K[QF8XFCL4DFD0R\;Q@H.!\W<].] 'US17SO\7=6E MM_$'@"/QEK6IZ):W%@[:J^G3,CJ^U<\(#D[N.AK=^%K> +[Q>1X2\;>)M9OH M[:1C;:A/(8MAPI;#1J,C(QS0![717SIXR^'ZZ'\3?!^@V?BKQ0;3799QX-;MWI7O;L$8#!XQQ0!]745\Z:3JGB9/V>?&MQ?7NK-:02 M_P#$FO;TM'] 'TY17C6MV_Q O_#O@^X\)2-=00:=:W\ZR #=)'&,KOWA MI&??G:WR_(..]- MU;Q%:CPEHNFABVGP7JSO>L?[Y7@KP.O3G'7-9L/AKQS\,_&&N7O@K1K;Q)H> MM7'VHV;7:V\MM*,?%GBN*W7Q#KNG26 MEM86T@98$*85"Q.,G:HZXXZ\UR6H_!WQ1>^"/ =G#8O#=VOF6>LQB>,;+9YA M)R0V& QG SUKZ/HH \:7P%K\/C+XGW<6F8L]:TG[/IKB5,3/Y.W;C=E>>,M@ M5TGPP^'VGZ'X#T1-<\-Z=#KEM%^^E>VB>57W'!\P Y.,(_$7B*^UCP[ NRVTR73+U(Y)H1P%$^(/AS3X M;G4]%UG39'L+NXN(S))-/$^H?#75=8T-K>]TF[=M6'GQ M$1XVCS!ACD-MS@9(Z5["S!$+.0%49)/85A>$O%^G^,=*FO\ 3EEB2&9HG2=0 MK< %7QG[K*58'T- '!ZM#\2M#U[5X5T*U\=Z!J$OF6L%U=10O: \E"'&&7G' M0]!S65X?^"VI7GPU\4Z5K_V72KOQ!=_;+>SM#NAL&4Y1?IG@X[ 5[7]HAPQ\ MZ/" %CN'R@],TKSQ1QAY)$1#T9F !H \5N%^,=[X-;P7+X;TZ-Y+;[')KWV] M3&T6W:3Y?WMQ7C./7BK&N?"_4M,TSX<:3X>MS?0>']0$U[/O5-H)#,^&(SEM MW R:]B>>*(9DE1!C/S,!Q0\T<6WS9$3<<#7*Q2*JE_-1BJEB!P QSQD MD^U>Y+-$TC1K(A=?O*&&1]15"\\0:;9:EI]C/ M4^.#@]LU'H'B"T\0:';ZG;AH(YT+B.8@.JABN3@GTK3,B#.7487<>>@]?I0! MX>_ACXE>.9O#>B^-]+M;&RT.]2[NM56[21[YDSMV*O*DYYSCKGC&*]RIGG1> M8J>8F]AE5W#)'J*/.C$PB,B>81D)N&?RH \[\!>%M8T;XI>/-6U&R,%CJMQ" M]G-YB'S0H;<< DCJ.H%8/BW1_&>E_'(^+?#?A(:_9G2EM-K7L4 W;B3]XYXX M[=Z]5TG6['6UNFT^7S!:7+VLO&,.AP?PSWKDI?B@\:WMROA#79M,L9YHI[^% M870")RKN%\S>0-I/3/% &3-K_P 2=6\.:Y:-\/!H]U)8.MI+'JD$I>5B% P" M,8#,V2?X?>N3A_9UF;X7BRD\0Z['J36GG'2OMB_8QC*<@UQU]\1XH;V\CTK MP_K.LVMA(8KN]L84:*)E^^HW,#(5[A >1CK0!TNMZ5!KN@WVE7F?(O8'@"]&T.PU2",/%8ZV+U8A!&Q."T9.XD9)&.G'7%>R M66JV-_I=KJ-M(CJ>J[KB,LBD@;BV[#?*J\ DU]"BXA8.5FC(3[^&'R_7TH$\ M1#$2I\K;3\PX/I]: /)]<\/>-/"7Q9U+QCX-T:W\0VFLVT<-U9-=+;R1.@ # M!FXQ\OOU/'>D\*>"/$Y@\=>(O$MI!:ZQXEMFBATV"8.(@(V506Z9)('7'>O7 M ZEBH8%AR1GD50OM;L=.U/3]/NI=MQJ+NENN.I5"YSZ<#\\4 >.^!;_XI^"? M!=AX?3X9"\%FK 3G68$WY8M]WG'7UJ:?X8Z_XZ^*VL>(/$EQJWAJU@@BM]-E MTV]C2210,Y%>L>'M>MO$>AVNI6JM$MU'YBQ2D;U&<<@$^E:*RQ MN[(DBLR?>4-DK]: /*/AOX$U[X>_$S7;2,WFH^&=3A2=-0NKA'D^T#KO&0Q) MRW.W^[6K\-?#&L:#XR\Z_WQTJ3PWXNBU^2]M[C3;W1[ZQ9!/:7Z MJK /G8P*L58'!Y!Z@B@#E/A-X/U30M.\66OB2P\B/4]9N)XD:1'$L+@#/RDX MSSP>:X_X5?"7Q'X?^)$QX@M!I*VA5K MV* !BS$_>.>..W>NN\'>(/&6J:O)!XF\"1^'K,0EEN5U&*?<^1A-JC/0DY]J M[,S1K%YK2*(\9WEAC\ZR=;\36NAW%C%/%+-]M69HVBP0!%$TISD]PN![T ;- M>-)M.GB5 MIV:4XB"!&*OO/ P>N:WXC\72P/KVO3B2>.V.8X$&<(#WZ_H.M:\'Q& ML!I6J76K:=J&E7.EB,W%A*/%$6F-+8W&CI%9N M)4_?3*%.S!;(Y7&3@>]ZN/%NOZ_I&J:K--+?6%E?((6W,<;P M P;(Z\G@XKUGPWXO37[VYL+K2K_1M1MXTF:TOT4.T3$A74JS C((/.01S5[1 MM?MM9AO)(D> 6E[-9-YI W/$Q4D8/3C- 'A5WX$\?S? [3O#,VAM<8XKTKP[XL^(.HZ_:VFO?#M=)T^0D37O]KQ3>4 I M(.Q>3D@#\:[PSQ"'S3(GE]=^X8_.LS1_$-KK!U/RD>%=-O7LY&E( 9E56W @ M]/F'6@#%^+&B:AXD^%FMZ3HMO]JOKJ)%AA#JNXB12>6( X!ZFN-\:?#+5]1\ M >&]2\-1?8_&/A^WA\HQNJ-)A0'B+9VGGD9..H[UZ^)8VV8D4[_N8;[WT]:< MKJXRC!@#C(.>: /%?&NE^.M4\4>!O%EAX0^V7NF6TIOM/:\AC$@-1?$[PEXCN_%/AWQCX- M@M[[4-#+J]A/((_M$;=0K'@'KU]?PKTRB@#R70/#_C+Q5\6=/\9^,=%M_#UM MI%I)!:V:72W$DKN""Q9>,88^G04WP?\ #2>YA^(.G>,-+6.RUW599K5BR.6C M8L5D7!)4@D$9P:]?:8R+J+>/EY;* MX R-V.#CM5;XE?![6M?^'GARZT*T(\1Z?816-W;+*BF:+: 5+$A25;WY!/M7 MOM% &5X5LY]/\':-97D9BN+:P@BE0D':ZQJ",C@\CM6K110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !116:FN6LGBB;0567[7#:)=LQ4;-C.RC!SG.5/:@#2HKF_$7C>R\/:E%IR MZ?JFK:A)%YQM=+M3,\<><;VY SP. MH-&^(5IJFM6^EW>B:YHMQ=!OLQU2R\I9RHW,JL&(R ,X.* )/B(VHS^%'TG1 M1(M[K$JV"3+&6%NK_?D;'0*@;TYP,Y-M:6]D!IE@ M\26\L$1\HNI9_O(63.1]U177ZYX^L=%UA]+ATO6-7NXD62XCTNS,WV=6SM+G M( S@\#)]JW-'U>RU[2+?4]+F\ZUN5W1OM(/7!!!Y!!!!!Z$4 >5Z%\.M'DU# MPI'>:$Y@N]!+ZHLJOMGG40[!.#PS L^ W3MTXS+32;.TT_P\WCKP[J6JZ+!I MDMM;0"SEN1;3BX?[\0!8$Q[ K$MWVBVWB[19Y[6WT2[$,%\&;R5:Z!AC<]"ZQ;1@G(QZC- M9L>FVJ:;I+^/O#>K:U;G0(8+!([62=H)U+>8I47AVQP.HQ7L>D>(+36 MKJ]@M$F5[,Q"3S% !\R-9%Q@G^%AGWKA_'17C; P$9V#K[EAZ5Z'X:U#2=3\-V5SX M>*_V;Y02!50IY87Y=FT\J1C!!Z8K4H \1\+Z3:IJ7AJ+2O#6J6'B>SN-VMZA M/;.BR)L83;YC\LP=B"H!/4=,8INE>"='TG2?A_JUYX7+W'VO.H2BQ:297:)Q M&T@QN #[#D\+@=,5[/J6HVFD:9/NDI-AN MGSCUKTS1/B+H^M2SQR6^H:6T5L;Q/[3M3!YUN.LR9SE1QZ$9&13_ YX_P!+ M\2ZC]B@M-2L9I(3<6OV^U,(NX00/,B)ZCE>N#R.* /(M?\.:POCC54^RLFI2 M:@KZ9=#Q#I,]G\5IK_3M)NM2U"34( M9EBN]*DW #:"T-[&VU(P 3M?T8$<\^H>(/'-AH&HKIJ6.I:OJ)C\YK/2[4SR M1QDX#MR H)Z9.3V%:7A_Q!8>)=*%_IC2;-[121S1F.2&13AD=3RK ]J .7^& MNE66C7GBBSMM);3[@:O+([?9C<3$F(JV,. ">A.,]JQM"\$:]J^G:I%<^* M]4TS2[O4[T2:9%9PH6B:=\XD9-X##G(/?BO5** /%?&FEPVFJ7\5QI=U+IIU MW2D2"W1@TT:VY4JA!!; XP#GC%4-2T*ZNO#.M2>#M%O--\,S:A9R&PGL9/WJ M(&\]UM_L.JKI&H:QINEZB2UY&YU&UC!8!-/G\/:KH.LW5U!6ENER]K;1%I&1V95VYP"25;C/:@#S7Q!;P3Z]:7_Q+\*W.H6LVDQI M;VMC:O>16EQO8R)M4<.5*8<@#Y2 1WKZ;X,DU8V%MXOTBXNEM_##A(KO<_EO MY[&-&(X:14*CN0M>S44 >)_\ "+II&A:-J4&GW$5]>>&+X:M=2!R\K_9T M($Q;ONS@-TZ#I5?P]86X73;KP7X6U2VOK719O[6::.2 7A:W_=Q^83^\8R8* MLI.T \C@5[;?6<.H:?<65VI>"YB:*502,JPP1D=.#7$:'\1K.XALK/2?"7BA M['*VT-U]A!A"@[ Q??G:,=?:@#R;2M#G1=9&F:9J"Q7GABYAG6/0I+*-I\QD M)\Q+RO@M\S$YR<$\UZ!)\/+.#6M3TK0M/;3[:^T"*3>BML-Y',6CD)/!D! ) M)Y..:]7JEK&DVVN:1<:;?^=]GN%"R>3,T38R#PRD$=.QH XSP%JWGZ;)XIUF M&2"Z\2WR10HL9;RT1?+C4D=%)1VR>/G]ZD\?:58S>,/!NJZAI#7\5K?21O+' M:F8PEHV\LD $A1(%.[H" :[*#2[*WLK2TAMHTM[,*+>,#B/:,+CZ"L_7_%FF M>&KS2[?56D0ZI<_9H'5-RA\9^8]A[T >7Z!X.ETO3_".H:/IUQ::Y<0WL=U< MLK!\M!(4$I(X4.$V@\#C%4/AGH>I6?C#1R+9[2YMHW75&70IK9I,H01-*--M/%ECX0ZC?0O/&BIE5103COCVKE#H.H:)X8\2:;>6FI M:MK-M>VE])J+EYGU.VCF5E*D\!T564QCN,_Q5ZOKNLVWA[0[K5;Y9&M[5-[B M)06(R!P"1ZU/?WAL;7SA;7%S\Z)Y=NFYOF8+G&1P,Y/H : /'/$4/_"5Q>*K M]]-UNTL9Y].DA9M+,AE6-7RSV[89XLD!E'S=#BLW^QYKSX:FWO=(N+.QM=8\ MZV:UT662WN%,>-TMB[%UCW'&%_B ; ZU[]10!\^7NE:U<^!]!$^BK;Z+9W]S MYEN=*N+B*56 ,4QL]_F*F3( N2%.#MQC&OHVCZI#H>B*]O=20+<:F]N@T][9 M887M'"*(F9V12V=H8@_,!@<5[910!PLOB"[\'?"'1KJ+2KJ]OA8VMNEM'!(Y M1S& 3(J@L%7!)P,\8ZFN9B(U/PY=ZG8PZOJNM6VI6>I:BT^FRVIG2*3/E0)( M!E54-M4$GU)+5[!10!Y)JHO_ !7<:SXETG2-1^RVRZ>((;BW,,UW]GN#-)LC M?!Z' SC)'%&M"^\:3:UKVBZ1J*VUM96<4$5U;FWENWANA<.J(^#]T;03C)-> MDZKKEKI%WIEO=+*SZG=?9(/+4$!]C/EN>!A#^E.N=9MK77K'29%D-Q?1RR1$ M+\H$>W=DYX^\,4 G6^EK9*]_;-;M+*TN]MJ, V% M STR>*YN;PV=7AM+'5-,FFM)/&EW--&T3!6B(F(9O]@Y'/0YQT->F66N6M]K MNIZ3"LHN--$1F+* I\Q2R[3GG@<]*T: /$I_#MOI<:VVJ:#?7GA*PU^\+Z=# M;R2JJM$AA<1#EXU 3CC(../H6B@#PRTT36)O $5AI,-Q'JEQK'G:%,FG264>G*%!> M3:S.R18WC:V-Q; 7%>B> [ZPL_#NCZ-%I]UIUTUO(SV\\3Y$D;!92SD88EVW M9_BSD5UDTGDV\DNQY-BEMD8RS8'0#UK@K;XFVE[X@2U'@OQ4M]$BJQDTU088 MY&QN8[^%)3K_ +/M0!Z!1110 45GW6LVUGKFGZ5*LAN-025XBJC:!&%+9.>/ MO#%3:GJ$.DZ3=ZCZF#&."-I&"C)PHR>5[2\\/,TGV.RNH(S<":,<-,Q9Y &.3QUKZ M=HH \:USPV?#=YXBT[PU%J::?<6-C#;:]BT9M(A$;7$7YOS >OOFO6** /-_'5_ING>*A/K M;ZQH(:T5+;7=*#R"7YB6AE14897AEW YW-C%<]K&JZCJO@6PB\5-J%MH-SJ4 MHEUB*Q*7?DIAK:8QJI,;,X^^%_A4X&ZO::* /"K'5M5OOA9XCT*6P:WCM+6- MK"\%E,C:B&E.;HA^['!*GG.3G!KT/2_!^NMKEEJ/BOQ2-933V:2UMX=.2U19 M&4KO;#,6PK$ <8R:[*B@#R[Q?J6EZ7XNO7U>YUSPQ<2QQBVU/2T>:*_0#HR" M-U#J21@C.,<\XJI::7<>-M6\.0^-;.X\N;2KYYX-KVPF GB$32*I&UF7#E,\ M'Z5ZY10!XGH.C/I=GX/U^WAU.ZUBZM[N*[9KB0R3HMO(4C.>!@JNWC@XZFN0 MT%=MW?OISRL+[P[?K?1PV5VB^>(@56229CYLOWN0!WQUKZ;HH XGP#%)'K/B M$O&R!FLL;E(S_H<0.*SX?$UA\/O$&OVWBB*[@CU&_-]:7L5G)-'<*R(/+RBG M#J5(P<<8->C44 >(?$#4?[H>(-7L+C19Q='5Q*0EWE=B1M* 0S#>&5?E^[ M7M]% 'D6KWX^)$SKX8MKW_0]!OK>X:XM7@"3S(BI!\X&6RISC(''-:FB:[;^ M,/&7AR32+6]1-%LY_P"T&N+5X1;R.B((26 RV020N1\M>DT4 >?W>O6G@3QU MKEYXCBNHK#6!!+;7\5K),@9(]AA;8I*GC<,C!W&L;Q/JD7B#2=,U'7]%U"Q\ M(R:C*;M(TD$EQ%Y7[J::- '5"^>.>B$]:]9HH \0L-#L];_LK3[>#4O^$4F\ M0N;"*9IHV-O]C;CP6?A5+&YN)H=,TO7;Z&VM[^VN; MFT:/*[$D,1\Q=N6V'D=17T#10!X)%:6TY\,ZKK.C7-K='1-0M+1W,\I,BD>2 M06^8 H9"H?G!PDP:=X!E\&:G+:7D=K>:;(MW-'%+<.]W(D!&\#+9;80 M.,#&.*]@HH \"MTTJ31M D^(-KJHT9M/G-I%''.=EX;F0G)87L>H7WAF VDDR2&5RK%9 Q&0'"",$'G]:]RHH \+\50Z<= M:\1#5[?6'\:&Z)\/R6Z3D"/:OD^45_=JH.=^[_:S5O6/#23'Q3XCF2\_MJQU MRV-G-%-(!%Q;!]B@XPV6!..1]*]IHH JV>HVNH&Y6TD\PVLS03#81M< $CD< M]1R.*\_^&GA;48] TK4I?$VLI"#(YTMEB$ &]OEQY>_'?[V:]%@M8;9I3 FT MS2&20Y)W,0!G\@/RJ6@#YVM97D^+&FZA$)[74SKQBO(!:W;S1PLSJ!+.Y\O8 M1MPJKC!'I6WHWA"QE\.>#Q-;70EU;5)/[2?S9 \J+'<;58YRJXP,#'!]Z]NH MH \4MO"=MIUK'J%K'?BZTOQ6MG8%KB5OL]I]H53&JDXV%6;/7Z\5UGQ*T>37 MM5\/:?$IW3->*K@<1O\ 97*,3VPP6N_HH \8TN[U'5]:TKQ;<:;=_;+X7H6V M4%'5(;78J X^7=)YA!_VJY+PF+Y=%I/AQXF@\$VVL)-)I\8O6FCN OG;QG_6]9N225![5 M=UCP[%X:U?6-/T..\6SG72KET:224-,;W#R9)/S%0-WTKV.B@#QJT\-PVM[9 M^(X4O%U9O&$L+3>=)_Q[M<2*R;,X$9'/3KS7,^%(-;3XB6!NWAB\0?VB6U _ M9;\W+P[SO#N3Y'E[>A' &W%?1=% 'CFG^'[?1_ +^,8+>;^U=/U*:_N'=F+R MP17$JM& 3@#RF? '?!KOO -I/!X1@N[X$7FIN^H7 8\AI3O"_P# 5*K_ ,!K M0\0^';3Q-I\=EJ4MTMLLRRR1V\[1B8#/R/C[R'/*]^*U0,# X% 'SL\KR?%F MSU",7%KJB^(A%9.Q\L1L,855QA@,\9K>\.^&ETV'PKKNG)> M1ZQ>:E>07$KS2$-$1<%492I# M^W9+E)]OF^3+DR%_D)W9VE?X<^M>@^--(N]9\>^&H+/4[[2B+>\9KNR5-X_U M?RDNK#!^G:N\HH \(\1:-KVEIXQM;74+_5 ;K3&N[N[1BTEML?>#Y 5B@X!" M?-MS5'2I+JV^'6O"!8I=#FNK6-%L8-0BMK<%CYSX?]ZR8V[E3 .?U\/ZK;ZC:)%9S0+) T6V<11R$MM*ESUY*@XK?U"+5/# M'A;3O&<$$CZM?//]KAP<[KS'DJ?]QQ OTS7L-9.J>'+/6-5TZ^OI+EO[.D,L M5NL[+"[]F=!PQ7&1GH: )/#NDIH/AO3]+1B_V2W2)G)Y=@/F8^Y.3^-8^G1N M/BMKKE&"'3+,!BIP3OFXS7544 >*PZ5:Z%X=M_%4MI=&:/Q,\NH3A9)'2V2X MF4809.P;@?E'?-17UU::J+^_UNVU,>%)O$+[)&(F=%&_P LO@XQ MW7(KV^B@#Q7Q!8W-]I/AJ/P M_#;):ZB8$O1*LLL'[LF-'8[H]ZY5&/(!&,5 MW=Y-87GP;O9-"MVALI-%F^SVX0JR#R6&S;UR#Q]:Z^B@#Q[4/"EEXBU C5X+ MJ1+7PA;O J2R1JDP,A#84C+C QG./2L?4UL;N)9O'4.M7-Y/H-H=#>W$Y/FF M ^;M*<++OY)?MCM7O-% 'S9X@M[_ ,GP_P#VPMNE@-!LET[[;;WKJDWE_/Y8 MMB-LN755NIYKIBL%K9PF663&-Q '89&2?45GZ MG\6/"NEQV:/IUU;:- M/?):S'==6-P8KJS+%0&09 8$C!!_V3[UA>(4\9WNC:%X?\0>'=4OH)K-&U^^ MTR*)Y[G#$K;!BR@#@;V'J0.IH ])U7QYI>EZ]!I M=3O[J:%)_\ B7V+W"QQ MNQ56 M%=;OO&#WF@:!J<%_<0V2:9JMM?\ EPV81LR+-&& &%)'1\]L4[2_"7B*+QK9 MZ9/I4Z6EEXGNM<;5=R^3+%(C;47G=O);!&. .M 'M%%1S1M+$425X2?XX\9' MY@C]*K:6\KV\JSS-,T<[H'< $@-QG _2@"[1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %4=*_U=U_U]2_^A5>JCI7^KNO^OJ7_ M -"H O4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!5'2O]7=?]?4O_H57JHZ5_J[G_KZE_\ 0J +U%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%(S!%RQ"CU)I: "BBB@ JCI7^KNO^OJ7_T*KU4= M*_U=U_U]2_\ H5 %ZBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M/(OCU$]U9Z-;+>QLK2NS:2]T]L;[!3!5UXW)G.&./FSVKGO$)L/$OAOPVVA: MEK=QK>I:>D6BV4MZ4-EL<[[N9T(#8 QELAMH YY'LWB;PKH_B_2O[/U^SCNH M ZR+N4$HP/4$CCT/L35+4_ASX/UF:*75/#FGW+PQ+!&7A'R1KT4>@&3Q0!Y- MX]NKR/Q5XDOI=4NAJGA\:.NDB.Y:-297Q*?+!PV_D'(-2:1>W1^(=EK!OKEM M6N_%][I=S ;IBOV-(VPGEYV@+M4Y S[U[%<^$O#][J=EJ-WH]G->6"A;6=X0 M6A Z 'V[>E/B\+Z%#XBDUZ+2;1-6D78]X(AYC#&.OT H T9Y?(A,GEO)C^&- M M@GE 9OHO4_@*\STWQ1X'?$'B.YEOKEA-9VTH39YK;/G=D7 7 P.E M 'L=%>5^&_$NO65YK5OHW@#57MENU989[^&-H,P1';AW/)^]@'^+US6V?'GB M"WP;[X=:ZJCEOLTMO.1] '&: .YHKB%^+/AV XUJ#5M#(^\=2TV6-%^K@%!^ M==-I/B'1]>B\S1=4L[]<9/V>=7P/< \4 :-%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 51TK_5W7_7U+_Z%5ZJ.E?ZNZ_Z^I?\ T*@"]111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 45B>)O%VD>$[6.75K@^=,V MRVM($,D]RW]V.,3PQH;]-+LI?]+G7_ *;3#[@/]U.> MQ/J :6M_$?2]/U%M(T2"?Q#K?_/AIH#F/WED^Y&/]XY]JHC0/''BG#>)M<3P M[8MR=.T,YF(]'N6&?^^%'U[UUFB:!I/AO3EL-"T^"QME_P"6<*8R?4GJQ]SD MUHT '9_M.FZ1 ;P\M>7&9IV/J9'RV?QJ4^$;99IGMM2U6U6:5YF MB@O&5 SL68@=LDD_C6_10!G:1HEOHRW/D37,\EU*)II;F4R,S!%0[!W+=V0-O,I]0\>#FNIHH X,^%O M&?A_Y_"WBLZI O2P\01^;D>@G3#C\0WOFG)\2FT>9;?Q]H5WX=9C@7N?M%DQ M_P"NR#Y?^!A?>NZIKQI+&R2*KHPP589!% $5E?6NHVB76GW,-U;R#*2PN'5A M[$<5/7$WGPRL+>[>_P#!M]<^%K]SN8V&#;RG_II ?D;\ #[U!_PEGBGPJNWQ MOH?V^R3KJ^AHTB@>LD!^=/P#7\X_] 2@#J_$&H2Z3X9U34;=4>6SLY9T5P=I9$+ M'';(K-4^('NC:KXCT,W"KN,(TQ]X'KM^TYQ7.:M\+;W6M%O8-8\8ZWJ=U-;R M)$CW'V:V#E2!NCB RN2.#G\:@T"PB\+>)CI6@^$/#]G?O!EKI=0E9F'7RC*T M!8M@;MI/09H [OP]J$NK>&=+U&X5$FO+.*>14!"AG0,0,]LFM&L[P]I\ND^& M=+TVX9'EL[.*!V3.TLB!21GMD5HT %%%% !1110 4444 %%%% !1110 4444 M %4=*_U=U_U]2_\ H57JHZ5_J[G_ *^I?_0J +U%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 445G:[X@TOPUI4FHZW>1VEM'QN;DL>RJHY9CV R30!H].M<)J'C M;4?$%]+I'PWMXKV6-C'=:U/G[':'N%(_UKC^ZO'J:KC3]>^).)-=2XT#PNW* M:8&V7=^OK,P_U:'^X.3W-=W8:?::5I\-CIMM%:VL"A(H8E"J@] !0!S_ (8\ M":?X>NGU.ZFFU?79QB?5;T[I6_V5'2-/]E<#ZUU%%% !1110 4444 %%%% ! M1110 4444 %%%% '*:W\.=#U>].I68GT75Q]W4M+D\B4_P"]CY7'LP-9IU#Q M]X3_ .0I8P^+].3_ )>M/ @O5'JT).QS_ND?2N]HH YSP_X]\.^);AK73]0$ M=^G^LL+I#!<(?0QOAORKHZQO$'A'0?%,*QZ]I=O>%/\ 5RLN)(_=7&&7\#7. MGP9XHT%MW@WQ=-) O(T[74^U1_02C$BC\3^- '=T5PG_ F7BW1F"^)_ ]S/ M&.MWH4ZW2GW\MMKC\OSJ:'XN^#&81W^J/I4O_//5+:2U.?3+J ?P)H [6BO/ M-&\:/KFFI?1>-O#=L)&8B!H S( Q !)G&> .<"M?P]XUTZYL[E=7U_1VN(+J M2$213)$LBJ>&"EVQ^= '645@W'CKPG:@FX\2Z2FWKF\CX_6LJ7XN>!$XB\1V MUV_]RS5[AOR0$T =G17#GXHVUUQH7AKQ)JI)P&BTUH4_%I=N*/[<^(FI<:?X M0T_25/\ RTU74@Y'OLA!_(L* .XJ*YNK>S@:>[GC@B49:25PJCZDUQ7_ BO MC?5C_P 3[QO]AB)Y@T*R6'\I)-[5!=> /A_HC1W?BF2.]G)^2?7[\S%C["1M MOY"@"]=_%?PI%<-:Z9>3:Y=KQ]GT>W:Z;\T&T?4D"J__ D7C[6SC0O"5OHT M#=+G7;L;\?\ 7&+<<^Q:M2S\4>'K/6)_#FBVTINK1'9[:RL'6)"J[MN_:(]Q M'09J*/7?%NK:'+<:5X8CTR[\Y5BCUFZ"AHR.7(BW$$'C:<9]: *!\">(-8Y\ M6>-]0EC;[UII$:V47TW#+D?5JU=(^'WA#PZ3<6.B6B3*,M=7 \Z7ZF20EOUI M9-&\3WUYIEQ<^)5L(X$0WEG8V:E+B0'+8=\LJGICKCO5.[\.^$M$N-0O?$6I M-(-2C=)UU?4F>(QL02BQNVT#@=!GB@#0U7QYX8T;3X[R\UBW:&25H(S;'SR\ M@&2@"9)8#M2GQ1<2:_;Z=9^'M5G@F19&U$QI';QJRY&2S!B>@("\5F>&/&'@ M9KR#0?!LD#JY8JNFV;F!2!DEI%78#@=SS5[7]5\60:D+3PUX;M[R(H&-]>:@ ML,0/==JAG./ICF@"LTWCJYT?57NHM+TF94W6)M2]Y)P26#*P122 ,'J>:XF MRU.YA\,V^H7=MXFN[Z&)]0;4OL"I;2SDALL@.[ 4>4& QL)[&NOCT7QUJHFC M\0ZWI-M9SP21/::;9N2=Z%1F5VSQG.0!THB::*_$ITK5FU@60LA:[G_L_']\ M'/EX/K]_'&,\4 =?:3FZLH+@QO$98U/K?PMIVFV5W<20QRN]UJJ6A&]V4*B,I,C87 M.!ZBH;/XI+=^,ETHZ++'I>*V@>>YE2&*-2SR2,%50.I)/05Y]-XHUOQ[,UE\/R;#1\E;CQ'/'PP[K:H? MOG_;/RCMF@#9\3>.8=(OTT71;1]:\13KF+3H&QY8_OS/TC3W/)[ U7T'P/.^ MK1^(O&]VFL:XO,"*N+6P!_AA0]_5S\Q]JV?#'A+2O"5@UOI4+&25M]S=3-OG MN7[O(YY8_H.U;5 !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4R6&*==LT:2+Z.H(HEEC@B:6>18XU&6=V 'N37/:KX_P##FDQ6 MCR7_ -K-ZS+;)81MM '/P> S;VL=M>>%/".I%'?9/=K\[@L6 M&083S@^IZ5>T'X9>'+6SG.L^%?#LEQ-ZM=-T'5)(-"W+;ZC&FZ%+L#<&-,:[A&HV*S6$!GN+>V(DEBC! +&-,MC) Z=ZP([/P;JWB/2;6_P#$W]M: MW81J(8O[3^9G0[O,:*)@N[ZCMTJUJ&K6OA;69[7P[X&U"^O)AYLT^G64<4;E MN?FE8J"<]>IH G?QM=7VB0ZAX9\,:IJOG3-$L(ZKXARQR!61JMS\-?![6.E:K# M9RW=@A:TMY+9KVYB#L6R.'<9;)SQ6OHGPYT#0]4CU2,7U[J48(6\O[Z6>3D8 M/WFQ^E=/Y48E,HC7S",%]O)'IF@#F-%\;2:]JT5O9>%]<@LW!+ZA>VPMXUX) M!PY#-G ' [U)K]KXUO-2\KP]J6CZ;IY09GGMGGN W?"[@F/K7344 7RH$6>X MMUD90,D8W XZGI6Q10 V.*.&,)"BQH. JC %.HHH **** "BBB@ HHHH *** M* "BBB@ HHHH \_^+GAC6_$N@6\>B)8WD<4H^T:=>P!EN 67#*^TLC+STZ@F MFW'P_P!4_P"%?>%] 2_BNKG1[^UN9YYV8"18V)8+P3WP,^G)KT*B@#S#QS\- M]8\4>(+LVK:*-.U(6PFNI[?%Y9^2^[]TZK\^[I\S#':FZ?\ #/6;7QC;M-=V M+^'[/6I];A(W_:6FD4@1L,;=JEB=V;3K31]0U&6")))6MC"% M0.6VC]Y(I)^0]!6=??$/2-%D9/$\5QH1\HRQ_;6B)F (7""-W+-DCC&3VH Z MNN<\3^.-)\,/':S&6^U6X'^C:79+YEQ.?91T'^T< >M81U7QGXV&SP]:-X6T M=^#J6H1[KR9?6*#HF>S/S[5T/AGP7HWA1)6TV%I+RXYN;^Y$-9\9S)??$>18K$$/!XWW1[UWT44<$*10HL<: M*J(,!0.@ [4ZB@ HHHH **** "BBB@ HHHH **** "BBB@ HHJAJ&NZ3I*DZ MIJ=G9@#)\^=4_F: +]%8&C^.?#/B"YN(-$UJTOFMH_,F:%]R(N<9+_=_6N2\ M1_&JST2Z,&G^&]9U<&9H(I[6-3%.RXW;&!)8#(YQ0!Z917#Z#XH\<:IKYMM2 M\##2M.\O=]MEU%'(8KE1L R?0XZ&JT_AWXE:RDJW_C+3]%CDQB/2=/WL@]!) M(V?QQ0!Z SJ@R[!1G&2<5S\GCOPXM_?V%OJ4=Y?Z?"\UQ:6H,LB*GWA@=^V. MM8&G?"2Q&KVNJ>*M;U3Q1=6:;;==2=3%$=VX.$4#Y@>Y)K3U'X7>#M7UBXU/ M5-&CN[BX<22>=(Y0L !D)G:.GI0!0B^(-]K]DB>$=+MAJDDS+]CUB^C@D2(# M/G&.,NVW)QC@U0UOQC=Z7XP@@O-=O,6T<;7.CZ1H4ER9'*@L#,5.%)/&-IQW MKM=(\*Z!H+[]%T6PL9-NWS+>V5'(]-P&2*UJ /+_ MIFG:M>WUC?^%/%%S9 M:BNZYN_$TJO&^UMRJ(RYQSTPH/'-=%?6'B^SN!I_@VW\-Z7I$:@1/,DK.#W_ M '2!5'/^US7744 >-Z'X,&@ZU(WC/4IKIO.E86EKI1$-V7)8.'7K:_,K!Q"TYMK92.1B*+ X]R??- '0>(_%VB>$X(I=>OA;"W6UCQG[P\UE)'?@5VI16 M969067[I(Z4M &-XCG\20P0#PI9Z=HR/4Z@O;&UU&U:WO[>.XA;K'* MH8'\Z .0UE=3TKQ'!'X#L-/EN9(&?4+264PQ;05V.=H.'/(''(SZ"D'C3Q-8 M,%U[P#J(7(!FTJYCO%^NWY7_ /':ZW3]+L=)MS!IEI#:Q$Y*Q(%!/J?6K5 % M2XU2QLEMS?W<-H;EMD2W$@C+MC.T GDX[5;!R,BJ&L:'I7B"Q-EKFGVU_;-S MY5Q$' /J,]#[BN7A^'][H%PLG@KQ)>Z;;!P6TV])O+8KGD*'.].,]&_"@#MZ M*P?$GC+2O"4EI_;IN+>VN25^V"!F@A(Q@2./N9SQGC@UL6MW;7UK'&++5?$DH./\ B66;-'GWE;:@_.F_:OB3K_\ Q[6.E^%+4_\ M+2[] 'MI^C&Y\0ZDO!M M-'B-P5/^TX^1/Q88JNGPKL+^03>,M8U3Q/*#GR[VX\NW!]H8]J?@0:[#3M+L M-(LUM-*LK>RMT&%BMX@BC\!0!Y7->^-[WQ3?37D#)M=.EU.X95,G M >-#$C?-R#NQQUK5\)>%-%MO'2ZA:6NJ7\ZV+^=J>M6T_FM*77&UID 'R[N$ M XKTFB@ HHHH **** "BBB@ HHHH **** "BHFNH$N8[=YXUGD!*1%P&<#J0 M.IQ7">-?'FKZ#<30VUA8Z59QL$.LZW=!(&8KG$429DD/MQR/3F@#T"O.O$/Q M+TFQU*[MIO%%EI/V68VZP+!]JN9Y!U/ECE5S\HXY(/(I?#M[K5IXH@%_>:YX ME:_MT8W,-G';:;:QM\P903N+<>K, :XZ>QGU/Q#XD^VZYX3\*3O*T07([OQ/>Z3;>,O#VD^2))8[2RM6O+XQ*,Y9"P ;'8 ^V:3P MOX2T'Q5H,4FM7\WB"ZL;R47-R+QO+N)LKAR(R%8; FT'.!Q7H$&G65M)8T7Z 5:HH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"J.E?ZNZ_P"OJ7_T*KU4=*_U=U_U]2_^A4 7J*** "BF3SQ6UO)/<2+%%$I= MW(&,/PZT.75UZ?VI>9M[%#ZAB-TGT0?CWH [IY$BC: M25E1%&69C@ >I-<7>_$[3YKM[#P=8W7BK4$.UET\#R(C_P!-)VPB_@2?:MNW MT6?4_"O]E^-6M-5DG!^U"*$QPO\ -N"A22<#@@ X% &7J>C2^)_#<-GJT]WIXU/3[]M3MK>987.GP/<'>1D ! <].O3WITOC M&X:33!IOAC6KR._19#+Y*PK;J6Q^\WL""!SC'2@#IZ*YQ-4\53:I?0+X2>=UCBB4N[LW4CWKSOQ9XBN4\82:'JOQ+T^WT>\@>Y)6UMQY(#_+%G+%R?EXXR-W MT(!['I]_;:II\%]82B6WG0/&X!&1]#R#['I5BOGN+QAJEKK"Z/X;\7:UK$5R M9+MI]/\ #BN0^>55&5002=VX-CD\#K76'6?BO?:EI\FB:*\5C%'&MRNL+!!] MI8??;Y'9H]WIM./>@#UBBO.IH/C!=6,Y6]\*6$VUFA2*":5L]E+,VWVSM_"L M*30OB&-%2Z\67VOZE>-,4FLO#M[;6\:Q@ A\LBL<\C:#GCWH ]=NGMTM9#>M M$L!4B0RD!<'KG/&*\N>\^''A#Q-'J&B>+HM)+.6N=*T^X$T%UD'_ )8KNVMD M@Y3%$7A?X?P^(K+3=<\/ZO=:C=(C13:NEQ=IN89V&0ED!'0Y.!CK77^&M4\$ M21W$?A.XT5%MCB=+(1IY7./F QCGUH Y?5OCEI6GS1QP>'M=E2X<1V]U5CV\R4KM_$"M5-1^)6L(&L](T'0H7&1)>7;7<@'KMB 4_]]5V=W:6FIV,E MM>P0W=K,N'BE0.C@^H/!%87AOP5:>%+Z=M%O;V+39DPNER2^9! V<[H]V63T MV@X]J ,G_A!/$&J<^)?'FJRJ>L&EQQV4?TRH+$?CFKNF_"_P?IEP+E=%BO+H M?\O.H.UU)_WU(6-2V7Q T>?Q#+H6I"?1]361EA@U!/+%TH/#Q/\ =<'T!S[5 MU% #418XU2-51%& JC IU%% !1110 4444 %%%% !1110 44C.J*6=@JCJ2 M<"L*7QMH":SP)!- &]17EVN?%>]33TM M]*TL6&MSW C@T[45,UPT1'^M\B$EEYXPY7OS6OK_ (&\0>(]0TRYE\;ZEI<4 M,*B\M=,41++(!RR$Y*Y)/WMW:@#8U[Q_X7\-3>1JVL6\=R3@6L1,LQ/H(T!; M]*Y;Q)JGQ#\41Z>/A]:0Z5I5Y&6GO]24Q7,.&(($3 E<@ @X/7M75>%_ GAS MP="PT'3(H)I/];3Z^E=#0!YSX=^$46C>)-0U6\UV\U%KR&2W#3 M >>$<8),_+@]?NE0/2NKT7P?H7A^Q6UTW3T$:S?:-T[&9S+C&\LY)W8&,YK; MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH SM;\0 M:3X;L/MNO:C;Z?;;@@DN) H)/0#U-3S:I86]K!//;2V\SK#=/:+<6BEMF4F!.5R!P0.Q'>J&O:='J' M@7X?Z]=:6VF7D>I6,4=A$62"V4R$DK%T&1CDC(&!0![!=:[I-CJ5MIU[JEG; MWMU_Q[VTMPJR3?[JDY/X4)KNDR:R^D1ZG9MJ4:;WLEG4S*OJ4SD#D=J\.^)4 M*CQQXHLI[9WUC5CI!T%O)+,_ER_O?+;'&WJW/2C1X/\ BY=EIH@8>(K?Q?>W MUV_D$/\ 8FC;#E\?<;*@KZ=HMJ+G5[^VL8"VT2W,JQJ3@G&2>N M3^!K"T'QGX8O)I;6T\0Z5/<376?\ MB<*BB8XBW-;S@>9R/D!.6[8!KQ_Q;X6\3PZ_9:;IOB33+.PU/5$BMOL6?/,N MY1YTA R 2,_*VW*KT.* /IQ9XGE>-)$:2/&] P)7/3([5PUSKGCCQ!<-;^'M M(@\.6>\I_:6M?/*^#C,=NI_$;F&?2N3T7X*>*-)TF6Q@\>FQ%Q-YUQWMHB)#,!%&R;/ND84_-_M=3W- M'0:)JVB>'M(U*/4_&?\ ;]Q:YGOY)9DE>$'"X\J,$HN>-H'K4T_CRW71+6^T M/0M6U2*X=HXXX+80E=O<^:4VKZ'H:RK+X+^';)G/]H:[,9&+.3J3QER3GGR] MN>:O)\(O! .9=%-T?^GN[GGS_P!]N: '7?C*]M?$:07*:)8:,$W27MYJZ"7) M3.!$!@8;@_-R :YO_A-K9M.OX-=^*>A13S,GD/H<<;-; $[A\QDW%A@(Y+ -@Q1W1,Q+9RXC558C@#VK4M_$7A]-9FUC1_AOKL^IW&?,O? M[$\F1P1@_O)-IP1CVKTT# P** .&B\5^*77R]*^&]W"O;[9?V\"_^.%_Y4OV MWXGWG,&C>&],'I=7TUP1_P!\(M=Q10!Q T/XBWG-WXPTNP4]4L=(WD?1I)/Z M4?\ "O=1NO\ D+>//$ER.ZV\T=J/_(2 _K7;T4 <3'\(O"#2"34;.ZU:4?\ M+34KZ: ;72M86^\)6FAZ4OV?R7A;2PRDABVX;'3!YQSFNPHH MP+;1M8?7K._U;4+&6.SBE2.*TLGB)+[>26E;@;>F.];]%% !1110 5GWN@Z3 MJ-K<6U]IMK/#=*%G1X5(E .0&XYP>:T** .5N?A[I7]EV=AH]WJFAPV3.\(T MR^>+ESD[@20PSV.0*M_V3XBB\1M>0>(TDTPJ1_9T]BI(;9A<2J00-W)R#GIQ M6_10!P>J6FOZIX5O;?QMX1TK7V21/)MM.N,>:I^\X\T#8R\8PV?<8JKI6NQ> M!-#M[2\LO%5R;M3+:VUY ;HVO\*VYF3('(XW,< ]<5Z-10!QF@?%7PQKE]+I MEQ=G2-8@++/IVI8AE1E^\ 2=K8Y^Z3P,UUL%W;740EM;B*:,]'C<,#^(JAKG MA?0_$MJ]OKVDVE_&XP?.B!/X-U'X&N9N_A7H%EX%FT'PWH]DO[P3Q)=2RJKR MC^)Y(R'^Z2,Y]* .[HKR"5UTFZTV7Q7X4\2Z4NEQI'%<:/J$U[:LB'(WA6WG M_@2DXZFNML=$TN>"[\06WBG6Q9:M Q7SM19881)T>-7'R,.@]* .FU74HM(T MN:]G2218P,1Q#+R,3A54=R20!]:EL;V'4;""\M6W0SH'0D8.#V(['L1VKR;Q M'I/D2V_A^WN/%OB"",#4//AORTF\G8H,HY5%"L< $DL#VS5OPAX>TG4O$CC5 M-%UFQGTV.*XM!>WLRA 6;(P'"R#>I;+#/S8(&!D ]+N-4L+2*:2[OK:!($+R MM)*JB-1U+$G@>YK"NOB+X9M])CU&VOSJ5O+,UO$=-A>ZWR 9*CRP>U4W3X;^ M&+R]NYG\/:?=7@;[4\DD0DF#'+!LG)!/.*V+76],/A+^V/#=N=2L=C/!%IL: MYFPVTA =HSD'J1TH A/B/4I=>M;*S\,:A)9S(DDFHRO'%'$K#.-K'>6'0KM' M-4X[7QG>Z?J2ZYJ^EZ*) HM9M,C,CVX#99F:7Y22./NX'6J/]J?$;7N--T33 MO#5NW_+?5)_M,X'J(H_E!]B]=(- 34/#"Z/XJDCUP.H%R\T"HLY#;@2@X'(' M'M0!YQJ5YX3U1++2HUU;XBZIIK.5$$I>/>S9S-(I6$8(QSG&,8KO]1\/GQ!H M,<$\MUH4UP4DNQILRI(>/FC,H&<>XP>*V+*QM--M$M=/MH;6WC&%BA0(J_0" MIZ ,?P_X3T/PM;-#H.FPVF_F211F24^KN%K/5/MNG>$ M;>YMY(@DEO9R^1*C G#H=RJ<@X()'05MZ9X/L[NT>#5-(6WTS[']BATV:7S2 M(M^]C(P)!)(' )QCJ<\=?10!S^G^ O"6E8_L_P -:7 5.0RVB$C\2,UOJH10 MJ@*H& .E+10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %4=*_U=U_U]2_^A5>J MCI7^KN?^OJ7_ -"H O4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !5'2O]7=?]?4O_H57JHZ5_J[K_KZE_\ 0J +U%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %>0_%7Q'XET/QEI1BU>XT/P^ C&^ M@LQ<1^;B0L)U^]LP%X&!@LKB/&7PMT?QEKEGJ=W+E M=?+\+O#\OB==9S>HHN([IM/6X(M7GC7:DICQ]X #OC@<5+;?#;0[7Q@?$,;W MIE^T27:6;7&;:.XD7:\RICAR,Y.<(R7$J11CJ[L% _$U1T65) MK:XDA=9$:ZE*LIR#\W8UHU1TK_5W/_7U+_Z%0!>HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "J.E?ZNZ_Z^I?\ T*KU4=*_U=U_ MU]2_^A4 7J*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ JCI7^KNO^OJ7_P!"J]5'2O\ 5W/_ %]2_P#H5 %ZBBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HKD)?B;X>B\<)X6+W37C2>2TZV[ M&".;Y<1,_0,=P]N1SR*FT3XB^'?$/B"71]-N)FN%\PQ/) R17'EMMD\IR,/M M/!Q0!U-4=*_U=U_U]2_^A5>JCI7^KNO^OJ7_ -"H O4444 %%%% !1110 44 M44 %%%% !1110 4444 %%-BD2:%)8F#(ZAE8=P>AIU !1110 4444 %%%% ! M1110 4444 %%%% !139)$AB>25@J(I9F/8#J:<#D9% !1110 4444 %%%% ! M1110 4444 %%%% !113))4B ,C!0S!1GN2< 4 /HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **:\J1LBNP!D;:@]3@G'Y TZ@ HHHH **** "BBB@ HH MHH **** "BBB@ HHIGFIYWE;AYFW=M]NF: 'T444 %%%% !1110 4444 %%% M% !1110!XGJ6D>);?X\0S:#I4^FM=3>;/=P7 :UO+7,8D:1&/RR #&% R=A] MZE\!^%/$-IXI\-V>I:1/96_A==1$MZ[J8[LW$F8_+P*?'A\ M/>)M$T6#2[BZ;4[R*WENBI2& /G'S8^9_E)VCL#DB@#JYXVEA*),\)/\<>,C M\P1^E4HM)DA#"+4[Q0[%VXB.23DG[E?$'5].\9V>GW_APV^DWVIG3+:YD MN,3ROLW>:(MO,7&-V<^U5O%'Q7D\/0ZU)!HDU\FGWJ6<4D9.PG;&9&D;&$"F M55'4D]NN #N?[/N/^@M>?]\Q?_$4?V?HH H_V??\ ?,7_ ,15ZB@"C_9]Q_T%;S_OF+_X MBC^S[C_H*WG_ 'S%_P#$5>HH H_V??]\Q?_$5SNI^/#9?$;2?"T.EW#K? M-(LM](I2)"L>_:AQ\YQC/89'.>*HZ?\ $'5W\<:?HVL^'#IUKJSW*6+M<;I_ MW/5Y(MORJP&003U% '6PZ3);V\<,.IWBQQJ$1<1' P/X*?_ &?UKQ?X MHTGQSIFB1:)IES;ZGY) [T =;_9]Q_T%;S_O MF+_XBC^S[C_H+7G_ 'S%_P#$5>HH H_V??\ ?,7_ ,15ZB@"C_9]Q_T% M;S_OF+_XBC^S[C_H+7G_ 'S%_P#$5>HH H_V??\ ?,7_ ,15ZN&L_B/) M?^+-=TFUT&^:/2;#[7$60K+>MN9<1H>Q*X!/7TQ0!U$VE27$$D,VJ7C1R*59 M<1#((P1]RGC3IP !JMY@?[,7_P 17(^&_B#?WFI:MI_BG1XM*NM-T^/47$-S MYRI$X)VOE1M<;3D5#HOQ-N=4\3^'M%GT*:UDU2R>YFN')$:,(Q)Y<9(^<@,, MG@#/>@#M/[/N/^@M>?\ ?,7_ ,11_9]Q_P!!6\_[YB_^(KAO!OQ2NO%'BQ=* MN=&2TAN([B2!H[GS)H1#)L(N(\#RR>W)S7H] %'^S[C_ *"UY_WS%_\ $4?V M??]\Q?_ !%']GW'_05O/^^8O_B*O44 M4?[/N/\ H+7G_?,7_P 11_9]Q_T%;S_OF+_XBKU% %'^S[C_ *"MY_WS%_\ M$4?V??]\Q?_ !%']GW'_05O/^^8O_B* MO4C,$4LW0#)XH I?V? MTJ&UU#PTH,T=M<^=#*6CWHH?:#G. 1C@T =E_9]Q_P!!6\_[YB_^(H_L^X_Z M"UY_WS%_\17'VGQ+DE\5W6CW>BW%LMEI#W\\[Y7S'0@.L0(^90C MP+\2+CQ3JZ:=JFE1:?-=:;'JUD8;GSA);.V!OX&UQQD?\ ?,7_ ,11_9]Q_P!! M:\_[YB_^(J]10!1_L^X_Z"UY_P!\Q?\ Q%']GW'_ $%;S_OF+_XBKU% %'^S M[C_H+7G_ 'S%_P#$4?V??\ ?,7_ ,11 M_9]Q_P!!6\_[YB_^(J]10!1_L^X_Z"UY_P!\Q?\ Q%']GW'_ $%KS_OF+_XB MI-3U"/2M,GOIHIYDA3=Y=O&9)'/954=23Q7#Z7\0];U_P;;ZKHOA=Y;^YU*6 MR%K+/M2V5&8&29PIVCY<' /) H [&329)7C=]3O"T3;T.(N#@KG[GHQI_P#9 M]Q_T%;S_ +YB_P#B*XRU^)TUY\/[#7K?1FEOKR_^P+8QR[A)(KL',;X^8;48 M@]ZRY?C!J6DQ:G'XC\-+:7UO8V][;VT-WYA/GRB)(I25'EON(R.>,XS0!Z/_ M &??]\Q?_$5C>"_%5UXB&JVFKV$>GZII%W]F MNH89O-C)*AU96P"058=0.]=/0!1_L^X_Z"UY_P!\Q?\ Q%']GW'_ $%;S_OF M+_XBKU% %'^S[C_H*WG_ 'S%_P#$4?V??\ ?,7_ ,11_9]Q_P!!6\_[YB_^(J]10!1_L^X_Z"MY_P!\Q?\ Q%']GW'_ M $%KS_OF+_XBKU% %'^S[C_H*WG_ 'S%_P#$4?V?P\BZ:XD MNI[B0IL!EV\#.>-JBN'A^(6NZGX'T/6M$\-QSSZG%+//Y]UY=O9I&"3ODVGD MXP.,9SS3YOB=-+X-\.ZUI&@W%]=:VK2)IRM^\")&SOMXYY4 >N[- 'H%%>>: M;\3+]8O$%OK_ (>D34]%\DM;:7(;H3&52RJ#M&UA@[L\ <0^#O%Y^*TGBB_NM#O;0-Y-K M'.LQDLK?/S"(#"AV'5B#Z=.*LZC\/[Z^^%^H>'?MEN-1U"[:[FN"&\LNUP)3 M[\ !1]!7?44 >7^,/A1>^(?$UY>6.H6<%EJ\=K'J0G@+S1_9W#*T#9P"<8.? MK7J X%%% !1110 4444 %%%% !1110 4444 2 MX>6-P=TGF1A1M^A]:YGP]X-\9Z?X]U#Q%K%WH-^]X'C29DF,UM#@[(H^BJN[ M!;C)YKTJB@#@KOX>W4O@'P]H,%Y"+C3+ZVO+B9P<3,C[Y,=\EB<9K8@\,W/_ M LZZ\3W5Q%);_V:EE:0@'=%\Y>0GMR=OY5TM% !1110 4444 %%%% !1110 M 4444 %*K/PEKNC:M?:-+/K(S<:E")C<7#,WSF1FX^YE5 _.NOU+PK-=^.O#N MM6TT4-KI%O7>"/A7J?A?QC%JEWJ5C)!:QW""6U M@9+G4/.?=NNF)PY7M7J-%% !1110 4444 %%%% !1110 4444 <1<>$M?MM3 M\9:EH.HVEO>ZZMN+*256/V&-0T$ZOJ&O75K>Y-=5110 4444 %%%% !1110 4444 %1W$9FMI8P<%T*@GW%244 >3 MZC\-?%;_ ST#PCIFJ:8+>S!&I)-YJI>J&W"/*88(\,^'=0TO6I-) MF>Z#.;NT$IFN9F!WR3,Y^8GCITK?\#:!/X6\#:3H=W-'/-8VXB>2+.UB">1G MFM^B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBN+?XHZ/'( MR'2O$A*DC*Z%=$'_ ,@#VJBN)'Q4T?\ Z!/B7_P0W7_Q M%'_"U-'_ .@1XE_\$-U_\10!VU%>3?&^YOM3\#^'&\/W-Q8W6H:Q:+;NX:)E M,@.W>IP1R1D&LCP3X\;6_B?J6KWWG1R6'A7_ (F-B"1Y-S%,?- 7IGCCV(H M]PHKQ^Q^(WBVWL?#?B'65TM](\2S^1#:6\3B:S+JQB)*YNX\6 M_$37_"7@W69-=TVPCUG6X+98;:S?.?-(!D._YERO*#&?6@#Z$HKQ+5M2\5Z; M\2?'5UH%_9*=,T:UNYQ>1/(CE(W8JB!@$W8//.,#KG-0:K\9O$5MH]Z+2VM& MU6^M]/NM%M_*+;TG0F0$9!8J4?GCM0![I17AU[\;-6DLKS4='AMYK/;865O_ M *.\A%Y<)OD)"G+!%!&PI6A^&2L&N\'4;59!9,5E=3)AE3'^* /2Z*^6)1J6D MZ1XBU#P]IGBJS\.QZ6HNH?$[NOFW'GILV!65A@$\AO7->K7WB7QC>?$7_A%O M"]QI=I;QZ''?F6\MWE96+;<##C.>!STY/- 'J-%>!Q?&_P 1:[':VVCV:6U[ M#8M/=F/3)[X2SK*\8C41\HAV$[SG&<8->CZGXOU./X+W?BI=.FT_4TTQ[C[) M/&0T,H'0J>< \\]J .UHKQWP_P##7R+/0/%<7CW5HM5NC#<7%Q<7(DAN_, 8 MQ!#@8.<#K]*2X^)OB@:)J'C6"/3?^$;L-4-FVG-$WVF2)9!&TGF;L!LG(7;C MWH ]CHKP_6_B?XUL1XIU.R.D/IV@ZTEBEM+;OYDZ.R@ N&PN-PYP<\],5)KO MQ+\:>'SXATN8Z3=ZIIE[81P3I Z1.ESU1E+$C'][/X4 >V45Y3<^/_$?AC4_ M$.C^*+K1I+FSTI-2L[Y8I(H0&?R]CH"[$[B,8Y/MGCFKCXP>+].TGQ)'=PP- M>:?96][9W%QIKVH=9)0A!B9R<<\$D'@\4 >]T5Y%>^-?'6FZEXAT6=M*NM2M M=#76K)X+9U0 /AX2I&\O)-NYQ/ M-RD8.>,*"3Q0!WU%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 5S[^!?#;QM$VF*8G!#1>:^P@]1MW8Q[5T%% !1110!B^)/"UCXH33EU M%YT&G7\5_#Y+!ZM;B"ZB+ PN., MMMQU.T9YP>>.:Z>B@#AM,^$OA_2]0MITN=3N+:Q9VL-/N;K?;V3.""T:8R#R M<9)QGBI'^%FB-X'TSPQ%=ZC!;Z5<+/+KU@EA=EI%_U:HR!E^7AB&)).>>U4X?A9X>AU?PWJ7^E27'AR MU^RVF^12'3:0/,&WDC)(QBNSHH X:Q^$/A>P\%W/AB".Z^Q7%X;T2^(GO&G$_]IMJ3?: P& 0-FW'&W;C\>:[ M*B@#@V^$.A&PAC2_U9+Z*_.HG55NA]JDF*[2S.5QC;Q@**Z3Q)X9LO%.F06. MI23K'#=172M"P5B\;!ESD'C(YK8HH R/%/ANR\7>&+W0M4>9+6\4+(T#!7 # M!A@D$=0.U<-JWPVO-:^+4VI27&H:=IBZ(EI!?Z?>+%-YHDY0CG(*9ZKCTYKU M"B@#A)OA#X>$%BFD7.J:(]G:FS\[3+LQ230EBQ20D'=EB3G@Y)YKKX-*LX-& M32O*,MFL/D%)V,A=,8PQ;);(ZD]:N44 >;V'P+\(Z?K5M?*^ISV]I-YUKIMQ M>%[6!\Y!5",\'U)K0N/A+X>N=7ENGFU$64]W]NFTA;G%G+/G/F-'C.<@$C.# MZ5W%% '%WOPLT*_TW7;*:>^$6N:@FHW)6505E5E8!/EX7*C@Y^M87Q*^&!UR MUU&\T2*>ZO\ 5[VQ-Y$UPL:+% V"4/!!VY[D^E>HT4 <,/A)X>EL=8@U*?4M M3EUB)(9[N]NM\R1H=R(C8&T*P!'!R0,YJG+\%=!N8=16]U;7+N74K6.UNI[B M[5Y'5'5T.2G!&T#@8QGC/->BT4 !EA@,2>I.,=JQO@_X%D\#>$IX[VUCM;_4+I[J>&.3S!"I.$BW=]J_J37? MT4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6+#XS\+W$-W M-!XDTF6*R -TZ7T16 $XRY#?+SQSWK:JBFAZ3''*D>EV2I,,2JMN@#C.>>.> M>>: *,GC;PK#I\%_-XET>.SN&9(;AK^(1RLOW@K;L$C/..E5;GQ]HEMXVL_# M)O+=KNZCW#%PF58C%[BUNKF M#Q)I$L%F ;F5+Z(K!DX&\AL+D\<]Z)?&OA:"QM[V?Q+I$=I=%EMYWOH@DQ4X M8*V[#8/7'2K-MH6FQ69BDTVPS*BBX$=LJI(1SR,=,\C.:>^A:1)!' ^E6311 M$F.,VZ%4SUP,<9H X/XU^)=1\/>&M'N-'U[^PUN]4B@GOQ"LPCA96);:0<@8 MSQZ5@_#;QOK-QXAURWD\4#QIH]GIAO%U 6'V01S _P"IZ=U!/>O0/&O@T>+D MT./SXH(M+U2&^>.2'S%F5,_N\9P,YZG/TJIIOP_&B^*=7N=(NX[;0M8@(NM) M6([4G(P98SG"Y'5<8- %&+XK(^@^$=4DTAU3Q)YA,:3[FM@D;.J17FQ M0,E)$4!HY,9.W!Z=:Y;4/CP-3\.:I%8PV^F7TVES7>F3VVHPW;AD7=MEC4?N MGQSM.1P1GBM_2O@V/[>N]3\0WEA,T^GS6#)I>G"S\]91M=Y<,0S8Z8 /-10 M_"'51X;O-$NO$%@]JVGO8VIBT>..0[A@22R9+,0./E*Y[YH M^ O$^L:MX_O M-/U&_:>UCT#3[I8RJC$LB9=L@ \G\*=\3[OQ!HMM?ZZ/%\6@:/9V9^RPPP)) M+IK6\+> Y?#OBRXUB34%N%FTJTT_RA%M(,*X+YSW].U9/ MC'X<:_XE\?67B-/%MIJ 66GWUBT\44G>0@2*"V>A/3 ]* .1N/'/C75-) MU_6%U+^Q9O"^FV=Q+IZVR.EU-)$)9!(6!8#G: I&*O:WXU\3:U<^(K_0M8.D M6WAS2+6_2V6W21;N26(3$2%@3MV_+\N#WK'M;72K'6+&&PU*W>V\TO'&-JM&V MX;6V?+D@B@#D+KXB^)]8T;Q%XPTO5?L%EX?6T:/2Q CQW0=$>3S&(W?QX&TC M&*]RM9Q=6<,X&!+&K@>F1FO--2^#TDLVH6.CZW]@\/ZP+<:C8FV#R-Y("CRY M,C;N"J#D'VKTZ*-884CC&$10JCT H =1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 445FS^(=(MM3 M73KC4;>.[8@"%I #D]![$]AWH TJ*** "BN7\?>-$\#^'XK\6$FH7-S:EK=YJ.F^)/"]WH.J6$(N# 91.DT9S@I(H )XQ MB@#MJ*\W\!?%E_&FNPV$NC1V:7=I)=V[PWHG=%2385F0*/*8GH,GH:Q)/C7X MDAL[_6&^'\DGA[3[N2"XU&+4T+!4DV,PC*@GGM^M 'L=%B_%:[2[N8/'WABX\+K%9M?)<^>+J&2)2 M?F0<-SG'/% 'I%%<2?C'X!\J9_\ A(X"(55V AE)*MT91MRP]2N0.^*T=7^( MGA30[.QNM1UF)8=0B\ZU,*/,98\ [P$!.WD7:9\6=?N[[39[_P"'NJ6F@ZI*D=KJ"S++)\_W&>%1E5/7.>GK M757'Q'\)6GB/^PKC6H4U#SE@,>QRBR'HADV[ QR."<\T =/17'K\6/!#:H-. M_M^%;K[2;4JT4BA)0<;68KM7G@9(![9J]XX\86O@GPX=3NHO/>29+:WA\P)Y MDKG"@L>%'4D]@#0!T5%>:Q?%:[D\/VUPNAVUSJ5_J(T_3X;+58[BWNF(R7$R MCY54 YRN>.AI$^+5S<1P:9:>'M_BB349=.?3'O L<;Q*'=S-MY3:00=N3GI0 M!Z717/\ @OQ7'XO\/F_^RM97$%Q):W=J[AO)FC.&7<.HZ$'T-<1<_&35YFN= M2\.^!-0U?PU:RM%+JD5PJM)M;:S1Q8RZ@]_KTH ]7HKF]9^(/AGP[;V4FO:C M]A:]B$T4$D+F4)C)+(H)4#/)( !J#4_B=X-T=X%O]=A0W%J+R'RXWD$L). Z ME%.[Z#G )Z4 =717,:C\1O"6E:58:C>:U#]EU%"]H\2/*9E'4A4!; [G''>L MQOB[X8;Q=I6AVMRUR-3MOM$5W#&S18)PJY /).<] N.<'B@#NJ*XR#XN^![F MSFNH-<5[>$*9)1:S;5W.$ )V==Q QUYSTK;N_%NA6&HWMC?:E%;SV%J+RY$H M*K%"3@.6(QU&,9S0!L45YUJ_QP\&Z?HAU"QOFU$BYCMC!%#(CH7_ (F5E!"X MRN121:? ;BYS%(K+$/^6@4J"R^Z@BK&@?$'PMXGU-]/T+6( M;NZ6(3>6$=2R?WE+ !ASSC..] '245GZ_JAT3PYJ.J"+SC96TD_E[MN_:I., MX..EGT5R MFG?$WP=JVH2V6GZW%-/$DDF!'(%=4&7*,5P^ /X2:H)\:?A^[0A?$4>)Q^[; M[-,%?C. VS&?;KGCK0!W5%?Y7)!.<[6STZ8H [6BO+/%_QL MM_#ND^&+W3=*&I_V]$LQ47&S[/&Q0 D[3GYGQVY!KK%^(_A)O$G]@KK4)U'S MOL_E['V>;_SS\S&S=_LYS0!T]%26&JW$.EZ@=3ET^"W+M()"C[5)?:%0MV4GZ9H ]"H MKB++XI:$FD&_\0WMIIR/J4VGPF-Y)5=X^Q/EKAO;&/0FM*V^(?A2[\,W'B"# M6H#IEK)Y4\S*R&-\@;"A ;<$KW0]0U>WUA# M9Z: ;QFAD5X0>A,94/@]CCF@#J:*YC2_B/X1UE[U=.UVVE-C!]HN"P9 L7_/ M0%@ R^XR*R-.^+>BZ]XZTG0/#K)J$&H6\TTEUEXVA\L9 \ME!(;L<@<<9H [ MZBN6G\;0VOQ,_P"$4NHH8(_[+^WB\DN N3YFS9M(_'.?PJCI7Q/TF?0]5U;7 M'ATNTL-6ETV-Q*9OM!3&"H5BN;?XA^%$\,)X@;68?[,DE\E9 M0K%C)G'E[,;]_P#LXS[4:7\0O"VM7-C;Z;J\2Z=.UM.JJRA9E&2FXC!/(Z9ZT :=%>/S?%GQ_!XBAT-_A?C4+B M%KB*'^VHOGC4X+9VXZD<9S742?&'P3:^ M,]#VH [BBLBZ\5:)8ZI/IUYJ,4%S;V7V^99 5"0;BOF%B-N,@CKFN:U'XN>' M?^$/UO6O#=U'J\VD0":6T.^!B"0 ?F7.TY^\ 10!WE%8FC^+-+UG4'TVUN ^ MHP6\<]U!&K,(-X!"L^-N>>F<]\5C67Q)L/,\5RZW&NFV/AN]%K)<[FE\P$ [ MMH7(Y(&!F@#M**YG3?B/X1U=;]K#7;:1=/B\^Y+!D"1_W\L!N7_:&16-IOQ< MT/7/&UCHNAR17=I<64UW+>LS1&#R\<%'4'!!SNR!]: ._HKDK/XH^#=0M[^: MRUN.9-/A-Q<;89$U\--,RZWK6J&954C5+YK@+CNH/W\B48.)"1MEZ'=USFN$\*^%?'B6?B?^PM/N_"%C:H; MHK=9!\Q&/,8V@KGU(/;CW6B@#YZT#PGXR\/>)K&]\&>'-5T;37:V_MRUN;R! MGNY%)#-&S,Q*G)+9QGL!6UX2^!NE:E#>7WC*UU%+F35;B7[$;LB"2/S2R$HO M8C!ZU[710!S/CS3-3OO UW8^';+3[RXVJ%LK^,-#/&",QXX XZ'L<5XD/!'C M*[T[6X=!\(WOAC2YM*EAFTJ;5?M:76K'Y"#SG/3([U])T4 >1MX1UC_ M (3&&Z72G^SQ^!_[.#C;A;C)_==>O/T]ZP&\)^+X-!\*:?AX/?WNB@#P3P-X&\3:9#,M_H]Q ?^$-ETX;V0 MYN#,Y"#![@@^F"*[O2?!UYJ/P"M?"6I V-[+I M9 _/E2;>^/0UZ!10!Y1H6 MM_%,/I'A^3P?9V*V;1Q7NK2W8D@EA0 $HBX(8CGO^%,=5U?45N]#U M2_F37TO+6YBOD2S2T$BD;(=PS+MX)(SQG/K]!T4 ?..F:?K?B7P7XN\+Z/X> M:==5\2W &K>9&(K?;*I9G!.[*@<8!SD]*]0^+7A&]\4>";2#3(%O[G3+Z"]% MK(P7[4L>0T>3QD@GK79:;I&GZ/%-'I5G#:)<3-<2K$NT/(WWG/N<=:N4 >$# MP3XD_MR7QK9>'I+1(]=AOH= ,D:S&)8C'(XP=@=L@@9_AZU):^#O$^G^)H/B M ="FEN'UFZNY='CF0SI;RQ+&IR2%+C9DC/?K7N=% '%?"_P[J&A^%KXZU!]E MN]6U*XU"2VWAS )2,(6'!( &<=S7%Z.OQ+^'^AGP;H'A.WU6.&5QI^LM=JL2 MQLY8&6/KD9.>1^/?VFB@#R[5M-\2:#\1)?$ZZ"WB)=1T5+"6.S=%-O,IR0!( M1^Z8GKDD>AK'^'_P\UWPSXMTTZK:"2&'PY/!),K!HXIY+DR>2ISGA6QGIP:] MIHH \ L_ FLV?P[\))=>']>AU;38+B(W>B7\<5W:;Y&(0HQ"NC#ONR,]*UM! MT#QKIOB3POJNOZ9+?RG2KG3[EK7RE-MOE#1F0 @'Y<;BH/(/6O::* /%$\"> M()?V9X/#R::8]:AE^T&S=U#.5N2^,YQDKTYJIXD\)^+/'FK>*+W_ (1Z;2EO M=)M([2*]FC/FO%-O:-MC$#//7V]>/=J* /&_%MMXH\7Z+37LE% 'A7B?PWXJ\:PO=IX7GT4Z;X=N=/6"26,O=S2*%$:;3 MCRUP2",D$9Y%>JTCHLB M,CJ&5A@J1D$>E ')7-]>>,?A#J:5(8[/S S*SH<+NP >W/%8'@# MX4:+X9\,:;JMIH:6/BH:8$EFDF=ML[1X;*EBOWNN!BO3% 50J@ 8 ':EH ^ M=M,\%^+IM;\.WFIZ!K!N[**]AU"\NK])$=Y(F">3&&PD>?0#EL8XS71Z5X,U MR#3?A/#+I3J=%DE?4%)7_1R4X)YY^;TS7LU% 'AB^!_$*^'/(&CR"8^/3J94 M%,_9MQ/F]>F/Q]J[;XJ>']0\0Q^%XM.LVNDMM>MKBZ ( 2%2=S')Z >E=[10 M!\W7'PM\5C2-:MI+"6Y6RU6W@T= 5YLUN))68<]/W@Z\\8J]?^#_ !C?Z_:2 M:EH>JW5U9^)4O'O!?(+1;7><>3"& S@@L2N?EZG)KZ#HH \E\'Z9XD\,M9^& M;CP?'?K;ZO/V,>D2_;I/%Y MOUCRNXP^>&$F<_W?QKW&B@#P[2O!'B&)M ^TZ1(%MO&=UJ$VXJ=D#9VR'GH3 MCWJ+7_AYXCU%/%DUM87"Y\3P:I;10SK%)=PHA5O+?/RM\V03CD5[M10!X-_P M@&J3FQU"UT#6XY)O$EC<7/\ :^I)=3R00[LRN.BXW8QN8D5=^,NE7[>-=)A\ M/SQ1S^++V5G'P]HY\0?VX=-MCJHC\H7AC!D" M>F[KB@#G/B!HVKCX9R:7X+B(N(%A2.&)E1S"K#V\X<]<9P :^A** /%O&_P^UWQ#X@\K3+ M,P0R>$#8"K_%7PIK%[X2N-&LM,TJ:TGDEDB; MYRF, (Q^3/W?J>!7KU% 'EOB;X;6GC/XT)=^)M%:^T./1!&DK2LBBX$VT=51'BD)^\,<9()YKZ"H MH \.D\(>(;'PG#-H^DZ];K=:Y]KU*V.JI+J,T.W;O$G 1R<$J&)X^]5"P\!> M*+'PAK=[IFB3V&MV/B$:MI-M-.)VD0J%*%]WS95B&R>HKZ HH \2\4>')_ G MP.T/48Y85USPY<1ZFS3/CSIG8^<^81CO@5Z#\,O#\WASX?Z?;7W.H7"F M\O7(Y:>4[WS[@G'X5MZKX>TC79+5]9TVVOFLY/-MS<1A_*?U&>_ K1H XG4- M%U&;XWZ/K,=JS:=!H\\$EQD861I 0O7/0>E<5/X!U^]^%/CW2DTXQZAJ.MSW M=I'(R@SQ[T92#GN%.,XKVNB@#PKQ%X6\6^/]:UZY;P_<:,EYXV">N*U_$YTF\ABOH=0EVETG*A98I".2#/$-UX6^*-M;Z7,\VL:BDM@@9$TLXYB56-ITN-XB/U48Z8P:KZGX>\4>-_%D<[^%[CP] WAFZT MOSYY8B5F=< '83A,G ]L\"O<** /"O"OA?6-&:'5+CPEXBNM0T;2GMXH]0UA M)H9)679Y4,?/[H]#==^'VI7^E:OI<+6^I0QWHU"VQMBDQAK M9LG.%YVD<8SZUZY10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 445SWB7Q%?Z)?:=#8Z2U^EU)MED5V'DKTW'"' R5Y]^G4@ Z&BN(T+ MQKJ6M>.+_3(;.R:QM',4J+/BY@(>5-[J<94F->!R ZGG/#S\0)$M?$=Q/H\] MN-(EBAMXIF"R7+2 ;"1SL!9AC/..2!TH [2BN(F\::I9:L= N[*S;6I9H$MS M'(WD,DBNQQ1V]UIMS+:W*HQ9-R '<4 ;E%Y\W[1]F^R?9)/M'F;=^WRMN[[OS9QC' M-2^$]>/B7P]'J9A$(DFFC5.>B2L@)R 02%R0>E &S16(?%^C#5SIQN'\T7 M M3+Y+^2)R,^5YF-N_';.>W6FZ1XRT;7+JYIF:XC>2!I+>2-9E0A7V,P ;: M2 <4 ;M%<_K_ (EFT?6]&T^'39ITU&Z6"2Z)"Q0 AB.>K,=O0#IR2.,T;KQ7 MJUEKMM'=:5%#IUUJ8TZ#?*1<2':3YP7&-F0>,YQS[4 ==17(:IXLU&VT^ZU& MTM;&/3[9YMUW>7.Q&$9"A0!SN9MP';@=2<5/=^,)X+_PW;+HURJZRR"664A5 MM=T;/L/=G^7& ..I(XR =117.ZMXHETZ'69K;39K]=-10LF:Q]1^(36]GIBP+907EYIB:BXNY&$85@,("H)ZY^;& !SU% '=45F7&K M"W\+/J]R$M0EI]ID#-YJQ_)N()3.X#U7.>U4E\;:*-1%@\\OGB:.V=UMI/*2 M6159%+[< L&&,GO0!T%%9.I^)M.TF^2TNCVDF\M"VT.^P':,YY/ MH?2LBP^(%C<2WT5W;7<,L&HR64$*6TCR7&QA@MIOMS217$/V@/%"[B*+=M+R8'R*&R"6Q@@^AI+'Q?;SZQ>:==ILF3439 MVR0JTC2@1)(7( ^51OY)X''/- '1T5FZMKUCHKV\=XTKSW18006\+2R2;1EB M%4$X ZGM52#QEHMW?6=I8SRWHH Z&BN1TSXAZ9/H.GWVIEH);FT2[F2")Y4MHV M) 9V ^1>#RV.A]*V+;Q/I5YJ[:7;SL]ZLDB/#Y3 IL"DD\<+AUPQX.X8S0!K M456U.\33M)N[V1U1+>%Y69E)"A5)R0.2..W-8R^-]%%XMI)/*9M\,4CI;2>7 M&\JJT8+[<+NWKC)[XH Z*BN9O?'6E1VFI?8)#/158(#CD?..>E &]17&W7Q#L3JEO; MZ>&>VDM[N9[R6"18\0KG*';B09SG:3TXSFM!/'&BBZ2UDN)3+N@CD=+:3RHW MF53&"^W"[MPQD]\4 =%16%;^,]%NM8ATR&>9I[B62&!S;2"*9XP3(%DQM.W: M<\]15G5?$5AH]]9V=V9WN;W?Y$,%N\K.%QN.%!P!N')H U**YW_A-M&F6<6] MRP*0S2Q2R6\@BF$0^W(BZ!>W*P1W,T3$RJ6N+:2)%>($R(69 M0 R@$E3S@&@#HZ*YL>/= %E-=2W,\,4,<9\RE_ MU&98+:!=\DC=%']?I7+ZW\0;:STDR:5;7$]]]L@M&MIK65&A:5AM9TV[L$$D M<ZU*TMYHX$1SAY4=]I?&WD(V._!]J .LHKFE\3M>6UK(RQ/Y49F91@R ;0VU@P!/IZT =5163I7B;3M9NFAL#,M$TZUGU1+:YM;F26+3%C,CLABVDEQT&YNGJ* *T?@C5Y_B)'JNHW-O-;6; M)-;7WE@7++NG/V2!E4DPO"J[ M2P[C#4T/C: MZO8K"#2["PO[^]^T,HM]2#VX2'&6\T(3DEU&TJ""3G&,T 5Y_!NK7VL?\)%= M3V*:S#- ]O%'O,(2-9%*,Q&[YO.D.<ZG<37,[ M1 A%=Q@*,\D!0HR>N.W2L;Q+\1O^$<56GTU%9;1;J:VFNL7&"&+*D<:N6*A6 MRQVIT^;KC2\/:M?WEAK\_P#Q^S6NHW$=K$Q"9554HF0..3C//6@#'C^'MZGA MW4-.-] 9+K3;&R5]K85K<$,Q]CGBFZE\,GU+4->D?40MM>J'L(MI_P!$E9UD ME;@C(=XT/!!^]S4]W\3K2#2X;^*S\R V$=U.6G">1))((HXF)& 2^_).-HC) MP:9_PLV$6%T[1Z:9K:X2%IDU(&T(9"X82[-S'Y2NP(6SCC!S0 U? =T;6YDN M+/29[B>:%A#+-YLELC*J?4"I/%'Q"M_#NL2ZYVMQP.G/- M %.T\"ZC8W\6LVC6,>IPW)D6%I)9(VB,7EE&E?+EN<@XP.F.]=+X6TFZT705 MM-0FAFN3/--(\"E4S)*SX //&['X5A_\)_*]\YATI3IL5];6;W+W.V0F=$96 M$>SH/, (+ ]<9Z5G7'C35KVZTC4+>U^RZ+=Q7LB%+@&6=8XG*;E*?)G;N&"W MOZ4 :,G@W4FNY+1;RW&D2:NNK,VUO/W!Q)Y6/NXWJ#NSG'&.]3:'X/NM*D\/ M-+=0R?V3! Q!\NT>S@$QL!\Q/KB@#8U M[1I=7GTAXI4C%AJ"7;A@?F55=<#W^:L6'0?$*^*KO5[L:9>2,SI92R32 V<) M& J1[,;CU9LY/3H *E\4SWTGB[PUI5KJ-S8V]\;HSFVVAGV1AE&64XYK(D\< M2^&-2U'1M3N8[V6&^AM[.YOIUMU*RPF4^:X7 VA&Y"Y.5&,\T ;\^B:M::3: MV.DS64\*6S07$-ZAVR.+'@V[1W5_V$[E1\HZ9H Z>3POY?PY; MPO9W'W=--E'/*/\ IGM#$#\ZSF\%712Y7[7#^^U6SOA\IX6%8@5^I\LX^M5U M^*%C-KGV6W2VDM?MJ6)/VP"Y+M@;Q!MR8P6 )W ]3C K=\*Z]>^(]/:_N-/A MLK5I'2#;%KW7[F*73?L=M<)"T4=_YDL5S: MDG.Y60_..AV-@9')YJE#X-UC3]<;5+"ZLYIHKRXGB6?N>W2@#,TWP1K.@R";2=3M6N; MJU:"\EGA.$5F [+ER *ZRB@#DM4\'W M-_XFEU-+J)(WNK"<(09?\ "KKZ.T2);NUN)+C3HK*[:5YD12FX;U1& M <$.?D?C@(@G<(G="/Q )KGAX'NA;W5Y; MCIWJKX%U6.5;9;RS^PG4K;49&*MYA,:1JT8'3!V9#9[XQWKOJ* //D\":U_9 M]GI4E[8_8--L+JRMI C^;()8]B%QT&T8SC.>O'2K8\#78L[R'[7!FXN=/F!V MG@6ZQ!A]3Y9Q]17;44 >9:!INJIXDT+3X;:9=+T:YNY3)/:21.%=9%0%F&QN M7P"A;(Y.WI7:WVC27GBK2]4$JK%907$3QG.YO,V8Q]-I_.MBB@#S>P^&-S9V MHLC<6S06UM<0VT[23/(YD1D4E&;9'M#')7.[_9&16@O@2[73[VW^V0[KF;3Y M%.TX46RQ!A^/EG'UKN** /.[KX827,NLLVHJ5FN(YM,0A@+4";SW0E2#AI"> M5(( '<5*/ 5U]CE:2TTJ>YFNQ/LDGN,PA4VJ4N,^9NZ\X'!QQC)[^B@#S^V\ M ZO#?6.HL+7^H7 M,A13NV7,(/#MSIT<_P!GDD*/'*5W!71PZDCN,J,CTKGYO!^JZEJ$NIZE=6D=W-=V M,AA@W-''%;2%\ G!+,6;L ./K7:T4 [849 M@P8%>HK!/P[U!=%EAAU.&._CT^PAM+A8SB*XMBY#D?W26QCKC->@T M4 <"_P .IH6MI-/NX5DL;>S%MYBDAYH)'=B^.S[SR.03FH[CP#JMY>'5;RXM M'O\ [?+SS$PV1Y0.<8/3'IZ%10!P=O\/KJWLKN%;NV5KK1 MI; [(V"B621Y"_))*Y?N23C)ZTO_ A.KVX:RLKRR_L^XU"VOYFE5_-5H_+W MHH'!#>4"">F3P:[NB@#C=(\*:II7B";4+=K*TA\N;-I:2RK#=2.P*N\;96,C M!SMR26-=BF[RU\P /CY@IR,TM% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 50GT:VN M=?L]8D,GVFSAEAC ;Y=LA4MD>OR"K]% &1J'AVWO]2;4!=7=K=FV%LLMM(%* M*) ^1D'G([Y!&00:SE\!:?'B>&]OXM0\^6=]1C=!,[2*%<'Y-F"JH,!1]T$< M\UU%% '*:C\.])U""XMUNM0M+>[LDLKJ*WG'[^) 0NYF!;(W'D$$YYS6UIFC MPZ+;WBV&^1KF=[EA*_61@!C(' X'8UHT4 %K7 M5;Y[P7E[8SS6_P!EN'LY0GGQ9)"MD'&"S89<,-QP:VZ* ,)_!^F-Y_,ZB>]@ MO6 ?I)"$" 9'3]VN?7FJ2?#[3(YXRMYJ'V:!9UM[/SAY4 F5E<*-N?XCC).. MV!Q7544 "M13Q9:7DTL M=OIMC>SWD-O#=,Z,\@<<1F,%,[RQR[ '.T#-=U10!CZUX9#!+:E,C>NU@0ZL#Q[54_X0G3OLN!<7GVW[6+TZCYH-P9PNS?G&W[GR[=NW M'&*Z.B@#FY/!%D\K./.E64@R*Q((P2 > -N!MVTZX\%:?-< MM)!=7UG'-'%%9-NWYXZ?.<#MQ68/AOI*0?9X;S48K=[1;*>%)UVW$*L[;'^7/)D8$ MK@X.,UUU% & O@^RCU1KJWNKV"![E;N2QBF"P23 !R,;NRG:&"D@$@\UHZ- MI-OH>EQZ?9&0PQL[*9&RV6?JQJ]10!A6?A*RL]2M[LW-Y<+9M(UG;SR!H M[9G^\5XW$X) W%L D#%6[?1(;-M2>SGG@EU*X^TRR*5)5]B)\N00!B,=0>]: M5% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M5'5-:L-&CB;4)BAF?RX8XXVDDE;T5$!9CCG@' YJ]7)^(8Y=/\<:-K\MO<7% MA;VMQ:S?9XFE:!I#&5?8H)(.PJ2 2,CMDT ;^EZQ8ZU;//IL_FK'(8I%*,CQ M..JNC ,K#T(!Y%7:\]UBY?6;RQN[O0[R/PZE_)]I40.7NQY6$ED@"[]@?@ @ MGA20!7+1P1_VD+;7['59F.D7+:9;".622)3=2"#(7E'"% K-@KT)!H ]KJ.: M=8 A<2'>X0;(V?!/K@' ]SP.]>8OIVLQZQI_A^^,KCQ%;6]SJ,@?/E26ZJ+C MH> ^(EXXRS&I(M"N8K);R&QN%U"7Q06>5D??Y N&*Y[^6!@_W<CWU[;Z M=I]Q>WLGE6]O&TLKX)VJHR3@<]!4<^IV=M:07,\X2&X>..)B#\[.0$&.O)(K MQN2U8VMG:BQU$:[-H>IKJ3-')_I4_E 9!/$A+$[2N< @<9 J_J_A5(6%NNCS M'3HQI5Q(BV[R .)'$SA0"2P0C=CG&,T >@W7C?P[97[VEQJ(62,E9&6&1HXR M.H:0*57'?)X[XK1U+6M/TG31?W]RL=LQ54=07,A8X4*%!+$YX !)KSG3;:?0 M;L6UYH*7NVF\+^ ],2?2/[0OXI ME^S0K \R6DC%B"2BL0L:L5W 9(&!UH VO^$RT(V,5TEW)(LTKPI%';2O-O3. M]3$%+@KCG*\=Z9<^.?#EHL#S:FICG@6Y62.)Y$6)CA9'95(123C+$#KZ&N3T MRSCT36M)UPG4-0@=;T7]U]@E5_M,IB;=Y.S<$Q&5& 0, 9ZFLFTMI(M"M_#. MHZ?=Z;%>6_F:K>)I\LDLL3RNZ6JLB$9"MAB3\H) Y.0 >D/XMT1-;_LEKW%W MYP@/[I_+$I7<(S)C8'(YVYS[58U;7M/T3[,-0DE#W:(5^SR#+ \ $D#)]: -_2M:L-:AEDTZ5G\B0Q2 MI)$\3QN #M9' 93@@\CH:OUY5;6^IZ7J@GUBWOYKVW\0"XU&\@M9#'RO9[I6O6@TV\L+AA)FZ=T*R1G,$A&T M!CQM(["@#V:JNH:C::5:?:;^7R8?,2/?M)^9V"*.!W9@/QKS2XM-4@\57PF\U8)WMY#M(VR(<,O(['\*Q_ -M/:>!-,@NX9()D1@TTS1 M_$"V>E:4+>_%KKT,<=]+)OS9_9W8G=GE?,B"(/7%1:1I.LR1[+]]0M+][*[3 M59;/3IA*Q8$ F1GV2-N(*; 3C@;1D4 >O7-];6-QZ49I=.\W05DM+'5T=;RWT^>)7W6KJ6$#Y:/#B/)7Y22#U!J)/" M4\?AP$:7??:1X2\T@K(6-\/NL?68<@?Q8XH ]IJ&[NH+&RGN[N016]O&TLLC M=$51DD_0"O*TL==;"9W^RX3*^=O$:Q[=X92,Y)."2*I7 M'A>\D\)6RKI=W)=WNG:M'>!XW+2-R8%?/^T%V9].* /98Y%FB22,Y1U#*<8R M#6-=^,=#LKR:VN+Q@;=UCGE6WD>&!FZ+)*%*(>1PQ&,CUJWH"01^';!+2$P0 MK;H%C,1C*\=-I (^A%GYSTHKRZ]T+4);?Q+?O87+7YO;5=T(8.;8)!YZ0>Q'F#Y>O(Z MTU(IK/68[[3+'4(/#EOK$,D42VTHVC[-(LCK#MWA-[(,8QG)QWH ]3HKQ>W2 MV?4K>+Q'IVJ2F2RU&2"U\B9G5VO&V,57E6VL-K'&,]17J/AF6\30-.M-9:1M M4ALH3=LRG!);&]G6WMPP)WN>@X''U.! MSUI)/$>E1:TND278%\SJ@AV-RS(S@9QC[J,>O:N-\1>'=8\9^)=7$306=E9V M1TZU>\MI&+22 /)-'AEQM(C ;GE363HJ:SJGCG2]4U'2KVWD$UNMTTENZJLB M6MRCG)&-N[&#T^9?6@#UNHX)UN(5EC$@5N@DC9&_%6 (_*N8UG1UU3XB:,]Y M:27%E!8W#'<"8EEWQ;"W;=C=C/OBO.KNUGMO"%Z_B6RU)_+T1_[.*1REK>?S M9BY)'^K8_NB&;'RCKU% 'LUKJ5I>W-W!:R^9+9RB*==I&QRH;'(YX8'CUIUC M?VVIV:W5C,)H&+*KJ#@E6*G]017F2Z!,^H7>J+I]PUV=:T[RYPCY,'EP++C' M\!&\-VZYZ5BPZ'_9OA^S-OI<[7=JMP@TN73+CRY)?/+*8Y8\>5(1L&_E2-O/ M!H ]OHKE_'=MH6OB34( M+*W>WC46XT5K;3Y93#TW>6ZNJ1G?DMOQD$9R.* /7**\DO++6+76-77P[;SW M>I745]MO)+2:WFMF8;D!E)\J9=P"H.J@KCH:JIH]]/I-[#9P7:VDRV*36\&G MW%L"XN%WGYW+,^S.]E&",98T >RT5Y=J^@:U:ZW=>'?#UM-!IF-U8]IIFM#3)/L4-ZD?V. :K!!83P/-B9#*"SR$R3;/-!9 M!\P/WONB@#V"WU&UN[V[M+>7?/9LJSIM(V%E##DC!X(/%6:X?P6ECI^K>()= M/L+RST^ZO(%MA):2QASY2@E59:GHH JQZ;9PZE-J$=N@NYU"238^9E'09]*M444 9NF^'-'T>X M>?3-.@MI9!@M&F,#.<#T&>PK2HHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@" V5L=0%\8$^U+$81-CY@A()7/ID U/11 M0 4444 %9M_X XML 15 R1.htm IDEA: XBRL DOCUMENT v3.22.0.1
Document And Entity Information - USD ($)
12 Months Ended
Dec. 31, 2021
Mar. 04, 2022
Jun. 30, 2021
Document Information [Line Items]      
Entity Central Index Key 0001001385    
Entity Registrant Name Northwest Pipe Co.    
Amendment Flag false    
Current Fiscal Year End Date --12-31    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2021    
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2021    
Document Transition Report false    
Entity File Number 0-27140    
Entity Incorporation, State or Country Code OR    
Entity Tax Identification Number 93-0557988    
Entity Address, Address Line One 201 NE Park Plaza Drive, Suite 100    
Entity Address, City or Town Vancouver    
Entity Address, State or Province WA    
Entity Address, Postal Zip Code 98684    
City Area Code 360    
Local Phone Number 397‑6250    
Title of 12(b) Security Common Stock, par value $0.01 per share    
Trading Symbol NWPX    
Security Exchange Name NASDAQ    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Accelerated Filer    
Entity Small Business true    
Entity Emerging Growth Company false    
ICFR Auditor Attestation Flag true    
Entity Shell Company false    
Entity Public Float     $ 241,811,384
Entity Common Stock, Shares Outstanding   9,882,733  
Auditor Name Moss Adams LLP    
Auditor Location Portland, Oregon    
Auditor Firm ID 659    
XML 16 R2.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 333,313 $ 285,907 $ 279,317
Cost of sales 289,059 235,388 232,133
Gross profit 44,254 50,519 47,184
Selling, general, and administrative expense 28,222 24,954 18,495
Operating income 16,032 25,565 28,689
Other income 328 953 4,383
Interest income 0 49 40
Interest expense (1,202) (933) (472)
Income before income taxes 15,158 25,634 32,640
Income tax expense 3,635 6,584 4,738
Net income $ 11,523 $ 19,050 $ 27,902
us-gaap_EarningsPerShareAbstract      
Basic (in dollars per share) $ 1.17 $ 1.95 $ 2.86
Diluted (in dollars per share) $ 1.16 $ 1.93 $ 2.85
Shares used in per share calculations:      
Basic (in shares) 9,854 9,788 9,741
Diluted (in shares) 9,928 9,873 9,779
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net income $ 11,523 $ 19,050 $ 27,902
Other comprehensive income (loss), net of tax:      
Pension liability adjustment 308 (25) 16
Unrealized loss on cash flow hedges (124) (27) (59)
Other comprehensive loss, net of tax 184 (52) (43)
Comprehensive income $ 11,707 $ 18,998 $ 27,859
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Current assets:    
Cash and cash equivalents $ 2,997 $ 37,927
Trade and other receivables, less allowance for doubtful accounts of $503 and $767 52,664 42,680
Contract assets 107,170 76,985
Inventories 59,651 29,177
Prepaid expenses and other 5,744 5,194
Total current assets 228,226 191,963
Property and equipment, net 121,266 110,184
Operating lease right-of-use assets 98,507 30,813
Goodwill 53,684 22,985
Intangible Assets, Net 39,376 10,518
Other assets 6,620 6,552
Total assets 547,679 373,015
Current liabilities:    
Current portion of long-term debt 0 7,701
Accounts payable 32,267 12,993
Accrued liabilities 24,498 16,814
Contract liabilities 2,623 6,189
Current portion of operating lease liabilities 4,704 2,204
Total current liabilities 64,092 45,901
Borrowings on line of credit 86,761 0
Long-term debt 0 5,888
Long-term lease liabilities, operating leases 93,725 27,911
Deferred income taxes 10,984 12,481
Other long-term liabilities 8,734 11,208
Total liabilities 264,296 103,389
Commitments and contingencies (Note 13)
Stockholders’ equity:    
Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding 0 0
Common stock, $.01 par value, 15,000,000 shares authorized, 9,870,567 and 9,805,437 shares issued and outstanding as of December 31, 2021 and 2020, respectively 99 98
Additional paid-in-capital 125,062 123,013
Retained earnings 159,904 148,381
Accumulated other comprehensive loss (1,682) (1,866)
Total stockholders’ equity 283,383 269,626
Total liabilities and stockholders’ equity $ 547,679 $ 373,015
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets (Parentheticals) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Allowance for doubtful accounts $ 503 $ 767
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 10,000,000 10,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 15,000,000 15,000,000
Common stock, shares issued (in shares) 9,870,567 9,805,437
Common stock, shares outstanding (in shares) 9,870,567 9,805,437
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Stockholders' Equity - USD ($)
$ in Thousands
Cumulative Effect, Period of Adoption, Adjustment [Member]
Common Stock [Member]
Cumulative Effect, Period of Adoption, Adjustment [Member]
Additional Paid-in Capital [Member]
Cumulative Effect, Period of Adoption, Adjustment [Member]
Retained Earnings [Member]
Cumulative Effect, Period of Adoption, Adjustment [Member]
AOCI Attributable to Parent [Member]
Cumulative Effect, Period of Adoption, Adjustment [Member]
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balances (in shares) at Dec. 31, 2018           9,735,055        
Beginning balance (Accounting Standards Update 2014-09 [Member]) at Dec. 31, 2018 $ 0 $ 0 $ 235 $ (235) $ 0          
Beginning balance at Dec. 31, 2018           $ 97 $ 118,835 $ 101,194 $ (1,536) $ 218,590
Net income           0 0 27,902 0 27,902
Pension liability adjustment           0 0 0 16 16
Unrealized loss on cash flow hedges           $ 0 0 0 (59) (59)
Issuance of common stock under stock compensation plans (in shares)           11,924        
Issuance of common stock under stock compensation plans           $ 0 0 0 0 0
Share-based compensation expense           $ 0 1,709 0 0 1,709
Balances (in shares) at Dec. 31, 2019           9,746,979        
Ending balance at Dec. 31, 2019           $ 97 120,544 129,331 (1,814) 248,158
Net income           0 0 19,050 0 19,050
Pension liability adjustment           0 0 0 (25) (25)
Unrealized loss on cash flow hedges           $ 0 0 0 (27) (27)
Issuance of common stock under stock compensation plans (in shares)           58,458        
Issuance of common stock under stock compensation plans           $ 1 (619) 0 0 (618)
Share-based compensation expense           $ 0 3,088 0 0 3,088
Balances (in shares) at Dec. 31, 2020           9,805,437        
Ending balance at Dec. 31, 2020           $ 98 123,013 148,381 (1,866) 269,626
Net income           0 0 11,523 0 11,523
Pension liability adjustment           0 0 0 308 308
Unrealized loss on cash flow hedges           $ 0 0 0 (124) (124)
Issuance of common stock under stock compensation plans (in shares)           65,130        
Issuance of common stock under stock compensation plans           $ 1 (1,167) 0 0 (1,166)
Share-based compensation expense           $ 0 3,216 0 0 3,216
Balances (in shares) at Dec. 31, 2021           9,870,567        
Ending balance at Dec. 31, 2021           $ 99 $ 125,062 $ 159,904 $ (1,682) $ 283,383
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Stockholders' Equity (Parentheticals) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Pension liability adjustment, tax expense/benefit $ 102 $ 8 $ 5
Unrealized gain (loss) on cash flow hedges, tax expense/benefit $ 41 $ 9 $ 20
XML 22 R8.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Cash flows from operating activities:      
Net income $ 11,523 $ 19,050 $ 27,902
Adjustments to reconcile net income to net cash provided by (used in) operating activities:      
Depreciation and finance lease amortization 11,482 12,344 12,391
Amortization of intangible assets 2,142 2,207 322
Deferred income taxes 180 2,908 4,169
Gain on insurance proceeds 0 (1,147) (1,641)
Share-based compensation expense 3,216 3,088 1,709
Other, net 193 1,889 856
Changes in operating assets and liabilities, net of acquired assets and assumed liabilities:      
Trade and other receivables 392 1,563 (3,435)
Contract assets, net (33,752) 8,109 (8,379)
Inventories (17,650) 7,153 8,649
Prepaid expenses and other assets 6,727 2,514 2,454
Accounts payable 16,783 (3,501) (4,675)
Accrued and other liabilities (7,047) (90) 2,564
Net cash provided by (used in) operating activities (5,811) 56,087 42,886
Cash flows from investing activities:      
Acquisition of business, net of cash acquired (87,215) (48,728) 0
Purchases of property and equipment (13,262) (14,013) (8,585)
Purchases of intangible assets 0 (329) 0
Proceeds from insurance 0 1,637 2,123
Other investing activities 325 0 39
Net cash used in investing activities (100,152) (61,433) (6,423)
Cash flows from financing activities:      
Borrowings on line of credit 122,272 41,377 41,744
Repayments on line of credit (35,511) (41,377) (53,208)
Borrowings on long-term debt 0 15,879 0
Payments on long-term debt (13,762) (2,117) 0
Payments on finance lease liabilities (415) (420) (434)
Payments of debt issuance costs (385) (465) (228)
Tax withholdings related to net share settlements of restricted stock and performance share awards (1,166) (618) 0
Net cash provided by (used in) financing activities 71,033 12,259 (12,126)
Change in cash and cash equivalents (34,930) 6,913 24,337
Cash and cash equivalents, beginning of period 37,927 31,014 6,677
Cash and cash equivalents, end of period 2,997 37,927 31,014
Supplemental disclosure of cash flow information:      
Cash paid during the period for interest, net of amounts capitalized 339 599 369
Cash paid (received) during the period for income taxes (net of refunds of $79, $153, and $286) 2,481 1,397 (55)
Noncash investing and financing activities:      
Accrued property and equipment purchases 788 325 719
Accrued consideration in acquisition of business 911 0 0
Right-of-use assets obtained in exchange for operating lease liabilities 16,043 4,471 1,335
Right-of-use assets obtained in exchange for finance lease liabilities $ 853 $ 507 $ 819
XML 23 R9.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Cash Flows (Parentheticals) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Tax refunds $ 79 $ 153 $ 286
XML 24 R10.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 1 - Organization
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]

1.

ORGANIZATION:

 

Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer for water related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources.

 

In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.

 

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

2.

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:

 

Basis of Consolidation and Presentation

 

The Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.

 

Effective in the fourth quarter of 2021, as a result of the acquisition of Park Environmental Equipment, LLC (“ParkUSA”), the Company revised its historical one segment position and identified the new operating segments, SPP and Precast, to align with changes made in its internal management structure and its reporting structure of financial information used to assess performance and allocate resources. See Note 17, “Segment Information” for detailed descriptions of these segments. As a result, certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation.

 

Immaterial Correction of Error

 

The Company recorded revenue of $1.2 million during the three and twelve months ended December 31, 2018, which should have been recorded in the three months ended March 31, 2019. The misstatement in the timing of revenue recognition was due to an error in the measurement of costs incurred to date relative to estimated total direct costs at an acquired Ameron Water Transmission Group, LLC facility. Management concluded that this out of period adjustment was not material to the consolidated financial results for the year ended December 31, 2019.

 

Use of Estimates

 

The preparation of the Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, the Company evaluates all of its estimates, including those related to business combinations, allowance for doubtful accounts, inventories, property and equipment (including depreciation and valuation), goodwill, intangible assets, revenue recognition, share-based compensation, income taxes, and litigation and other contingencies. Actual results may differ from these estimates under different assumptions or conditions.

 

Business Combinations

 

Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related transaction costs are expensed as incurred.

 

These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances may occur which may affect the accuracy or validity of such estimates. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain. Upon the conclusion of the measurement period or final determination of the fair value of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company’s Consolidated Statements of Operations.

 

Cash and Cash Equivalents

 

Cash and cash equivalents consist of cash and short-term, highly-liquid investments with maturities of three months or less when purchased. At times, the Company will have outstanding checks in excess of related bank balances (a book overdraft). If this occurs, the amount of the book overdraft will be reclassified to accounts payable, and changes in the book overdraft will be reflected as a component of operating activities in the Consolidated Statements of Cash Flows. The Company had a book overdraft of $4.1 million as of December 31, 2021 and no book overdraft as of December 31, 2020.

 

Receivables and Allowance for Doubtful Accounts

 

Trade receivables are reported on the Consolidated Balance Sheets net of doubtful accounts. The Company maintains allowances for estimated losses resulting from the inability of its customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The Company will write down or write off a receivable account once the account is deemed uncollectible. If the customers’ financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances may need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.

 

Contract Assets and Liabilities

 

Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel.

 

Inventories

 

Inventories are stated at the lower of cost and net realizable value. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the first-in, first-out method of accounting.

 

Property and Equipment

 

Property and equipment are recorded at cost. Maintenance and repairs are expensed as incurred, and costs of new equipment and buildings, as well as costs of expansions or refurbishment of existing equipment and buildings, including interest where applicable, are capitalized. Depreciation and amortization are determined by the units of production method for most equipment and by the straight-line method for the remaining assets based on the estimated useful lives of the related assets. Estimated useful lives by major classes of property and equipment are as follows: Land improvements (15 – 30 years); Buildings (20 – 40 years); Leasehold improvements (5 – 30 years); and Machinery and equipment (3 – 30 years). Depreciation expense calculated under the units of production method may be less than, equal to, or greater than depreciation expense calculated under the straight-line method due to variances in production levels. Upon disposal, costs and related accumulated depreciation of the assets are removed from the accounts and resulting gains or losses are reflected in operating expenses. The Company leases certain equipment under long-term finance leases, which are being amortized on a straight-line basis over the shorter of its useful life or the lease term.

 

The Company assesses impairment of property and equipment whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) may not be recoverable. The asset group is the lowest level at which identifiable cash flows are largely independent of the cash flows of other groups of assets or liabilities. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about the expected future operating performance of the Company.

 

Leases

 

The Company adopted Accounting Standards Codification (“ASC”) Topic 842, “Leases” on January 1, 2019 using the modified retrospective transition method which allowed it to continue to apply legacy guidance for periods prior to 2019. The Company elected the package of transition practical expedients which, among other things, allowed it to keep the historical lease classifications and not reassess the lease classification for any existing leases as of the date of adoption. The Company also made an accounting policy election to apply the short-term lease exception, which allows it to keep leases with an initial term of twelve months or less off the balance sheet.

 

The Company has entered into various equipment and property leases. Certain lease agreements include renewals and/or purchase options set to expire at various dates, and certain lease agreements include rental payments adjusted periodically for inflation. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

 

The Company determines if an arrangement is a lease at inception. Leases with an initial term of twelve months or less are not recorded on the balance sheet; costs for these leases are recognized on a straight-line basis over the lease term. Right-of-use assets and lease liabilities are recognized based on the present value of lease payments over the lease term at commencement date. Because most of the Company’s leases do not provide an implicit rate of return, the Company uses its revolving loan borrowing rate in determining the present value of lease payments. Some of the Company’s lease agreements contain non-lease components, which are accounted for separately.

 

Goodwill

 

Goodwill represents the excess of the purchase price over the fair values of the assets and liabilities assumed in conjunction with an acquisition. Goodwill is reviewed for impairment annually as of December 31, or whenever events occur or circumstances change that indicate goodwill may be impaired. In testing goodwill for impairment, the Company has the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-not (more than 50%) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, the Company evaluates factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. If the qualitative assessment indicates that it is more-likely-than-not that the fair value of the reporting unit is less than its carrying amount, or if the Company chooses not to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, not to exceed the total amount of goodwill allocated to the reporting unit.

 

Intangible Assets

 

Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives ranging from 7 months to 21 years.

 

Workers Compensation

 

The Company is self-insured and maintains high deductible policies for losses and liabilities associated with workers compensation claims. Losses are accrued based upon the Company’s estimates of the aggregate liability for claims incurred using historical experience and certain actuarial assumptions followed in the insurance industry. As of December 31, 2021 and 2020, workers compensation reserves recorded were $1.7 million, of which $0.4 million and $0.2 million, respectively, were included in Accrued liabilities and $1.3 million and $1.5 million, respectively, were included in Other long-term liabilities.

 

Accrued Liabilities

 

Accrued liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Accrued liabilities:

        

Accrued bonus

 $3,716  $3,747 

Accrued vacation payable

  2,900   2,328 

Foreign currency forward contracts

  661   1,150 

Finance lease liabilities

  475   375 

Workers compensation reserves

  366   237 

Other

  16,380   8,977 

Total accrued liabilities

 $24,498  $16,814 

 

Derivative Instruments

 

The Company conducts business in various foreign countries and, from time to time, settles transactions in foreign currencies. The Company has established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with the Company’s strategy for financial risk management. The Company utilizes cash flow hedge accounting treatment for qualifying foreign currency forward contracts. Instruments that do not qualify for cash flow hedge accounting treatment are remeasured at fair value on each balance sheet date and resulting gains and losses are recognized in earnings.

 

Pension Benefits

 

The Company has two defined benefit pension plans that have been frozen since 2001. The Company funds these plans to cover current plan costs plus amortization of the unfunded plan liabilities. To record these obligations, management uses estimates relating to investment returns, mortality, and discount rates.

 

Foreign Currency Transactions

 

The functional currency of the Company, including its Mexican operations, is the United States dollar. Monetary assets and liabilities are remeasured at current exchange rates and non-monetary assets and liabilities are remeasured at historical exchange rates. Revenue and expenses related to monetary assets and liabilities are remeasured at average exchange rates and at historical exchange rates for the revenue and expenses related to non-monetary assets and liabilities.

 

Transaction gains (losses) from foreign currency forward contracts designated as cash flow hedges are included in Accumulated other comprehensive loss as a separate component of Stockholders’ equity. For the years ended December 31, 2021, 2020, and 2019, net foreign currency transaction gains (losses) of $(0.5) million, $(1.1) million, and $0.5 million, respectively, were recognized in earnings.

 

Revenue Recognition

 

The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct.

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do not contain significant financing.

 

The Company does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

Share-based Compensation

 

The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of restricted stock units (“RSUs”) and performance share awards (“PSAs”) using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

Income Taxes

 

Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future income tax consequences of events that have been recognized in the Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of the provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. The provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.

 

The Company records income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. The Company assesses income tax positions and records income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-not that an income tax benefit will be sustained, the Company has recorded the largest amount of income tax benefit with a greater than 50% likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is not more-likely-than-not that an income tax benefit will be sustained, no income tax benefit has been recognized in the Consolidated Financial Statements.

 

Accumulated Other Comprehensive Loss

 

Accumulated other comprehensive loss includes unrealized gains and losses on derivative instruments related to the effective portion of cash flow hedges and changes in the funded status of the defined benefit pension plans, both net of the related income tax effect.

 

Net Income per Share

 

Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.

 

Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Basic weighted-average common shares outstanding

  9,854   9,788   9,741 

Effect of potentially dilutive common shares (1)

  74   85   38 

Diluted weighted-average common shares outstanding

  9,928   9,873   9,779 
             

Net income per common share

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85 

 

 

(1)

There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019.

 

Concentrations of Credit Risk

 

Financial instruments, which potentially subject the Company to concentrations of credit risk, consist principally of trade receivables, foreign currency forward contracts, and deferred compensation plan assets. Trade receivables generally represent a large number of customers, including municipalities, manufacturers, distributors, and contractors, dispersed across a wide geographic base. As of December 31, 2021, no customer had a balance in excess of 10% of total accounts receivable, and one SPP customer had a balance in excess of 10% of total accounts receivable as of December 31, 2020. Foreign currency forward contracts are with a high quality financial institution. The Company’s deferred compensation plan assets, included in Other assets, are invested in a diversified portfolio of stock and bond mutual funds.

 

Recent Accounting and Reporting Developments

 

Accounting Changes

 

In August 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2018‑14, “Compensation—Retirement Benefits—Defined Benefit Plans—General (Topic 715‑20): Disclosure Framework—Changes to the Disclosure Requirements for Defined Benefit Plans” (“ASU 2018‑14”), which modifies the disclosure requirements for employers that sponsor defined benefit pension or other postretirement plans by removing and adding certain disclosures for these plans. The eliminated disclosures include the amounts in accumulated other comprehensive income expected to be recognized in net periodic benefit costs over the next fiscal year and the amount and timing of plan assets expected to be returned to the employer. The new disclosures include an explanation of significant gains and losses related to changes in benefit obligations. The Company adopted ASU 2018‑14 on a retrospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

In December 2019, the FASB issued Accounting Standards Update No. 2019‑12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes” (“ASU 2019‑12”), which simplifies the accounting for income taxes by removing certain exceptions to the general principles in ASC Topic 740, “Income Taxes” (“Topic 740”). ASU 2019‑12 also improves consistent application of and simplifies U.S. GAAP for other areas of Topic 740 by clarifying and amending existing guidance. The Company adopted ASU 2019‑12 on a prospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

Recent Accounting Standards

 

In March 2020, the FASB issued Accounting Standards Update No. 2020‑04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,” which provides optional expedients and exceptions for applying U.S. GAAP to contracts, hedging relationships, and other transactions affected by the discontinuation of the London Interbank Offered Rate (“LIBOR”) or by another reference rate expected to be discontinued. The guidance was effective beginning March 12, 2020 and can be applied prospectively through December 31, 2022. In January 2021, the FASB issued Accounting Standards Update No. 2021‑01, “Reference Rate Reform - Scope,” which clarified the scope and application of the original guidance. The Company will adopt these standards when LIBOR is discontinued and does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

In October 2021, the FASB issued Accounting Standards Update No. 2021‑08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU 2021‑08”) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic 606, “Revenue from Contracts with Customers,” as if it had originated the contracts. ASU 2021‑08 is effective for the Company beginning January 1, 2023, including interim periods in 2023, with early adoption permitted. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Business Combination Disclosure [Text Block]

3.

BUSINESS COMBINATIONS:

 

Park Environmental Equipment, LLC

 

On October 5, 2021, the Company completed the acquisition of 100% of Park Environmental Equipment, LLC (“ParkUSA”) for a purchase price of approximately $88.4 million in cash, subject to a post-closing adjustment based on changes in net working capital, and is included in the Precast segment for all periods following the acquisition date. ParkUSA is a precast concrete and steel fabrication-based company that develops and manufactures water, wastewater, and environmental solutions. Operations continue with ParkUSA’s previous management and workforce at its three Texas manufacturing facilities located in Houston, Dallas, and San Antonio.

 

The following table summarizes the purchase consideration and preliminary fair values of the assets acquired and liabilities assumed as of October 5, 2021 (in thousands):

 

Assets

    

Cash and cash equivalents

 $278 

Trade and other receivables

  11,034 

Inventories

  12,773 

Prepaid expenses and other

  293 

Property and equipment

  8,076 

Operating lease right-of-use assets

  58,301 

Intangible assets

  31,000 

Deferred income taxes

  347 

Total assets acquired

  122,102 
     

Liabilities

    

Accounts payable

  2,029 

Accrued liabilities

  4,067 

Operating lease liabilities

  58,301 

Total liabilities assumed

  64,397 
     

Goodwill

  30,699 
     

Total purchase consideration

 $88,404 

 

The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. The asset and liability fair value measurements primarily related to receivables, inventories, identifiable intangible assets, deferred income taxes, accrued liabilities, and goodwill, are preliminary and subject to change as additional information is obtained. The acquisition accounting will be finalized as soon as practicable within the measurement period, but not later than one year following the acquisition date.

 

The following table summarizes the components of the intangible assets acquired and their estimated useful lives:

 

  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  10.0  $19,800 

Trade names and trade marks

  10.0   9,600 

Patents

  21.0   1,300 

Backlog

  0.6   300 

Total intangible assets

  10.4  $31,000 

 

Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how, and is expected to be deductible for tax purposes.

 

The Company incurred transaction costs associated with this acquisition of $3.4 million and $0.2 million during the years ended December 31, 2021 and 2020, respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.

 

ParkUSA operations contributed net sales of $18.0 million to the Company’s continuing operations for the period from October 5, 2021 to December 31, 2021. It is impracticable to determine the effect on net income as a substantial portion of ParkUSA has been integrated into the Company’s ongoing operations.

 

Geneva Pipe and Precast Company

 

On January 31, 2020, the Company completed the acquisition of 100% of Geneva Pipe and Precast Company (“Geneva”) (fka Geneva Pipe Company, Inc.) for a purchase price of $49.4 million in cash, and is included in the Precast segment for all periods following the acquisition date. Geneva is a concrete pipe and precast concrete products manufacturer based in Utah. This acquisition expanded the Company’s water infrastructure product capabilities by adding additional reinforced concrete pipe capacity and a full line of precast concrete products including storm drains and manholes, catch basins, vaults, and curb inlets as well as innovative lined products that extend the life of concrete pipe and manholes for sewer applications. Operations continue with Geneva’s previous management and workforce at the three Utah manufacturing facilities located in Salt Lake City, Orem, and St. George.

 

The following table summarizes the purchase consideration and fair values of the assets acquired and liabilities assumed as of January 31, 2020 (in thousands):

 

Assets

    

Cash and cash equivalents

 $691 

Trade and other receivables

  7,089 

Inventories

  5,673 

Prepaid expenses and other

  356 

Property and equipment

  9,096 

Operating lease right-of-use assets

  21,684 

Intangible assets

  11,165 

Total assets acquired

  55,754 
     

Liabilities

    

Accounts payable

  1,395 

Accrued liabilities

  1,189 

Operating lease liabilities

  20,454 

Deferred income taxes

  5,343 

Other long-term liabilities

  939 

Total liabilities assumed

  29,320 
     

Goodwill

  22,985 
     

Total purchase consideration

 $49,419 

 

The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. As a result of additional information obtained during the measurement period about facts and circumstances that existed as of the acquisition date, the Company recorded measurement period adjustments during the three months ended June 30, 2020 which resulted in a $0.1 million balance sheet reclassification between trade and other receivables and inventories.

 

The following table summarizes the components of the intangible assets acquired and their estimated useful lives:

 

  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  11.0  $8,031 

Trade names

  10.0   2,093 

Backlog

  0.9   1,041 

Total intangible assets

  9.9  $11,165 

 

Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how. The goodwill was not deductible for tax purposes.

 

The Company incurred transaction costs associated with this acquisition of $2.6 million and $0.6 million during the years ended December 31, 2020 and 2019, respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.

 

Unaudited Pro Forma Disclosures

 

The following unaudited pro forma summary presents the consolidated results of the Company as if the acquisition of ParkUSA had occurred on January 1, 2020 and the acquisition of Geneva had occurred on January 1, 2019 (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net sales

 $384,872  $356,035  $323,741 

Net income

  15,780   20,540   27,163 

 

This unaudited pro forma consolidated financial data is included only for the purpose of illustration and does not necessarily indicate what the operating results would have been if the acquisitions of ParkUSA and Geneva had occurred on January 1 of the respective year prior to the acquisition. Moreover, this information is not indicative of what the Company’s future operating results will be. The information prior to the acquisition is included based on prior accounting records maintained by ParkUSA and Geneva. The pro forma amounts have been calculated after applying the Company’s accounting policies and adjusting the results of ParkUSA and Geneva to reflect the additional depreciation and amortization that would have been charged assuming the fair value adjustments to property and equipment and intangible assets had been applied on January 1 of the respective year prior to the acquisition. Adjustments also include an increase of interest expense as if the Company’s debt obtained in connection with the acquisitions of ParkUSA and Geneva had been outstanding since January 1 of the respective year prior to the acquisition. The pro forma results for the year ended December 31, 2020 also include nonrecurring adjustments relating to the recognition of transaction costs incurred and revaluation of inventory acquired. The pro forma results for the year ended December 31, 2021 include nonrecurring adjustments to add back the transaction costs incurred and the expense related to the revaluation of inventory acquired in those periods, since those costs are reflected in the preceding year on a pro forma basis. The provision for income taxes has also been adjusted for all periods, based upon the foregoing adjustments to historical results.

 

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Inventories
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Inventory Disclosure [Text Block]

4.

INVENTORIES:

 

Inventories consist of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Raw materials

 $44,697  $20,631 

Work-in-process

  3,018   1,416 

Finished goods

  10,096   5,489 

Supplies

  1,840   1,641 

Total inventories

 $59,651  $29,177 

 

XML 28 R14.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Property and Equipment
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Property, Plant and Equipment Disclosure [Text Block]

5.

PROPERTY AND EQUIPMENT:

 

Property and equipment, net consists of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Land and improvements

 $22,909  $22,773 

Buildings

  49,361   47,663 
Leasehold improvements  3,057   - 

Machinery and equipment

  140,015   127,679 

Equipment under finance lease

  2,839   2,589 
   218,181   200,704 

Less accumulated depreciation and amortization

  (106,957

)

  (96,684

)

   111,224   104,020 

Construction in progress

  10,042   6,164 

Property and equipment, net

 $121,266  $110,184 

 

All property and equipment is located in the United States, except for $19.9 million and $20.3 million of net property and equipment which is located in Mexico as of December 31, 2021 and 2020, respectively.

 

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Intangible Assets
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

6.

GOODWILL AND INTANGIBLE ASSETS:

 

Goodwill

 

The Company has recorded goodwill in connection with its business acquisitions within the Precast reportable segment. The changes in the carrying amount of goodwill for the year ended December 31, 2021 were as follows (in thousands):

 

Goodwill, December 31, 2020

 $22,985 

Acquisition of ParkUSA (Note 3)

  30,699 

Goodwill, December 31, 2021

 $53,684 

 

The Company performed its annual goodwill impairment test as of December 31, 2021, utilizing a qualitative analysis, and did not identify any potential impairment.

 

Intangible Assets

 

Intangible assets consist of the following (in thousands):

 

  Gross Carrying Amount  Accumulated Amortization  Intangible Assets, Net 

As of December 31, 2021

            

Customer relationships

 $29,209  $(2,997

)

 $26,212 

Trade names and trademarks

  12,825   (1,245

)

  11,580 

Patents

  1,300   (15

)

  1,285 

Backlog

  300   (129

)

  171 

Other

  329   (201

)

  128 

Total

 $43,963  $(4,587

)

 $39,376 
             

As of December 31, 2020

            

Customer relationships

 $9,409  $(1,634

)

 $7,775 

Trade names and trademarks

  3,225   (720

)

  2,505 

Other

  329   (91

)

  238 

Total

 $12,963  $(2,445

)

 $10,518 

 

During the year ended December 31, 2021, intangible assets increased primarily due to the acquisition of ParkUSA. See Note 3, “Business Combinations” for additional information related to this transaction.

 

The estimated amortization expense for each of the next five years and thereafter is as follows (in thousands):

 

Year ending December 31,

    

2022

 $4,436 

2023

  4,173 

2024

  4,017 

2025

  4,017 

2026

  4,017 

Thereafter

  18,716 

Total amortization expense

 $39,376 

 

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Credit Agreement
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Debt Disclosure [Text Block]

7.

CREDIT AGREEMENT:

 

The Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021 (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”). The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 30, 2024. The Company may prepay outstanding amounts in its discretion without penalty at any time, subject to applicable notice requirements. In conjunction with entering into the Credit Agreement on June 30, 2021, the Company terminated the Credit Agreement with Wells Fargo dated October 25, 2018, as amended on January 31, 2020 by the Consent and Amendment No. 1 to Credit Agreement with Wells Fargo (together, the “Former Credit Agreement”), and all outstanding debt under the Former Credit Agreement, including long-term debt, was repaid.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 2.50 to 1.00 (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (as defined in the Amended Credit Agreement) of at least $31.5 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will not sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of December 31, 2021.

 

The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.

 

Interest expense from revolving loan borrowings, long-term debt, and finance leases was $1.2 million, net of amounts capitalized of $0.1 million in 2021, $0.9 million, net of amounts capitalized of $0.1 million in 2020, and $0.5 million in 2019. A nominal amount of interest was capitalized in 2019.

 

Line of Credit (Revolving and Swingline Loans)

 

As of December 31, 2021 under the Amended Credit Agreement, the Company had $86.8 million of outstanding revolving loan borrowings, $1.6 million of outstanding letters of credit, and additional borrowing capacity of approximately $37 million. As of December 31, 2020 under the Former Credit Agreement, the Company had no outstanding revolving loan borrowings and $1.6 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement including certain LIBOR transition provisions, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) LIBOR plus the Applicable Margin; or (iii) the daily one month LIBOR plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.25%, depending on the Company’s Senior Leverage Ratio (as defined in the Amended Credit Agreement). Interest on outstanding revolving loans is payable quarterly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of December 31, 2021 and 2020, the weighted-average interest rate for outstanding borrowings was 1.85% and 1.73%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable quarterly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.

 

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Lessee, Lease, Disclosure [Text Block]

8.

LEASES:

 

The following table summarizes the Company’s leases recorded on the Consolidated Balance Sheets (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Right-of-use assets:

        

Finance leases, net, included in Property and equipment (1)

 $1,730  $1,288 

Operating leases

  98,507   30,813 

Total right-of-use assets

 $100,237  $32,101 
         

Lease liabilities:

        

Finance leases

 $2,169  $1,729 

Operating leases

  98,429   30,115 

Total lease liabilities

 $100,598  $31,844 

 

 

(1)

Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of December 31, 2021 and 2020, respectively.

 

Lease cost consists of the following (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Finance lease cost:

            

Amortization of right-of-use assets

 $413  $422  $435 

Interest on lease liabilities

  90   79   57 

Operating lease cost

  4,627   3,647   1,934 

Short-term lease cost

  993   745   1,442 

Variable lease cost

  158   199   141 

Total lease cost

 $6,281  $5,092  $4,009 

 

The future maturities of lease liabilities as of December 31, 2021 are as follows (in thousands):

 

  

Finance Leases

  

Operating Leases

 
         

2022

 $574  $6,802 

2023

  378   6,669 

2024

  692   6,499 

2025

  449   6,529 

2026

  360   6,431 

Thereafter

  -   88,557 

Total lease payments

  2,453   121,487 

Amount representing interest

  (284

)

  (23,058

)

Present value of lease liabilities

  2,169   98,429 

Current portion of lease liabilities (1)

  (475

)

  (4,704

)

Long-term lease liabilities (2)

 $1,694  $93,725 

 

 

(1)

Current portion of finance lease liabilities are included in Accrued liabilities.

 

 

(2)

Long-term finance lease liabilities, less current portion are included in Other long-term liabilities.

 

The following table summarizes the lease terms and discount rates for the lease liabilities:

 

  

December 31,

 
  

2021

  

2020

 

Weighted-average remaining lease term (years)

        

Finance leases

  

3.56

   

3.67

 

Operating leases

  

18.42

   

18.21

 

Weighted-average discount rate

        

Finance leases

  

5.10

%

  

5.22

%

Operating leases

  

2.18

%

  

3.36

%

 

The following table presents other information related to the operating and finance leases (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Cash paid for amounts included in the measurement of lease liabilities:

            

Operating cash flows from finance leases

 $(90

)

 $(79

)

 $(57

)

Operating cash flows from operating leases

  (4,142

)

  (3,481

)

  (1,909

)

Financing cash flows from finance leases

  (415

)

  (420

)

  (434

)

Right-of-use assets obtained in exchange for finance lease liabilities

  853   507   819 

Right-of-use assets obtained in exchange for operating lease liabilities

  16,043   4,471   1,335 

 

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Fair Value Measurements
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

9.

FAIR VALUE MEASUREMENTS:

 

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date.

 

The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. These levels are: Level 1 (inputs are quoted prices in active markets for identical assets or liabilities); Level 2 (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level 3 (inputs are unobservable, with little or no market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.

 

The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):

 

  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2021

                

Financial assets:

                

Deferred compensation plan

 $4,321  $3,830  $491  $- 

Foreign currency forward contracts

  17   -   17   - 

Total financial assets

 $4,338  $3,830  $508  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(661

)

 $-  $(661

)

 $- 
                 

As of December 31, 2020

                

Financial assets:

                

Deferred compensation plan

 $4,717  $3,884  $833  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1,150

)

 $-  $(1,150

)

 $- 

 

The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level 1 within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level 2 within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Consolidated Balance Sheets.

 

The Company’s foreign currency forward contracts are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level 2 within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. Foreign currency forward contracts are presented at their gross fair values. Foreign currency forward contract assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Consolidated Balance Sheets.

 

The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 10 - Derivative Instruments and Hedging Activities
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Derivative Instruments and Hedging Activities Disclosure [Text Block]

10.

DERIVATIVE INSTRUMENTS AND HEDGING ACTIVITIES:

 

For each foreign currency forward contract entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all foreign currency forward contracts to specific firm commitments or forecasted transactions and designating the foreign currency forward contracts as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the foreign currency forward contracts that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized loss on cash flow hedges on the Consolidated Statements of Comprehensive Income. If it is determined that a foreign currency forward contract is not highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that foreign currency forward contract prospectively.

 

As of December 31, 2021 and 2020, the total notional amount of the foreign currency forward contracts designated as cash flow hedges was $19.0 million (CAD$24.1 million) and $15.3 million (CAD$19.5 million), respectively. As of December 31, 2021, the Company’s foreign currency forward contracts mature at various dates through April 2023 and are subject to an enforceable master netting arrangement.

 

As of December 31, 2021 and 2020, all foreign currency forward contracts were designated as cash flow hedges. Gains (losses) recognized in Net sales from foreign currency forward contracts not designated as hedging instruments were approximately $0, $(0.6) million, and $(0.1) million for the years ended December 31, 2021, 2020, and 2019, respectively. As of December 31, 2021, unrealized pretax losses on outstanding foreign currency forward contracts in Accumulated other comprehensive loss was $(0.3) million, of which approximately $0 is expected to be reclassified to Net sales within the next twelve months as a result of underlying hedged transactions also being recorded in Net sales. See Note 16, “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract gains and losses.

 

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 11 - Retirement Plans
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Retirement Benefits [Text Block]

11.

RETIREMENT PLANS:

 

Defined Contribution Plan

 

The Company has a defined contribution retirement plan that covers substantially all of its employees and provides for a Company match of up to 50% of the first 8%, 8%, and 6% of employee contributions to the plan, subject to certain limitations, for the years ended December 31, 2021, 2020, and 2019, respectively. The defined contribution retirement plan offers 25 investment options.

 

ParkUSA had a defined contribution retirement plan that covered substantially all of its employees and provided for a match of up to 100% of the first 4% of employee contributions to the plan, subject to certain limitations. After the acquisition of ParkUSA on October 5, 2021, employees of ParkUSA continued to contribute to this plan until it was merged into the Company’s plan effective December 31, 2021.

 

Defined Benefit Plans

 

The Company has two noncontributory defined benefit plans. Effective 2001, both plans were frozen and participants were fully vested in their accrued benefits as of the date each plan was frozen. No additional participants can be added to the plans and no additional service can be earned by participants subsequent to the date the plans were frozen. The funding policy for both of these plans is based on current plan costs plus amortization of the unfunded plan liability. All current employees covered by these plans are now covered by the defined contribution retirement plan.

 

As of December 31, 2021 and 2020, the Company had recorded, in accordance with the actuarial valuations, an accrued pension liability of $1.0 million and $1.6 million, respectively, in Other long-term liabilities and an unrecognized actuarial loss, net of tax, of $1.5 million and $1.8 million, respectively, in Accumulated other comprehensive loss. Additionally, as of December 31, 2021 and 2020, the projected and accumulated benefit obligation was $6.1 million and $6.5 million, respectively, and the fair value of plan assets was $5.1 million and $4.9 million, respectively.

 

The net periodic benefit cost for each of the years ended December 31, 2021, 2020, and 2019 was approximately $0. The weighted-average discount rates used to measure the projected benefit obligation were 2.41% and 2.04% as of December 31, 2021 and 2020, respectively.

 

The plan assets are invested in pooled separate accounts stated at fair value based on the daily net asset value of the account and are therefore not categorized in the fair value hierarchy. The expected weighted-average long-term rate of return on plan assets was 7.0% as of December 31, 2021 and 2020.

 

Non-qualified Retirement Savings Plan

 

The Company has a deferred compensation plan that covered officers and selected highly compensated employees until it was frozen in 2016. The deferred compensation plan generally matched up to 50% of the first $10,000 of officer contributions to the plan and the first $5,000 of other selected highly compensated employee contributions, subject to certain limitations. As of December 31, 2021 and 2020, deferred compensation plan balances of $4.3 million and $4.7 million, respectively, were recorded in Other assets and Other long-term liabilities.

 

Total expense for all retirement plans for the years ended December 31, 2021, 2020, and 2019 was $1.8 million, $1.6 million, and $1.2 million, respectively, and is primarily related to the defined contribution plan.

 

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Share-based Compensation
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Share-based Payment Arrangement [Text Block]

12.

SHARE-BASED COMPENSATION:

 

The Company has one active stock incentive plan for employees and directors, the 2007 Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, RSUs, and PSAs.

 

The following table summarizes share-based compensation expense recorded (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Cost of sales

 $1,003  $822  $383 

Selling, general, and administrative expense

  2,213   2,266   1,326 

Total

 $3,216  $3,088  $1,709 

 

There were 222,022 shares of common stock available for future issuance under the Company’s stock incentive plan as of December 31, 2021, assuming the outstanding PSAs vest at the target level of 100%.

 

Stock Options Awards

 

The Company’s stock incentive plan provides that options become exercisable according to vesting schedules and terminate according to the terms of the grant. There were no options granted during the years ended December 31, 2021, 2020, or 2019. During the year ended December 31, 2020, 24,000 stock options at a weighted-average exercise price of $24.15 were exercised. The total intrinsic value of options exercised during the year ended December 31, 2020 was $0.1 million. There were no options exercised during the years ended December 31, 2021 or 2019. As of December 31, 2021 and 2020, there were no stock options outstanding.

 

Restricted Stock Units and Performance Share Awards

 

The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares over a specified period of time. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.

 

The following table summarizes the Company’s RSU and PSA activity:

 

  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2020

  129,572  $25.86 

RSUs and PSAs granted

  90,368   33.30 

RSUs and PSAs vested (2)

  (58,809

)

  25.53 

Unvested RSUs and PSAs as of December 31, 2021

  161,131   30.26 

 

 

(1)

The number of PSAs disclosed in this table are at the target level of 100%.

 

 

(2)

For the PSAs vested on March 31, 2021; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the 2019-2020 performance period and 200% for the 2020 performance period.

 

The unvested balance of RSUs and PSAs as of December 31, 2021 includes approximately 116,000 PSAs at a target level of performance. The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.

 

The weighted-average grant date fair value of RSUs and PSAs granted during the years ended December 31, 2021, 2020, and 2019 was $33.30, $26.61, and $23.56, respectively. The total fair value of RSUs and PSAs vested during the years ended December 31, 2021, 2020, and 2019 was $3.3 million, $2.0 million, and $0, respectively.

 

Based on the estimated level of achievement of the performance targets associated with the PSAs, as of December 31, 2021, unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $2.7 million, which is expected to be recognized over a weighted-average period of 1.5 years.

 

Stock Awards

 

For the years ended December 31, 2021, 2020, and 2019, stock awards of 12,606 shares, 17,442 shares, and 11,924 shares, respectively, were granted to non-employee directors, which vested immediately upon issuance. The Company recorded compensation expense based on the weighted-average fair market value per share of the awards on the grant date of $30.94 in 2021, $25.81 in 2020, and $25.16 in 2019.

 

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Commitments and Contingencies
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Commitments and Contingencies Disclosure [Text Block]

13.

COMMITMENTS AND CONTINGENCIES:

 

Portland Harbor Superfund Site

 

In December 2000, a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does not border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in December 2000, the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in February 2016, and the feasibility study in June 2016, which identified multiple remedial alternatives. In January 2017, the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion and 13 years to complete. The EPA has not yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and no further adjustment to the Consolidated Financial Statements has been recorded as of the date of this filing.

 

The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. No liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have not yet been determined.

 

Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section 107. The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, three federal agencies, and one state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In June 2014, the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has not assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.

 

In January 2017, the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in 2009, filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The Company does not have sufficient information to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.

 

The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide no assurance that those policies will cover all of the costs which the Company may incur.

 

All Sites

 

The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations there under which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does not believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.

 

Other Contingencies and Legal Proceedings

 

From time to time, the Company is involved in litigation relating to claims arising out of its operations in the normal course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does not cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is not presently a party to litigation, the outcome of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.

 

On April 21, 2019, there was an accidental fire at the Company’s Saginaw, Texas facility which resulted in damage to the coatings building. There were no injuries, but the ability to coat at this facility was impaired while the Company repaired the damage. The Company’s other production locations were deployed to absorb the lost production that resulted. The Company has insurance coverage in place covering, among other things, business interruption and property damage up to certain specified amounts, and worked with its insurance company to restore the facility to full service as safely and quickly as possible. The Saginaw facility resumed operations in October 2019. The Company received $1.4 million of business interruption insurance recovery (net of incremental production costs) during the year ended December 31, 2020 and incurred $1.6 million of incremental production costs (net of business interruption insurance recovery) during the year ended December 31, 2019, which were recorded in Cost of sales.

 

Commitments

 

As of December 31, 2021, the Company’s commitments include approximately $10 million relating to its investment in a new reinforced concrete pipe mill for which the Company has not yet received the equipment.

 

Guarantees

 

The Company has entered into certain letters of credit that total $1.6 million as of December 31, 2021. The letters of credit relate to workers’ compensation insurance.

 

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

14.

REVENUE:

 

Net sales by geographic region, based on the location of the customer, were as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales by geographic region:

            

United States

 $313,729  $254,956  $252,797 

Canada

  19,584   30,951   26,520 

Total

 $333,313  $285,907  $279,317 

 

One SPP customer accounted for 12%, 16% and 23% of total net sales for the years ended December 31, 2021, 2020, and 2019, respectively. No Precast customer accounted for more than 10% of total net sales for the years ended December 31, 2021, 2020, and 2019.

 

Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $2.0 million, $2.2 million, and $(1.2) million for the years ended December 31, 2021, 2020, and 2019, respectively.

 

Disaggregation of Revenue

 

The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Over time (Engineered Steel Pressure Pipe)

 $259,823  $241,690  $279,317 

Point in time (Precast Infrastructure and Engineered Systems)

  73,490   44,217   - 

Net sales

 $333,313  $285,907  $279,317 

 

Contract Assets and Liabilities

 

The difference between the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and billings. The changes in the contract assets and contract liabilities balances during the years ended December 31, 2021, 2020, and 2019 were not materially affected by any other factors.

 

The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $6.2 million, $12.3 million, and $3.7 million during the years ended December 31, 2021, 2020, and 2019, respectively.

 

Backlog

 

Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of December 31, 2021, backlog was approximately $183 million. The Company expects to recognize approximately 82% of the remaining performance obligations in 2022 and 18% in 2023.

 

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

15.

INCOME TAXES:

 

The United States and foreign components of Income before income taxes are as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

United States

 $14,000  $24,768  $32,244 

Foreign

  1,158   866   396 

Total

 $15,158  $25,634  $32,640 

 

The components of Income tax expense (benefit) are as follows (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Current:

            

Federal

 $2,256  $958  $174 

State

  1,064   1,342   (16

)

Foreign

  213   243   439 

Total current income tax expense

  3,533   2,543   597 

Deferred:

            

Federal

  573   4,380   3,597 

State

  (464)  (386

)

  561 

Foreign

  (7)  47   (17

)

Total deferred income tax expense

  102   4,041   4,141 

Total income tax expense

 $3,635  $6,584  $4,738 

 

The difference between the Company’s effective income tax rate and the federal statutory income tax rate is explained as follows (dollar amounts in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Income tax expense at federal statutory rate

 $3,183  $5,383  $6,854 

State expense, net of federal income tax effect

  547   953   1,261 

Change in valuation allowance

  (247)  (181

)

  (3,564

)

Nondeductible expenses

  (31)  447   (24

)

Foreign rate differential

  104   78   36 

Other

  79   (96

)

  175 

Income tax expense

 $3,635  $6,584  $4,738 

Effective income tax rate

  24.0

%

  25.7

%

  14.5

%

 

The income tax effect of temporary differences that give rise to significant portions of deferred income tax assets and liabilities is presented below (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Deferred income tax assets:

        

Accrued employee benefits

 $3,125  $3,525 

Inventories

  30   73 

Trade receivable, net

  833   958 

Net operating loss carryforwards

  3,099   3,231 

Tax credit carryforwards

  2,888   2,699 
Contract assets, net  313   - 

Other

  984   389 
   11,272   10,875 

Valuation allowance

  (5,899

)

  (6,228

)

   5,373   4,647 

Deferred income tax liabilities:

        

Contract assets, net

  -

 

  (1,366

)

Property and equipment

  (12,937

)

  (12,029

)

Intangible assets

  (1,902

)

  (2,737

)

Goodwill  (129)  - 

Prepaid expenses

  (1,005

)

  (889

)

   (15,973

)

  (17,021

)

         

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

         

Amounts are presented in the Consolidated Balance Sheets as follows:

        

Deferred income tax assets, included in Other assets

 $384  $107 

Deferred income taxes

  (10,984

)

  (12,481

)

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

 

In assessing the ability to realize deferred income tax assets, management considers whether it is more likely than not that some portion or all of the deferred income tax assets will not be realized. The ultimate realization of deferred income tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. Management considers the scheduled reversal of deferred income tax liabilities, projected future taxable income, taxable income in carryback periods, and tax planning strategies in making this assessment. The Company believes it is more likely than not it will realize the benefits of its deductible differences as of December 31, 2021, net of any valuation allowance. As of December 31, 2021, the Company continues to maintain a valuation allowance on federal tax credits, capital loss carryforwards, and select state jurisdictions.

 

As of December 31, 2021, the Company had approximately $0.4 million of federal income tax credit carryforwards, which expire on various dates between 2023 and 2026, and $0.8 million of capital loss carryforwards, which expire in 2024. As of December 31, 2021, the Company also had approximately $27.3 million of state net operating loss carryforwards, which expire on various dates between 2022 and 2038, and state income tax credit carryforwards of $4.4 million, which begin to expire in 2022. As of December 31, 2021, the Company also had approximately $4.6 million of foreign net operating loss carryforwards, which expire on various dates between 2023 and 2030.

 

The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is no longer subject to United States Federal, state, or foreign income tax examinations for years before 2017.

 

A summary of the changes in the unrecognized income tax benefits is presented below (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Unrecognized income tax benefits, beginning of year

 $4,350  $4,350  $4,350 

Increases for positions taken in prior years

  16   -   - 

Unrecognized income tax benefits, end of year

 $4,366  $4,350  $4,350 

 

The Company does not believe it is reasonably possible that the total amounts of unrecognized income tax benefits will change in the following twelve months; however, actual results could differ from those currently expected. Effectively all of the unrecognized income tax benefits would affect the Company’s effective income tax rate if recognized at some point in the future.

 

The Company recognizes interest and penalties related to uncertain income tax positions in Income tax expense. As of December 31, 2021, the Company had approximately $0 accrued interest related to uncertain income tax positions, and none as of December 31, 2020. Total interest for uncertain income tax positions did not change materially in 2021, 2020, or 2019.

 

On December 22, 2017, the Tax Cuts and Jobs Act of 2017 (“TCJA”) was signed into law making significant changes to the Internal Revenue Code. Changes included, but were not limited to, a federal corporate income tax rate decrease from 35% to 21% effective for tax years beginning after December 31, 2017, the transition of U.S. international taxation from a worldwide tax system to a territorial system, and a one-time transition tax on the mandatory deemed repatriation of cumulative foreign earnings as of December 31, 2017. On January 1, 2019, the Company adopted Accounting Standards Update No. 2018‑02, “Income Statement—Reporting Comprehensive Income (Topic 220): Reclassification of Certain Tax Effects from Accumulated Other Comprehensive Income” (“ASU 2018‑02”), which resulted in a reclassification of $0.2 million from accumulated other comprehensive loss to retained earnings for stranded tax effects resulting from the TCJA.

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Comprehensive Income (Loss) Note [Text Block]

16.

ACCUMULATED OTHER COMPREHENSIVE LOSS:

 

Accumulated other comprehensive loss consists of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 
         

Pension liability adjustment, net of income tax benefit of $577 and $679

 $(1,487

)

 $(1,795

)

Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20

  (195

)

  (71

)

Total

 $(1,682

)

 $(1,866

)

 

The following table summarizes changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:

 

  Pension Liability Adjustment  Unrealized Loss on Cash Flow Hedges  

Total

 
             

Balance, December 31, 2020

 $(1,795

)

 $(71

)

 $(1,866

)

             

Other comprehensive income (loss) before reclassifications

  386   (178

)

  208 

Amounts reclassified from Accumulated other comprehensive loss

  (78

)

  54   (24

)

Net current period adjustments to Other comprehensive loss

  308   (124

)

  184 
             

Balance, December 31, 2021

 $(1,487

)

 $(195

)

 $(1,682

)

 

The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Consolidated Statements of Operations (in thousands):

 

  

Amount reclassified from Accumulated Other Comprehensive Loss

 

Affected line item in the

Details about Accumulated Other

 

Year Ended December 31,

 

Consolidated Statements

Comprehensive Loss Components

 

2021

  

2020

  

2019

 

of Operations

              

Pension liability adjustment:

             

Net periodic pension cost:

             

Service cost

 $(7

)

 $(16

)

 $(11

)

Cost of sales

Non-service cost

  110   46   (15

)

Other income

Associated income tax (expense) benefit

  (25

)

  (8

)

  4 

Income tax expense

   78   22   (22

)

 

Unrealized gain (loss) on cash flow hedges:

             

Gain (loss) on cash flow hedges

  (72

)

  (378

)

  5 

Net sales

Associated income tax benefit

  18   97   2 

Income tax expense

   (54

)

  (281

)

  7  

Total reclassifications for the period

 $24  $(259

)

 $(15

)

 

 

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 17 - Segment Information
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

17.

SEGMENT INFORMATION:

 

The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does not allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.

 

The Company’s Engineered Steel Pressure Pipe segment manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto, California; Saginaw, Texas; Tracy, California; Parkersburg, West Virginia; St. Louis, Missouri; and San Luis Río Colorado, Mexico.

 

The Company’s Precast Infrastructure and Engineered Systems segment manufactures high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, catch basins, oil water separators, pump lift stations, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Houston, Texas; Orem, Utah; Dallas, Texas; Salt Lake City, Utah; San Antonio, Texas; and St. George, Utah.

 

The following table disaggregates revenue as well as other financial information based on the Company’s reportable segments (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales:

            

Engineered Steel Pressure Pipe

 $259,823  $241,690  $279,317 

Precast Infrastructure and Engineered Systems

  73,490   44,217   - 

Total

 $333,313  $285,907  $279,317 
             

Gross profit:

            

Engineered Steel Pressure Pipe

 $31,281  $44,293  $47,184 

Precast Infrastructure and Engineered Systems

  12,973   6,226   - 

Total

 $44,254  $50,519  $47,184 
             

Depreciation and amortization expense:

            

Engineered Steel Pressure Pipe

 $9,524  $10,746  $12,363 

Precast Infrastructure and Engineered Systems

  3,738   3,407   - 
   13,262   14,153   12,363 

Corporate

  362   398   350 

Total

 $13,624  $14,551  $12,713 
             

Capital expenditures:

            

Engineered Steel Pressure Pipe

 $7,538  $12,031  $8,033 

Precast Infrastructure and Engineered Systems

  5,255   1,397   - 
   12,793   13,428   8,033 

Corporate

  469   585   552 

Total

 $13,262  $14,013  $8,585 

 

The following table disaggregates total assets based on the Company’s reportable segments (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Total assets:

        

Engineered Steel Pressure Pipe

 $308,819  $249,680 

Precast Infrastructure and Engineered Systems

  228,627   77,765 
   537,446   327,445 

Corporate

  10,233   45,570 

Total

 $547,679  $373,015 

 

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Quarterly Data (Unaudited)
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
Quarterly Financial Information [Text Block]

18.

QUARTERLY DATA (UNAUDITED):

 

Summarized quarterly financial data is as follows (in thousands, except per share amounts):

 

  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2021

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,057  $58,748  $69,439  $71,579  $259,823 

Precast Infrastructure and Engineered Systems

  12,254   15,064   15,204   30,968   73,490 

Total

 $72,311  $73,812  $84,643  $102,547  $333,313 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $7,154  $6,615  $8,844  $8,668  $31,281 

Precast Infrastructure and Engineered Systems

  1,621   2,923   3,519   4,910   12,973 

Total

 $8,775  $9,538  $12,363  $13,578  $44,254 
                     

Net income

 $2,175  $2,131  $4,946  $2,271  $11,523 
                     

Income per share:

                    

Basic

 $0.22  $0.22  $0.50  $0.23  $1.17 

Diluted

 $0.22  $0.21  $0.50  $0.23  $1.16 

 

  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2020

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,878  $57,649  $65,077  $58,086  $241,690 

Precast Infrastructure and Engineered Systems

  8,045   12,322   12,555   11,295   44,217 

Total

 $68,923  $69,971  $77,632  $69,381  $285,907 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $8,765  $10,704  $13,917  $10,907  $44,293 

Precast Infrastructure and Engineered Systems

  814   2,254   1,702   1,456   6,226 

Total

 $9,579  $12,958  $15,619  $12,363  $50,519 
                     

Net income

 $564  $5,998  $7,267  $5,221  $19,050 
                     

Income per share:

                    

Basic

 $0.06  $0.61  $0.74  $0.54  $1.95 

Diluted

 $0.06  $0.61  $0.73  $0.53  $1.93 

 

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.22.0.1
Schedule II - Valuation and Qualifying Accounts
12 Months Ended
Dec. 31, 2021
Notes to Financial Statements  
SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]

 

Schedule II

 

NORTHWEST PIPE COMPANY

VALUATION AND QUALIFYING ACCOUNTS

(Dollars in thousands)

 

  Balance at Beginning of Period  Charged to Profit and Loss  Deduction from Reserves  Balance at End of Period 

Year Ended December 31, 2021:

                

Allowance for doubtful accounts

 $767  $653  $(917

)

 $503 

Valuation allowance for deferred income tax assets

  6,228   -   (329

)

  5,899 
                 

Year Ended December 31, 2020:

                

Allowance for doubtful accounts

 $801  $430  $(464

)

 $767 

Valuation allowance for deferred income tax assets

  6,126   240   (138

)

  6,228 
                 

Year Ended December 31, 2019:

                

Allowance for doubtful accounts

 $660  $312  $(171

)

 $801 

Valuation allowance for deferred income tax assets

  9,433   345   (3,652

)

  6,126 

 

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.22.0.1
Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2021
Accounting Policies [Abstract]  
Consolidation, Policy [Policy Text Block]

Basis of Consolidation and Presentation

 

The Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.

 

Effective in the fourth quarter of 2021, as a result of the acquisition of Park Environmental Equipment, LLC (“ParkUSA”), the Company revised its historical one segment position and identified the new operating segments, SPP and Precast, to align with changes made in its internal management structure and its reporting structure of financial information used to assess performance and allocate resources. See Note 17, “Segment Information” for detailed descriptions of these segments. As a result, certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation.

 

Reclassification, Comparability Adjustment [Policy Text Block]

Immaterial Correction of Error

 

The Company recorded revenue of $1.2 million during the three and twelve months ended December 31, 2018, which should have been recorded in the three months ended March 31, 2019. The misstatement in the timing of revenue recognition was due to an error in the measurement of costs incurred to date relative to estimated total direct costs at an acquired Ameron Water Transmission Group, LLC facility. Management concluded that this out of period adjustment was not material to the consolidated financial results for the year ended December 31, 2019.

 

Use of Estimates, Policy [Policy Text Block]

Use of Estimates

 

The preparation of the Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, the Company evaluates all of its estimates, including those related to business combinations, allowance for doubtful accounts, inventories, property and equipment (including depreciation and valuation), goodwill, intangible assets, revenue recognition, share-based compensation, income taxes, and litigation and other contingencies. Actual results may differ from these estimates under different assumptions or conditions.

 

Business Combinations Policy [Policy Text Block]

Business Combinations

 

Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related transaction costs are expensed as incurred.

 

These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances may occur which may affect the accuracy or validity of such estimates. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company may record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain. Upon the conclusion of the measurement period or final determination of the fair value of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company’s Consolidated Statements of Operations.

 

Cash and Cash Equivalents, Policy [Policy Text Block]

Cash and Cash Equivalents

 

Cash and cash equivalents consist of cash and short-term, highly-liquid investments with maturities of three months or less when purchased. At times, the Company will have outstanding checks in excess of related bank balances (a book overdraft). If this occurs, the amount of the book overdraft will be reclassified to accounts payable, and changes in the book overdraft will be reflected as a component of operating activities in the Consolidated Statements of Cash Flows. The Company had a book overdraft of $4.1 million as of December 31, 2021 and no book overdraft as of December 31, 2020.

 

Receivable [Policy Text Block]

Receivables and Allowance for Doubtful Accounts

 

Trade receivables are reported on the Consolidated Balance Sheets net of doubtful accounts. The Company maintains allowances for estimated losses resulting from the inability of its customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The Company will write down or write off a receivable account once the account is deemed uncollectible. If the customers’ financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances may need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.

 

Contract Assets and Liabilities, Policy [Policy Text Block]

Contract Assets and Liabilities

 

Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel.

 

Inventory, Policy [Policy Text Block]

Inventories

 

Inventories are stated at the lower of cost and net realizable value. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the first-in, first-out method of accounting.

 

Property, Plant and Equipment, Policy [Policy Text Block]

Property and Equipment

 

Property and equipment are recorded at cost. Maintenance and repairs are expensed as incurred, and costs of new equipment and buildings, as well as costs of expansions or refurbishment of existing equipment and buildings, including interest where applicable, are capitalized. Depreciation and amortization are determined by the units of production method for most equipment and by the straight-line method for the remaining assets based on the estimated useful lives of the related assets. Estimated useful lives by major classes of property and equipment are as follows: Land improvements (15 – 30 years); Buildings (20 – 40 years); Leasehold improvements (5 – 30 years); and Machinery and equipment (3 – 30 years). Depreciation expense calculated under the units of production method may be less than, equal to, or greater than depreciation expense calculated under the straight-line method due to variances in production levels. Upon disposal, costs and related accumulated depreciation of the assets are removed from the accounts and resulting gains or losses are reflected in operating expenses. The Company leases certain equipment under long-term finance leases, which are being amortized on a straight-line basis over the shorter of its useful life or the lease term.

 

The Company assesses impairment of property and equipment whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) may not be recoverable. The asset group is the lowest level at which identifiable cash flows are largely independent of the cash flows of other groups of assets or liabilities. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about the expected future operating performance of the Company.

 

Lessee, Leases [Policy Text Block]

Leases

 

The Company adopted Accounting Standards Codification (“ASC”) Topic 842, “Leases” on January 1, 2019 using the modified retrospective transition method which allowed it to continue to apply legacy guidance for periods prior to 2019. The Company elected the package of transition practical expedients which, among other things, allowed it to keep the historical lease classifications and not reassess the lease classification for any existing leases as of the date of adoption. The Company also made an accounting policy election to apply the short-term lease exception, which allows it to keep leases with an initial term of twelve months or less off the balance sheet.

 

The Company has entered into various equipment and property leases. Certain lease agreements include renewals and/or purchase options set to expire at various dates, and certain lease agreements include rental payments adjusted periodically for inflation. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

 

The Company determines if an arrangement is a lease at inception. Leases with an initial term of twelve months or less are not recorded on the balance sheet; costs for these leases are recognized on a straight-line basis over the lease term. Right-of-use assets and lease liabilities are recognized based on the present value of lease payments over the lease term at commencement date. Because most of the Company’s leases do not provide an implicit rate of return, the Company uses its revolving loan borrowing rate in determining the present value of lease payments. Some of the Company’s lease agreements contain non-lease components, which are accounted for separately.

 

Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]

Goodwill

 

Goodwill represents the excess of the purchase price over the fair values of the assets and liabilities assumed in conjunction with an acquisition. Goodwill is reviewed for impairment annually as of December 31, or whenever events occur or circumstances change that indicate goodwill may be impaired. In testing goodwill for impairment, the Company has the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-not (more than 50%) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, the Company evaluates factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. If the qualitative assessment indicates that it is more-likely-than-not that the fair value of the reporting unit is less than its carrying amount, or if the Company chooses not to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, not to exceed the total amount of goodwill allocated to the reporting unit.

 

Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]

Intangible Assets

 

Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives ranging from 7 months to 21 years.

 

Workers Compensation Insurance [Policy Text Block]

Workers Compensation

 

The Company is self-insured and maintains high deductible policies for losses and liabilities associated with workers compensation claims. Losses are accrued based upon the Company’s estimates of the aggregate liability for claims incurred using historical experience and certain actuarial assumptions followed in the insurance industry. As of December 31, 2021 and 2020, workers compensation reserves recorded were $1.7 million, of which $0.4 million and $0.2 million, respectively, were included in Accrued liabilities and $1.3 million and $1.5 million, respectively, were included in Other long-term liabilities.

 

Accrued Liabilities [Policy Text Block]

Accrued Liabilities

 

Accrued liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2021

  

2020

 

Accrued liabilities:

        

Accrued bonus

 $3,716  $3,747 

Accrued vacation payable

  2,900   2,328 

Foreign currency forward contracts

  661   1,150 

Finance lease liabilities

  475   375 

Workers compensation reserves

  366   237 

Other

  16,380   8,977 

Total accrued liabilities

 $24,498  $16,814 

 

Derivatives, Policy [Policy Text Block]

Derivative Instruments

 

The Company conducts business in various foreign countries and, from time to time, settles transactions in foreign currencies. The Company has established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with the Company’s strategy for financial risk management. The Company utilizes cash flow hedge accounting treatment for qualifying foreign currency forward contracts. Instruments that do not qualify for cash flow hedge accounting treatment are remeasured at fair value on each balance sheet date and resulting gains and losses are recognized in earnings.

 

Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]

Pension Benefits

 

The Company has two defined benefit pension plans that have been frozen since 2001. The Company funds these plans to cover current plan costs plus amortization of the unfunded plan liabilities. To record these obligations, management uses estimates relating to investment returns, mortality, and discount rates.

 

Foreign Currency Transactions and Translations Policy [Policy Text Block]

Foreign Currency Transactions

 

The functional currency of the Company, including its Mexican operations, is the United States dollar. Monetary assets and liabilities are remeasured at current exchange rates and non-monetary assets and liabilities are remeasured at historical exchange rates. Revenue and expenses related to monetary assets and liabilities are remeasured at average exchange rates and at historical exchange rates for the revenue and expenses related to non-monetary assets and liabilities.

 

Transaction gains (losses) from foreign currency forward contracts designated as cash flow hedges are included in Accumulated other comprehensive loss as a separate component of Stockholders’ equity. For the years ended December 31, 2021, 2020, and 2019, net foreign currency transaction gains (losses) of $(0.5) million, $(1.1) million, and $0.5 million, respectively, were recognized in earnings.

 

Revenue [Policy Text Block]

Revenue Recognition

 

The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct.

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do not contain significant financing.

 

The Company does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

Share-based Payment Arrangement [Policy Text Block]

Share-based Compensation

 

The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of restricted stock units (“RSUs”) and performance share awards (“PSAs”) using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

Income Tax, Policy [Policy Text Block]

Income Taxes

 

Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future income tax consequences of events that have been recognized in the Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of the provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. The provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.

 

The Company records income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. The Company assesses income tax positions and records income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-not that an income tax benefit will be sustained, the Company has recorded the largest amount of income tax benefit with a greater than 50% likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is not more-likely-than-not that an income tax benefit will be sustained, no income tax benefit has been recognized in the Consolidated Financial Statements.

 

Comprehensive Income, Policy [Policy Text Block]

Accumulated Other Comprehensive Loss

 

Accumulated other comprehensive loss includes unrealized gains and losses on derivative instruments related to the effective portion of cash flow hedges and changes in the funded status of the defined benefit pension plans, both net of the related income tax effect.

 

Earnings Per Share, Policy [Policy Text Block]

Net Income per Share

 

Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.

 

Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):

 

  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Basic weighted-average common shares outstanding

  9,854   9,788   9,741 

Effect of potentially dilutive common shares (1)

  74   85   38 

Diluted weighted-average common shares outstanding

  9,928   9,873   9,779 
             

Net income per common share

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85 

 

 

(1)

There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019.

 

Concentration Risk, Credit Risk, Policy [Policy Text Block]

Concentrations of Credit Risk

 

Financial instruments, which potentially subject the Company to concentrations of credit risk, consist principally of trade receivables, foreign currency forward contracts, and deferred compensation plan assets. Trade receivables generally represent a large number of customers, including municipalities, manufacturers, distributors, and contractors, dispersed across a wide geographic base. As of December 31, 2021, no customer had a balance in excess of 10% of total accounts receivable, and one SPP customer had a balance in excess of 10% of total accounts receivable as of December 31, 2020. Foreign currency forward contracts are with a high quality financial institution. The Company’s deferred compensation plan assets, included in Other assets, are invested in a diversified portfolio of stock and bond mutual funds.

 

New Accounting Pronouncements, Policy [Policy Text Block]

Recent Accounting and Reporting Developments

 

Accounting Changes

 

In August 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2018‑14, “Compensation—Retirement Benefits—Defined Benefit Plans—General (Topic 715‑20): Disclosure Framework—Changes to the Disclosure Requirements for Defined Benefit Plans” (“ASU 2018‑14”), which modifies the disclosure requirements for employers that sponsor defined benefit pension or other postretirement plans by removing and adding certain disclosures for these plans. The eliminated disclosures include the amounts in accumulated other comprehensive income expected to be recognized in net periodic benefit costs over the next fiscal year and the amount and timing of plan assets expected to be returned to the employer. The new disclosures include an explanation of significant gains and losses related to changes in benefit obligations. The Company adopted ASU 2018‑14 on a retrospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

In December 2019, the FASB issued Accounting Standards Update No. 2019‑12, “Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes” (“ASU 2019‑12”), which simplifies the accounting for income taxes by removing certain exceptions to the general principles in ASC Topic 740, “Income Taxes” (“Topic 740”). ASU 2019‑12 also improves consistent application of and simplifies U.S. GAAP for other areas of Topic 740 by clarifying and amending existing guidance. The Company adopted ASU 2019‑12 on a prospective basis on January 1, 2021 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

Recent Accounting Standards

 

In March 2020, the FASB issued Accounting Standards Update No. 2020‑04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,” which provides optional expedients and exceptions for applying U.S. GAAP to contracts, hedging relationships, and other transactions affected by the discontinuation of the London Interbank Offered Rate (“LIBOR”) or by another reference rate expected to be discontinued. The guidance was effective beginning March 12, 2020 and can be applied prospectively through December 31, 2022. In January 2021, the FASB issued Accounting Standards Update No. 2021‑01, “Reference Rate Reform - Scope,” which clarified the scope and application of the original guidance. The Company will adopt these standards when LIBOR is discontinued and does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

In October 2021, the FASB issued Accounting Standards Update No. 2021‑08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU 2021‑08”) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic 606, “Revenue from Contracts with Customers,” as if it had originated the contracts. ASU 2021‑08 is effective for the Company beginning January 1, 2023, including interim periods in 2023, with early adoption permitted. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

XML 44 R30.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Accrued Liabilities [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Accrued liabilities:

        

Accrued bonus

 $3,716  $3,747 

Accrued vacation payable

  2,900   2,328 

Foreign currency forward contracts

  661   1,150 

Finance lease liabilities

  475   375 

Workers compensation reserves

  366   237 

Other

  16,380   8,977 

Total accrued liabilities

 $24,498  $16,814 
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Basic weighted-average common shares outstanding

  9,854   9,788   9,741 

Effect of potentially dilutive common shares (1)

  74   85   38 

Diluted weighted-average common shares outstanding

  9,928   9,873   9,779 
             

Net income per common share

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85 
XML 45 R31.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Business Acquisitions, by Acquisition [Table Text Block]

Assets

    

Cash and cash equivalents

 $278 

Trade and other receivables

  11,034 

Inventories

  12,773 

Prepaid expenses and other

  293 

Property and equipment

  8,076 

Operating lease right-of-use assets

  58,301 

Intangible assets

  31,000 

Deferred income taxes

  347 

Total assets acquired

  122,102 
     

Liabilities

    

Accounts payable

  2,029 

Accrued liabilities

  4,067 

Operating lease liabilities

  58,301 

Total liabilities assumed

  64,397 
     

Goodwill

  30,699 
     

Total purchase consideration

 $88,404 

Assets

    

Cash and cash equivalents

 $691 

Trade and other receivables

  7,089 

Inventories

  5,673 

Prepaid expenses and other

  356 

Property and equipment

  9,096 

Operating lease right-of-use assets

  21,684 

Intangible assets

  11,165 

Total assets acquired

  55,754 
     

Liabilities

    

Accounts payable

  1,395 

Accrued liabilities

  1,189 

Operating lease liabilities

  20,454 

Deferred income taxes

  5,343 

Other long-term liabilities

  939 

Total liabilities assumed

  29,320 
     

Goodwill

  22,985 
     

Total purchase consideration

 $49,419 
Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]
  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  10.0  $19,800 

Trade names and trade marks

  10.0   9,600 

Patents

  21.0   1,300 

Backlog

  0.6   300 

Total intangible assets

  10.4  $31,000 
  

Estimated Useful Life

  

Fair Value

 
  

(In years)

  

(In thousands)

 
         

Customer relationships

  11.0  $8,031 

Trade names

  10.0   2,093 

Backlog

  0.9   1,041 

Total intangible assets

  9.9  $11,165 
Business Acquisition, Pro Forma Information [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net sales

 $384,872  $356,035  $323,741 

Net income

  15,780   20,540   27,163 
XML 46 R32.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Inventories (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule Of Inventory Current And Non Current [Table Text Block]
  

December 31,

 
  

2021

  

2020

 
         

Raw materials

 $44,697  $20,631 

Work-in-process

  3,018   1,416 

Finished goods

  10,096   5,489 

Supplies

  1,840   1,641 

Total inventories

 $59,651  $29,177 
XML 47 R33.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Property and Equipment (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Property, Plant and Equipment [Table Text Block]
  

December 31,

 
  

2021

  

2020

 
         

Land and improvements

 $22,909  $22,773 

Buildings

  49,361   47,663 
Leasehold improvements  3,057   - 

Machinery and equipment

  140,015   127,679 

Equipment under finance lease

  2,839   2,589 
   218,181   200,704 

Less accumulated depreciation and amortization

  (106,957

)

  (96,684

)

   111,224   104,020 

Construction in progress

  10,042   6,164 

Property and equipment, net

 $121,266  $110,184 
XML 48 R34.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Goodwill [Table Text Block]

Goodwill, December 31, 2020

 $22,985 

Acquisition of ParkUSA (Note 3)

  30,699 

Goodwill, December 31, 2021

 $53,684 
Schedule of Finite-Lived Intangible Assets [Table Text Block]
  Gross Carrying Amount  Accumulated Amortization  Intangible Assets, Net 

As of December 31, 2021

            

Customer relationships

 $29,209  $(2,997

)

 $26,212 

Trade names and trademarks

  12,825   (1,245

)

  11,580 

Patents

  1,300   (15

)

  1,285 

Backlog

  300   (129

)

  171 

Other

  329   (201

)

  128 

Total

 $43,963  $(4,587

)

 $39,376 
             

As of December 31, 2020

            

Customer relationships

 $9,409  $(1,634

)

 $7,775 

Trade names and trademarks

  3,225   (720

)

  2,505 

Other

  329   (91

)

  238 

Total

 $12,963  $(2,445

)

 $10,518 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

Year ending December 31,

    

2022

 $4,436 

2023

  4,173 

2024

  4,017 

2025

  4,017 

2026

  4,017 

Thereafter

  18,716 

Total amortization expense

 $39,376 
XML 49 R35.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Lessee, Lease, Assets and Liabilities [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Right-of-use assets:

        

Finance leases, net, included in Property and equipment (1)

 $1,730  $1,288 

Operating leases

  98,507   30,813 

Total right-of-use assets

 $100,237  $32,101 
         

Lease liabilities:

        

Finance leases

 $2,169  $1,729 

Operating leases

  98,429   30,115 

Total lease liabilities

 $100,598  $31,844 
Lease, Cost [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Finance lease cost:

            

Amortization of right-of-use assets

 $413  $422  $435 

Interest on lease liabilities

  90   79   57 

Operating lease cost

  4,627   3,647   1,934 

Short-term lease cost

  993   745   1,442 

Variable lease cost

  158   199   141 

Total lease cost

 $6,281  $5,092  $4,009 
Lessee, Liability, Maturity [Table Text Block]
  

Finance Leases

  

Operating Leases

 
         

2022

 $574  $6,802 

2023

  378   6,669 

2024

  692   6,499 

2025

  449   6,529 

2026

  360   6,431 

Thereafter

  -   88,557 

Total lease payments

  2,453   121,487 

Amount representing interest

  (284

)

  (23,058

)

Present value of lease liabilities

  2,169   98,429 

Current portion of lease liabilities (1)

  (475

)

  (4,704

)

Long-term lease liabilities (2)

 $1,694  $93,725 
Lease Terms and Discount Rates for Lease Liabilities [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Weighted-average remaining lease term (years)

        

Finance leases

  

3.56

   

3.67

 

Operating leases

  

18.42

   

18.21

 

Weighted-average discount rate

        

Finance leases

  

5.10

%

  

5.22

%

Operating leases

  

2.18

%

  

3.36

%

Other Information Related to Operating and Finance Leases [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Cash paid for amounts included in the measurement of lease liabilities:

            

Operating cash flows from finance leases

 $(90

)

 $(79

)

 $(57

)

Operating cash flows from operating leases

  (4,142

)

  (3,481

)

  (1,909

)

Financing cash flows from finance leases

  (415

)

  (420

)

  (434

)

Right-of-use assets obtained in exchange for finance lease liabilities

  853   507   819 

Right-of-use assets obtained in exchange for operating lease liabilities

  16,043   4,471   1,335 
XML 50 R36.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]
  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2021

                

Financial assets:

                

Deferred compensation plan

 $4,321  $3,830  $491  $- 

Foreign currency forward contracts

  17   -   17   - 

Total financial assets

 $4,338  $3,830  $508  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(661

)

 $-  $(661

)

 $- 
                 

As of December 31, 2020

                

Financial assets:

                

Deferred compensation plan

 $4,717  $3,884  $833  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1,150

)

 $-  $(1,150

)

 $- 
XML 51 R37.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Share-based Compensation (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Cost of sales

 $1,003  $822  $383 

Selling, general, and administrative expense

  2,213   2,266   1,326 

Total

 $3,216  $3,088  $1,709 
Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block]
  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2020

  129,572  $25.86 

RSUs and PSAs granted

  90,368   33.30 

RSUs and PSAs vested (2)

  (58,809

)

  25.53 

Unvested RSUs and PSAs as of December 31, 2021

  161,131   30.26 
XML 52 R38.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Revenue from External Customers by Geographic Areas [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales by geographic region:

            

United States

 $313,729  $254,956  $252,797 

Canada

  19,584   30,951   26,520 

Total

 $333,313  $285,907  $279,317 
Disaggregation of Revenue [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Over time (Engineered Steel Pressure Pipe)

 $259,823  $241,690  $279,317 

Point in time (Precast Infrastructure and Engineered Systems)

  73,490   44,217   - 

Net sales

 $333,313  $285,907  $279,317 
XML 53 R39.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

United States

 $14,000  $24,768  $32,244 

Foreign

  1,158   866   396 

Total

 $15,158  $25,634  $32,640 
Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Current:

            

Federal

 $2,256  $958  $174 

State

  1,064   1,342   (16

)

Foreign

  213   243   439 

Total current income tax expense

  3,533   2,543   597 

Deferred:

            

Federal

  573   4,380   3,597 

State

  (464)  (386

)

  561 

Foreign

  (7)  47   (17

)

Total deferred income tax expense

  102   4,041   4,141 

Total income tax expense

 $3,635  $6,584  $4,738 
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Income tax expense at federal statutory rate

 $3,183  $5,383  $6,854 

State expense, net of federal income tax effect

  547   953   1,261 

Change in valuation allowance

  (247)  (181

)

  (3,564

)

Nondeductible expenses

  (31)  447   (24

)

Foreign rate differential

  104   78   36 

Other

  79   (96

)

  175 

Income tax expense

 $3,635  $6,584  $4,738 

Effective income tax rate

  24.0

%

  25.7

%

  14.5

%

Schedule of Deferred Tax Assets and Liabilities [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Deferred income tax assets:

        

Accrued employee benefits

 $3,125  $3,525 

Inventories

  30   73 

Trade receivable, net

  833   958 

Net operating loss carryforwards

  3,099   3,231 

Tax credit carryforwards

  2,888   2,699 
Contract assets, net  313   - 

Other

  984   389 
   11,272   10,875 

Valuation allowance

  (5,899

)

  (6,228

)

   5,373   4,647 

Deferred income tax liabilities:

        

Contract assets, net

  -

 

  (1,366

)

Property and equipment

  (12,937

)

  (12,029

)

Intangible assets

  (1,902

)

  (2,737

)

Goodwill  (129)  - 

Prepaid expenses

  (1,005

)

  (889

)

   (15,973

)

  (17,021

)

         

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

         

Amounts are presented in the Consolidated Balance Sheets as follows:

        

Deferred income tax assets, included in Other assets

 $384  $107 

Deferred income taxes

  (10,984

)

  (12,481

)

Net deferred income tax liabilities

 $(10,600

)

 $(12,374

)

Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Unrecognized income tax benefits, beginning of year

 $4,350  $4,350  $4,350 

Increases for positions taken in prior years

  16   -   - 

Unrecognized income tax benefits, end of year

 $4,366  $4,350  $4,350 
XML 54 R40.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]
  

December 31,

 
  

2021

  

2020

 
         

Pension liability adjustment, net of income tax benefit of $577 and $679

 $(1,487

)

 $(1,795

)

Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20

  (195

)

  (71

)

Total

 $(1,682

)

 $(1,866

)

Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block]
  Pension Liability Adjustment  Unrealized Loss on Cash Flow Hedges  

Total

 
             

Balance, December 31, 2020

 $(1,795

)

 $(71

)

 $(1,866

)

             

Other comprehensive income (loss) before reclassifications

  386   (178

)

  208 

Amounts reclassified from Accumulated other comprehensive loss

  (78

)

  54   (24

)

Net current period adjustments to Other comprehensive loss

  308   (124

)

  184 
             

Balance, December 31, 2021

 $(1,487

)

 $(195

)

 $(1,682

)

Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]
  

Amount reclassified from Accumulated Other Comprehensive Loss

 

Affected line item in the

Details about Accumulated Other

 

Year Ended December 31,

 

Consolidated Statements

Comprehensive Loss Components

 

2021

  

2020

  

2019

 

of Operations

              

Pension liability adjustment:

             

Net periodic pension cost:

             

Service cost

 $(7

)

 $(16

)

 $(11

)

Cost of sales

Non-service cost

  110   46   (15

)

Other income

Associated income tax (expense) benefit

  (25

)

  (8

)

  4 

Income tax expense

   78   22   (22

)

 

Unrealized gain (loss) on cash flow hedges:

             

Gain (loss) on cash flow hedges

  (72

)

  (378

)

  5 

Net sales

Associated income tax benefit

  18   97   2 

Income tax expense

   (54

)

  (281

)

  7  

Total reclassifications for the period

 $24  $(259

)

 $(15

)

 
XML 55 R41.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 17 - Segment Information (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 

Net sales:

            

Engineered Steel Pressure Pipe

 $259,823  $241,690  $279,317 

Precast Infrastructure and Engineered Systems

  73,490   44,217   - 

Total

 $333,313  $285,907  $279,317 
             

Gross profit:

            

Engineered Steel Pressure Pipe

 $31,281  $44,293  $47,184 

Precast Infrastructure and Engineered Systems

  12,973   6,226   - 

Total

 $44,254  $50,519  $47,184 
             

Depreciation and amortization expense:

            

Engineered Steel Pressure Pipe

 $9,524  $10,746  $12,363 

Precast Infrastructure and Engineered Systems

  3,738   3,407   - 
   13,262   14,153   12,363 

Corporate

  362   398   350 

Total

 $13,624  $14,551  $12,713 
             

Capital expenditures:

            

Engineered Steel Pressure Pipe

 $7,538  $12,031  $8,033 

Precast Infrastructure and Engineered Systems

  5,255   1,397   - 
   12,793   13,428   8,033 

Corporate

  469   585   552 

Total

 $13,262  $14,013  $8,585 
  

December 31,

 
  

2021

  

2020

 

Total assets:

        

Engineered Steel Pressure Pipe

 $308,819  $249,680 

Precast Infrastructure and Engineered Systems

  228,627   77,765 
   537,446   327,445 

Corporate

  10,233   45,570 

Total

 $547,679  $373,015 
XML 56 R42.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Quarterly Data (Unaudited) (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Quarterly Financial Information [Table Text Block]
  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2021

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,057  $58,748  $69,439  $71,579  $259,823 

Precast Infrastructure and Engineered Systems

  12,254   15,064   15,204   30,968   73,490 

Total

 $72,311  $73,812  $84,643  $102,547  $333,313 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $7,154  $6,615  $8,844  $8,668  $31,281 

Precast Infrastructure and Engineered Systems

  1,621   2,923   3,519   4,910   12,973 

Total

 $8,775  $9,538  $12,363  $13,578  $44,254 
                     

Net income

 $2,175  $2,131  $4,946  $2,271  $11,523 
                     

Income per share:

                    

Basic

 $0.22  $0.22  $0.50  $0.23  $1.17 

Diluted

 $0.22  $0.21  $0.50  $0.23  $1.16 
  First Quarter  Second Quarter  Third Quarter  Fourth Quarter  

Total

 

For the Year Ended December 31, 2020

                    

Net sales:

                    

Engineered Steel Pressure Pipe

 $60,878  $57,649  $65,077  $58,086  $241,690 

Precast Infrastructure and Engineered Systems

  8,045   12,322   12,555   11,295   44,217 

Total

 $68,923  $69,971  $77,632  $69,381  $285,907 
                     

Gross profit:

                    

Engineered Steel Pressure Pipe

 $8,765  $10,704  $13,917  $10,907  $44,293 

Precast Infrastructure and Engineered Systems

  814   2,254   1,702   1,456   6,226 

Total

 $9,579  $12,958  $15,619  $12,363  $50,519 
                     

Net income

 $564  $5,998  $7,267  $5,221  $19,050 
                     

Income per share:

                    

Basic

 $0.06  $0.61  $0.74  $0.54  $1.95 

Diluted

 $0.06  $0.61  $0.73  $0.53  $1.93 
XML 57 R43.htm IDEA: XBRL DOCUMENT v3.22.0.1
Schedule II - Valuation and Qualifying Accounts (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Summary of Valuation and Qualifying Accounts [Table Text Block]
  Balance at Beginning of Period  Charged to Profit and Loss  Deduction from Reserves  Balance at End of Period 

Year Ended December 31, 2021:

                

Allowance for doubtful accounts

 $767  $653  $(917

)

 $503 

Valuation allowance for deferred income tax assets

  6,228   -   (329

)

  5,899 
                 

Year Ended December 31, 2020:

                

Allowance for doubtful accounts

 $801  $430  $(464

)

 $767 

Valuation allowance for deferred income tax assets

  6,126   240   (138

)

  6,228 
                 

Year Ended December 31, 2019:

                

Allowance for doubtful accounts

 $660  $312  $(171

)

 $801 

Valuation allowance for deferred income tax assets

  9,433   345   (3,652

)

  6,126 
XML 58 R44.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 1 - Organization (Details Textual)
12 Months Ended
Dec. 31, 2021
Number of Operating Segments 2
Number of Manufacturing Facilities 13
XML 59 R45.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies (Details Textual)
shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
USD ($)
Sep. 30, 2021
USD ($)
Jun. 30, 2021
USD ($)
Mar. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Sep. 30, 2020
USD ($)
Jun. 30, 2020
USD ($)
Mar. 31, 2020
USD ($)
Mar. 31, 2019
USD ($)
Dec. 31, 2021
USD ($)
shares
Dec. 31, 2020
USD ($)
shares
Dec. 31, 2019
USD ($)
shares
Revenue from Contract with Customer, Including Assessed Tax $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923   $ 333,313 $ 285,907 $ 279,317
Book Overdrafts 4,100       0         4,100 0  
Workers' Compensation Liability 1,700       1,700         1,700 1,700  
Workers' Compensation Liability, Current 366       237         366 237  
Foreign Currency Transaction Gain (Loss), Realized                   $ (500) $ (1,100) $ 500
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) | shares                   0 0 0
Number of Customers with Receivable Balance in Excess of Ten Percent of Receivables                   0 1  
Accrued Liability [Member]                        
Workers' Compensation Liability, Current 400       200         $ 400 $ 200  
Other Long-term Liabilities [Member]                        
Workers' Compensation Liability, Noncurrent $ 1,300       $ 1,500         $ 1,300 $ 1,500  
Minimum [Member]                        
Finite-Lived Intangible Asset, Useful Life (Month)                   7 months    
Maximum [Member]                        
Finite-Lived Intangible Asset, Useful Life (Month)                   21 years    
Land Improvements [Member] | Minimum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   15 years    
Land Improvements [Member] | Maximum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   30 years    
Building [Member] | Minimum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   20 years    
Building [Member] | Maximum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   40 years    
Leasehold Improvements [Member] | Minimum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   5 years    
Leasehold Improvements [Member] | Maximum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   30 years    
Machinery and Equipment [Member] | Minimum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   3 years    
Machinery and Equipment [Member] | Maximum [Member]                        
Property, Plant and Equipment, Useful Life (Year)                   30 years    
Out of Period Adjustment [Member]                        
Revenue from Contract with Customer, Including Assessed Tax                 $ (1,200)      
XML 60 R46.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Accrued bonus $ 3,716 $ 3,747
Accrued vacation payable 2,900 2,328
Foreign currency forward contracts 661 1,150
Finance lease liabilities [1] 475  
Workers compensation reserves 366 237
Other 16,380 8,977
Total accrued liabilities 24,498 16,814
Accrued Liability [Member]    
Finance lease liabilities 475 375
Workers compensation reserves $ 400 $ 200
[1] Current portion of finance lease liabilities are included in Accrued liabilities.
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net income $ 2,271 $ 4,946 $ 2,131 $ 2,175 $ 5,221 $ 7,267 $ 5,998 $ 564 $ 11,523 $ 19,050 $ 27,902
Basic (in shares)                 9,854 9,788 9,741
Effect of potentially dilutive common shares (in shares) [1]                 74 85 38
Diluted weighted-average common shares outstanding (in shares)                 9,928 9,873 9,779
Basic (in dollars per share) $ 0.23 $ 0.50 $ 0.22 $ 0.22 $ 0.54 $ 0.74 $ 0.61 $ 0.06 $ 1.17 $ 1.95 $ 2.86
Diluted (in dollars per share) $ 0.23 $ 0.50 $ 0.21 $ 0.22 $ 0.53 $ 0.73 $ 0.61 $ 0.06 $ 1.16 $ 1.93 $ 2.85
[1] There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019.
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Oct. 05, 2021
Jan. 31, 2020
Dec. 31, 2021
Jun. 30, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Payments to Acquire Businesses, Net of Cash Acquired, Total         $ 87,215 $ 48,728 $ (0)
Park Environmental Equipment, LLC [Member]              
Business Acquisition, Percentage of Voting Interests Acquired 100.00%            
Payments to Acquire Businesses, Net of Cash Acquired, Total $ 88,400            
Business Combination, Acquisition Related Costs         $ 3,400 200  
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual     $ 18,000        
Business Combination, Consideration Transferred, Total $ 88,404            
Geneva Pipe Company, Inc. [Member]              
Business Acquisition, Percentage of Voting Interests Acquired   100.00%          
Business Combination, Acquisition Related Costs           $ 2,600 $ 600
Business Combination, Consideration Transferred, Total   $ 49,419          
Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Trade and Other Receivables       $ (100)      
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details) - USD ($)
$ in Thousands
Oct. 05, 2021
Jan. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Liabilities        
Goodwill     $ 53,684 $ 22,985
Park Environmental Equipment, LLC [Member]        
Assets        
Cash and cash equivalents $ 278      
Trade and other receivables 11,034      
Inventories 12,773      
Prepaid expenses and other 293      
Property and equipment 8,076      
Operating lease right-of-use assets 58,301      
Intangible assets 31,000      
Deferred income taxes 347      
Total assets acquired 122,102      
Liabilities        
Accounts payable 2,029      
Accrued liabilities 4,067      
Operating lease liabilities 58,301      
Total liabilities assumed 64,397      
Goodwill 30,699      
Total purchase consideration $ 88,404      
Geneva Pipe Company, Inc. [Member]        
Assets        
Cash and cash equivalents   $ 691    
Trade and other receivables   7,089    
Inventories   5,673    
Prepaid expenses and other   356    
Property and equipment   9,096    
Operating lease right-of-use assets   21,684    
Intangible assets   11,165    
Total assets acquired   55,754    
Liabilities        
Accounts payable   1,395    
Accrued liabilities   1,189    
Operating lease liabilities   20,454    
Total liabilities assumed   29,320    
Goodwill   22,985    
Total purchase consideration   49,419    
Deferred income taxes   5,343    
Other long-term liabilities   $ 939    
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations - Intangible Assets Acquired (Details) - USD ($)
$ in Thousands
Oct. 05, 2021
Jan. 31, 2020
Park Environmental Equipment, LLC [Member]    
Intangible Asset Acquired, Useful Life (Year) 10 years 4 months 24 days  
Park Environmental Equipment, LLC [Member] | Customer Relationships [Member]    
Intangible Asset Acquired, Useful Life (Year) 10 years  
Intangible Asset Acquired, Fair Value $ 19,800  
Park Environmental Equipment, LLC [Member] | Trademarks and Trade Names [Member]    
Intangible Asset Acquired, Useful Life (Year) 10 years  
Intangible Asset Acquired, Fair Value $ 9,600  
Park Environmental Equipment, LLC [Member] | Patents [Member]    
Intangible Asset Acquired, Useful Life (Year) 21 years  
Intangible Asset Acquired, Fair Value $ 1,300  
Park Environmental Equipment, LLC [Member] | Backlog [Member]    
Intangible Asset Acquired, Useful Life (Year) 7 months 6 days  
Intangible Asset Acquired, Fair Value $ 300  
Geneva Pipe Company, Inc. [Member]    
Intangible Asset Acquired, Useful Life (Year)   9 years 10 months 24 days
Intangible Asset Acquired, Fair Value $ 31,000 $ 11,165
Geneva Pipe Company, Inc. [Member] | Customer Relationships [Member]    
Intangible Asset Acquired, Useful Life (Year)   11 years
Intangible Asset Acquired, Fair Value   $ 8,031
Geneva Pipe Company, Inc. [Member] | Trade Names [Member]    
Intangible Asset Acquired, Useful Life (Year)   10 years
Intangible Asset Acquired, Fair Value   $ 2,093
Geneva Pipe Company, Inc. [Member] | Backlog [Member]    
Intangible Asset Acquired, Useful Life (Year)   10 months 24 days
Intangible Asset Acquired, Fair Value   $ 1,041
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 3 - Business Combinations - Pro Forma Summary (Details) - ParkUSA and Geneva [Member] - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 384,872 $ 356,035 $ 323,741
Net income $ 15,780 $ 20,540 $ 27,163
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 4 - Inventories - Components of Inventories (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Raw materials $ 44,697 $ 20,631
Work-in-process 3,018 1,416
Finished goods 10,096 5,489
Supplies 1,840 1,641
Total inventories $ 59,651 $ 29,177
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Property and Equipment (Details Textual) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Property, Plant and Equipment, Net, Ending Balance $ 121,266 $ 110,184
MEXICO    
Property, Plant and Equipment, Net, Ending Balance $ 19,900 $ 20,300
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 5 - Property and Equipment - Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Property and equipment, gross $ 218,181 $ 200,704
Less accumulated depreciation and amortization (106,957) (96,684)
Property, Plant and Equipment, Net, Excluding Construction In Progress 111,224 104,020
Property and equipment, net 121,266 110,184
Land Improvements [Member]    
Property and equipment, gross 22,909 22,773
Building [Member]    
Property and equipment, gross 49,361 47,663
Leasehold Improvements [Member]    
Property and equipment, gross 3,057 0
Machinery and Equipment [Member]    
Property and equipment, gross 140,015 127,679
Equipment Under Finance Lease [Member]    
Property and equipment, gross 2,839 2,589
Construction in Progress [Member]    
Property and equipment, net $ 10,042 $ 6,164
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2021
USD ($)
Goodwill $ 22,985
Goodwill 53,684
Park Environmental Equipment, LLC [Member]  
Acquisition of ParkUSA (Note 3) $ 30,699
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Intangible Assets, Gross $ 43,963 $ 12,963
Intangible Assets, Accumulated amortization (4,587) (2,445)
Intangible Assets, Net 39,376 10,518
Customer Relationships [Member]    
Intangible Assets, Gross 29,209 9,409
Intangible Assets, Accumulated amortization (2,997) (1,634)
Intangible Assets, Net 26,212 7,775
Trademarks and Trade Names [Member]    
Intangible Assets, Gross 12,825 3,225
Intangible Assets, Accumulated amortization (1,245) (720)
Intangible Assets, Net 11,580 2,505
Patents [Member]    
Intangible Assets, Gross 1,300  
Intangible Assets, Accumulated amortization (15)  
Intangible Assets, Net 1,285  
Backlog [Member]    
Intangible Assets, Gross 300  
Intangible Assets, Accumulated amortization (129)  
Intangible Assets, Net 171  
Other Intangible Assets [Member]    
Intangible Assets, Gross 329 329
Intangible Assets, Accumulated amortization (201) (91)
Intangible Assets, Net $ 128 $ 238
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
2022 $ 4,436  
2023 4,173  
2024 4,017  
2025 4,017  
2026 4,017  
Thereafter 18,716  
Total amortization expense $ 39,376 $ 10,518
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 7 - Credit Agreement (Details Textual)
$ in Thousands
12 Months Ended
Oct. 22, 2021
USD ($)
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Interest Expense, Debt and Finance Leases, Net of Amounts Capitalized   $ 1,200 $ 900 $ 500
Interest Costs Capitalized   100 100  
Letters of Credit Outstanding, Amount   1,600    
Wells Fargo Bank, N.A. [Member]        
Line of Credit Facility, Maximum Borrowing Capacity $ 125,000      
Maximum Senior Leverage Ratio Requirement 2.50      
Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization $ 31,500      
Long-term Line of Credit, Total   86,800    
Letters of Credit Outstanding, Amount   1,600 1,600  
Line of Credit Facility, Remaining Borrowing Capacity   $ 37,000    
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member]        
Long-term Line of Credit, Total     $ 0  
Debt, Weighted Average Interest Rate   1.85% 1.73%  
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Minimum [Member]        
Debt Instrument, Basis Spread on Variable Rate   1.75%    
Line of Credit Facility, Unused Capacity, Commitment Fee Percentage   0.30%    
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Maximum [Member]        
Debt Instrument, Basis Spread on Variable Rate   2.25%    
Line of Credit Facility, Unused Capacity, Commitment Fee Percentage   0.40%    
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases (Details Textual) - USD ($)
$ in Millions
Dec. 31, 2021
Dec. 31, 2020
Finance Lease, Right-of-Use Asset, Accumulated Amortization $ 1.1 $ 1.3
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Operating leases, Right-of-use assets $ 98,507 $ 30,813
Total right-of-use assets 100,237 32,101
Present value of lease liabilities, finance leases 2,169 1,729
Present value of lease liabilities, operating leases 98,429 30,115
Total lease liabilities 100,598 31,844
Property and Equipment [Member]    
Finance leases, net, included in Property and equipment [1] $ 1,730 $ 1,288
[1] Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of December 31, 2021 and 2020, respectively.
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases - Lease Cost (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Amortization of right-of-use assets $ 413 $ 422 $ 435
Interest on lease liabilities 90 79 57
Operating lease cost 4,627 3,647 1,934
Short-term lease cost 993 745 1,442
Variable lease cost 158 199 141
Total lease cost $ 6,281 $ 5,092 $ 4,009
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases - Future Maturities of Lease Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
2022, finance leases $ 574  
2022, operating leases 6,802  
2023, finance leases 378  
2023, operating leases 6,669  
2024, finance leases 692  
2024, operating leases 6,499  
2025, finance leases 449  
2025, operating leases 6,529  
2026, finance leases 360  
2026, operating leases 6,431  
Thereafter, finance leases 0  
Thereafter, operating leases 88,557  
Total lease payments, finance leases 2,453  
Total lease payments, operating leases 121,487  
Amount representing interest, finance leases (284)  
Amount representing interest, operating leases (23,058)  
Present value of lease liabilities, finance leases 2,169 $ 1,729
Present value of lease liabilities, operating leases 98,429 30,115
Current portion of lease liabilities, included in Accrued liabilities, finance leases [1] (475)  
Current portion of lease liabilities, operating leases (4,704) (2,204)
Long-term lease liabilities, operating leases 93,725 $ 27,911
Other Liabilities [Member]    
Long-term lease liabilities, finance leases [2] $ 1,694  
[1] Current portion of finance lease liabilities are included in Accrued liabilities.
[2] Long-term finance lease liabilities, less current portion are included in Other long-term liabilities.
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details)
Dec. 31, 2021
Dec. 31, 2020
Finance leases, weighted-average remaining lease term (Year) 3 years 6 months 21 days 3 years 8 months 1 day
Operating leases, weighted-average remaining lease term (Year) 18 years 5 months 1 day 18 years 2 months 15 days
Finance leases, weighted-average discount rate 5.10% 5.22%
Operating leases, weighted-average discount rate 2.18% 3.36%
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Operating cash flows from finance leases $ (90) $ (79) $ (57)
Operating cash flows from operating leases (4,142) (3,481) (1,909)
Financing cash flows from finance leases (415) (420) (434)
Right-of-use assets obtained in exchange for finance lease liabilities 853 507 819
Right-of-use assets obtained in exchange for operating lease liabilities $ 16,043 $ 4,471 $ 1,335
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($)
Dec. 31, 2021
Dec. 31, 2020
Deferred compensation plan $ 4,321,000 $ 4,717,000
Foreign currency forward contracts 17,000  
Total financial assets 4,338,000  
Foreign currency forward contracts (661,000) (1,150)
Fair Value, Inputs, Level 1 [Member]    
Deferred compensation plan 3,830,000 3,884,000
Foreign currency forward contracts 0  
Total financial assets 3,830,000  
Foreign currency forward contracts 0 0
Fair Value, Inputs, Level 2 [Member]    
Deferred compensation plan 491,000 833,000
Foreign currency forward contracts 17,000  
Total financial assets 508,000  
Foreign currency forward contracts (661,000) (1,150)
Fair Value, Inputs, Level 3 [Member]    
Deferred compensation plan 0 0
Foreign currency forward contracts 0  
Total financial assets 0  
Foreign currency forward contracts $ 0 $ 0
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 10 - Derivative Instruments and Hedging Activities (Details Textual) - Foreign Exchange Forward [Member]
$ in Thousands, $ in Millions
12 Months Ended
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Dec. 31, 2021
CAD ($)
Dec. 31, 2020
CAD ($)
Unrealized Loss on Foreign Currency Derivatives, before Tax $ 300        
Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months 0        
Designated as Hedging Instrument [Member]          
Derivative, Notional Amount 19,000 $ 15,300   $ 24.1 $ 19.5
Not Designated as Hedging Instrument [Member]          
Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net, Total $ 0 $ (600) $ (100)    
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 11 - Retirement Plans (Details Textual)
3 Months Ended 12 Months Ended
Dec. 31, 2021
USD ($)
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Retirement Plan Expense   $ 1,800,000 $ 1,600,000 $ 1,200,000
Defined Contribution Plan [Member]        
Company Matching Percentage on First Eight Percent of Employee Contributions   50.00% 50.00% 50.00%
Employee Contribution Percentage for Which Company Will Match at Fifty Percent   8.00% 8.00% 6.00%
ParkUSA Defined Contribution Plan [Member]        
Company Matching Percentage on First Eight Percent of Employee Contributions 100.00%      
Employee Contribution Percentage for Which Company Will Match at One Hundred Percent 4.00%      
Pension Plan [Member]        
Number of Non-contributory Defined Benefit Plans   2    
Liability, Defined Benefit Plan, Total $ 1,000,000.0 $ 1,000,000.0 $ 1,600,000  
Accumulated Other Comprehensive Income (Loss), Unrecognized Net Actuarial Losses, Net of Tax 1,500,000 1,500,000 1,800,000  
Defined Benefit Plan, Accumulated Benefit Obligation 6,100,000 6,100,000 6,500,000  
Defined Benefit Plan, Plan Assets, Amount, Ending Balance $ 5,100,000 5,100,000 4,900,000  
Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Total   $ 0 $ 0 $ 0
Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate 2.41% 2.41% 2.04%  
Defined Benefit Plan, Assumptions Used Calculating Net Periodic Benefit Cost, Expected Long-term Rate of Return on Plan Assets   7.00% 7.00%  
Non-qualified Retirement Savings Plan [Member]        
Company Matching Percentage on First Ten Thousand Dollar Employee Contributions   50.00%    
Officer Contribution for Which Company Will Match at Fifty Percent   $ 10,000    
Select Employee Contribution for Which Company Will Match at Fifty Percent   5,000    
Non-qualified Retirement Savings Plan [Member] | Other Long-term Liabilities [Member]        
Deferred Compensation Liability, Classified, Noncurrent, Total $ 4,300,000 $ 4,300,000 $ 4,700,000  
XML 82 R68.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Share-based Compensation (Details Textual)
$ / shares in Units, $ in Thousands
12 Months Ended 24 Months Ended
Dec. 31, 2021
USD ($)
$ / shares
shares
Dec. 31, 2020
USD ($)
$ / shares
shares
Dec. 31, 2019
USD ($)
$ / shares
shares
Dec. 31, 2020
shares
Number Of Active Stock Incentive Plans 1      
Common Stock, Capital Shares Reserved for Future Issuance (in shares) 222,022      
Common Stock, Capital Shares Reserved for Future Issuance, Percentage Vesting of Outstanding PSAs Assumed 100.00%      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total (in shares) 0 0 0  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period (in shares) 0 24,000 0  
Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price (in dollars per share) | $ / shares   $ 24.15    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value | $   $ 100    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) 0 0   0
Performance Shares [Member]        
Restricted Stock Units and Performance Share Award Target Level, Percentage 100.00%      
Performance Awards Issued Multiplier   200.00%   126.00%
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares) 116,000      
Performance Shares [Member] | Minimum [Member]        
Performance Awards Issued Multiplier 0.00%      
Performance Shares [Member] | Maximum [Member]        
Performance Awards Issued Multiplier 200.00%      
Restricted Stock Units (RSUs) [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | $ / shares $ 33.30 $ 26.61 $ 23.56  
Restricted Stock Units and Performance Stock Awards [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | $ / shares $ 33.30      
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value | $ $ 3,300 $ 2,000 $ 0  
Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount | $ $ 2,700      
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 1 year 6 months      
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) [1] 90,368      
Stock Awards [Member] | Director [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | $ / shares $ 30.94 $ 25.81 $ 25.16  
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) 12,606 17,442 11,924  
[1] The number of PSAs disclosed in this table are at the target level of 100%.
XML 83 R69.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Share-based Compensation - Share-based Compensation Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Share-based compensation expense $ 3,216 $ 3,088 $ 1,709
Cost of Sales [Member]      
Share-based compensation expense 1,003 822 383
Selling, General and Administrative Expenses [Member]      
Share-based compensation expense $ 2,213 $ 2,266 $ 1,326
XML 84 R70.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 12 - Share-based Compensation - RSU and PSA Activity (Details) - Restricted Stock Units and Performance Stock Awards [Member]
12 Months Ended
Dec. 31, 2021
$ / shares
shares
Unvested RSUs and PSAs (in shares) | shares 129,572 [1]
Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) | $ / shares $ 25.86
RSUs and PSAs granted (in shares) | shares 90,368 [1]
RSUs and PSAs granted, weighted average grant date fair value (in dollars per share) | $ / shares $ 33.30
RSUs and PSAs vested (2) (in shares) | shares (58,809) [1],[2]
RSUs and PSAs vested (2) (in dollars per share) | $ / shares $ 25.53 [2]
Unvested RSUs and PSAs (in shares) | shares 161,131 [1]
Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) | $ / shares $ 30.26
[1] The number of PSAs disclosed in this table are at the target level of 100%.
[2] For the PSAs vested on March 31, 2021; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the 2019-2020 performance period and 200% for the 2020 performance period.
XML 85 R71.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Commitments and Contingencies (Details Textual)
$ in Millions
1 Months Ended 12 Months Ended
Jan. 31, 2017
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Dec. 31, 2021
USD ($)
Jun. 30, 2014
USD ($)
Other Commitment, Amount Paid for Equipment Purchased Yet Not Received       $ 10.0  
Letters of Credit Outstanding, Amount       $ 1.6  
Fire [Member]          
Business Interruption, Incremental Production Costs, Net of Insurance Recovery   $ (1.4) $ 1.6    
Portland Harbor Natural Resources Trustee Council [Member]          
Loss Contingency, Accrual, Current         $ 0.4
Portland Harbor Superfund Site [Member]          
Number Of Potentially Responsible Parties 150        
Estimated Cost of EPA Selected Remedy $ 1,000.0        
Estimated Time to Complete Selected EPA Remedy (Year) 13 years        
Lower Willamette Group [Member]          
Number Of Potentially Responsible Parties 14        
XML 86 R72.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue 1 (Details Textual)
$ in Millions
12 Months Ended
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Dec. 31, 2019
USD ($)
Increase (Decrease) in Revenue from Contract with Customers, Including Assessed Tax $ 2.0 $ 2.2 $ (1.2)
Contract with Customer, Liability, Revenue Recognized 6.2 $ 12.3 $ 3.7
Revenue, Remaining Performance Obligation, Amount $ 183.0    
Revenue Benchmark [Member] | Customer Concentration Risk [Member]      
Number of Major Customers 0 0 0
Revenue Benchmark [Member] | Customer Concentration Risk [Member] | One SPP Customer [Member]      
Concentration Risk, Percentage 12.00% 16.00% 23.00%
XML 87 R73.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue 2 (Details Textual)
Dec. 31, 2021
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Remaining Performance Obligation, Percentage 82.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Revenue, Remaining Performance Obligation, Percentage 18.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 1 year
XML 88 R74.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923 $ 333,313 $ 285,907 $ 279,317
UNITED STATES                      
Net sales                 313,729 254,956 252,797
CANADA                      
Net sales                 $ 19,584 $ 30,951 $ 26,520
XML 89 R75.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923 $ 333,313 $ 285,907 $ 279,317
Transferred over Time [Member]                      
Net sales                 259,823 241,690 279,317
Transferred at Point in Time [Member]                      
Net sales                 $ 73,490 $ 44,217 $ 0
XML 90 R76.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Jan. 01, 2019
Dec. 31, 2021
Dec. 31, 2017
Dec. 31, 2020
Unrecognized Tax Benefits, Income Tax Penalties Accrued   $ 0   $ 0
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent   21.00% 35.00%  
Tax Cuts and Jobs Act, Reclassification from AOCI to Retained Earnings, Tax Effect $ 200      
Domestic Tax Authority [Member]        
Tax Credit Carryforward, Amount   $ 400    
Domestic Tax Authority [Member] | Capital Loss Carryforward [Member]        
Tax Credit Carryforward, Amount   $ 800    
Tax Credit Carryforward, Expiration Year   2024    
Domestic Tax Authority [Member] | Minimum [Member]        
Tax Credit Carryforward, Expiration Year   2023    
Domestic Tax Authority [Member] | Maximum [Member]        
Tax Credit Carryforward, Expiration Year   2026    
State and Local Jurisdiction [Member]        
Tax Credit Carryforward, Amount   $ 4,400    
Tax Credit Carryforward, Expiration Year   2022    
Operating Loss Carryforwards, Total   $ 27,300    
State and Local Jurisdiction [Member] | Minimum [Member]        
Operating Loss Carryforwards, Expiration Year   2022    
State and Local Jurisdiction [Member] | Maximum [Member]        
Operating Loss Carryforwards, Expiration Year   2038    
Foreign Tax Authority [Member]        
Operating Loss Carryforwards, Total   $ 4,600    
Foreign Tax Authority [Member] | Minimum [Member]        
Operating Loss Carryforwards, Expiration Year   2023    
Foreign Tax Authority [Member] | Maximum [Member]        
Operating Loss Carryforwards, Expiration Year   2030    
XML 91 R77.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
United States $ 14,000 $ 24,768 $ 32,244
Foreign 1,158 866 396
Income before income taxes $ 15,158 $ 25,634 $ 32,640
XML 92 R78.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Federal $ 2,256 $ 958 $ 174
State 1,064 1,342 (16)
Foreign 213 243 439
Total current income tax expense 3,533 2,543 597
Federal 573 4,380 3,597
State (464) (386) 561
Foreign (7) 47 (17)
Total deferred income tax expense 102 4,041 4,141
Total income tax expense $ 3,635 $ 6,584 $ 4,738
XML 93 R79.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income tax expense at federal statutory rate $ 3,183 $ 5,383 $ 6,854
State expense, net of federal income tax effect 547 953 1,261
Change in valuation allowance (247) (181) (3,564)
Nondeductible expenses (31) 447 (24)
Foreign rate differential 104 78 36
Other 79 (96) 175
Total income tax expense $ 3,635 $ 6,584 $ 4,738
Effective income tax rate 24.00% 25.70% 14.50%
XML 94 R80.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Accrued employee benefits $ 3,125 $ 3,525
Inventories 30 73
Trade receivable, net 833 958
Net operating loss carryforwards 3,099 3,231
Tax credit carryforwards 2,888 2,699
Contract assets, net 313 0
Other 984 389
Deferred tax assets, gross 11,272 10,875
Valuation allowance (5,899) (6,228)
Deferred tax assets, net 5,373 4,647
Contract assets, net 0 (1,366)
Property and equipment (12,937) (12,029)
Intangible assets (1,902) (2,737)
Goodwill (129) 0
Prepaid expenses (1,005) (889)
Total deferred tax liabilities (15,973) (17,021)
Net deferred income tax liabilities (10,600) (12,374)
Deferred income taxes (10,984) (12,481)
Net deferred income tax liabilities (10,600) (12,374)
Other Assets [Member]    
Deferred income tax assets, included in Other assets $ 384 $ 107
XML 95 R81.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Unrecognized income tax benefits, beginning of year $ 4,350 $ 4,350 $ 4,350
Increases for positions taken in prior years 16 0 0
Unrecognized income tax benefits, end of year $ 4,366 $ 4,350 $ 4,350
XML 96 R82.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Pension liability adjustment, net of income tax benefit of $577 and $679 $ (1,487) $ (1,795)
Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20 (195) (71)
Total $ (1,682) $ (1,866)
XML 97 R83.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Pension liability adjustment, tax effect $ 577 $ 679
Unrealized gain (loss) on cash flow hedges, tax effect $ 61 $ 20
XML 98 R84.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Beginning balance $ 269,626 $ 248,158 $ 218,590
Other comprehensive loss, net of tax 184 (52) (43)
Ending balance 283,383 269,626 248,158
Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]      
Beginning balance (1,795)    
Other comprehensive income (loss) before reclassifications 386    
Amounts reclassified from Accumulated other comprehensive loss (78)    
Other comprehensive loss, net of tax 308    
Ending balance (1,487) (1,795)  
Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]      
Beginning balance (71)    
Other comprehensive income (loss) before reclassifications (178)    
Amounts reclassified from Accumulated other comprehensive loss 54    
Other comprehensive loss, net of tax (124)    
Ending balance (195) (71)  
AOCI Attributable to Parent [Member]      
Beginning balance (1,866) (1,814) (1,536)
Other comprehensive income (loss) before reclassifications 208    
Amounts reclassified from Accumulated other comprehensive loss (24)    
Other comprehensive loss, net of tax 184    
Ending balance $ (1,682) $ (1,866) $ (1,814)
XML 99 R85.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Cost of sales                 $ 289,059 $ 235,388 $ 232,133
Other income (loss)                 328 953 4,383
Tax (expense) benefit                 (3,635) (6,584) (4,738)
Net income $ 2,271 $ 4,946 $ 2,131 $ 2,175 $ 5,221 $ 7,267 $ 5,998 $ 564 11,523 19,050 27,902
Revenue from Contract with Customer, Including Assessed Tax $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923 333,313 285,907 279,317
Reclassification out of Accumulated Other Comprehensive Income [Member]                      
Net income                 24 (259) (15)
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]                      
Cost of sales                 (7) (16) (11)
Other income (loss)                 110 46 (15)
Tax (expense) benefit                 (25) (8) 4
Net income                 78 22 (22)
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]                      
Tax (expense) benefit                 18 97 2
Net income                 (54) (281) 7
Revenue from Contract with Customer, Including Assessed Tax                 $ (72) $ (378) $ 5
XML 100 R86.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923 $ 333,313 $ 285,907 $ 279,317
Gross profit 13,578 12,363 9,538 8,775 12,363 15,619 12,958 9,579 44,254 50,519 47,184
Depreciation and amortization                 13,624 14,551 12,713
Capital expenditures                 13,262 14,013 8,585
Total assets 547,679       373,015       547,679 373,015  
Engineered Steel Pressure Pipe [Member]                      
Net sales 71,579 69,439 58,748 60,057 58,086 65,077 57,649 60,878 259,823 241,690  
Gross profit 8,668 8,844 6,615 7,154 10,907 13,917 10,704 8,765 31,281 44,293  
Precast Infrastructure and Engineered Systems [Member]                      
Net sales 30,968 15,204 15,064 12,254 11,295 12,555 12,322 8,045 73,490 44,217  
Gross profit 4,910 $ 3,519 $ 2,923 $ 1,621 1,456 $ 1,702 $ 2,254 $ 814 12,973 6,226  
Operating Segments [Member]                      
Depreciation and amortization                 13,262 14,153 12,363
Capital expenditures                 12,793 13,428 8,033
Total assets 537,446       327,445       537,446 327,445  
Operating Segments [Member] | Engineered Steel Pressure Pipe [Member]                      
Net sales                 259,823 241,690 279,317
Gross profit                 31,281 44,293 47,184
Depreciation and amortization                 9,524 10,746 12,363
Capital expenditures                 7,538 12,031 8,033
Total assets 308,819       249,680       308,819 249,680  
Operating Segments [Member] | Precast Infrastructure and Engineered Systems [Member]                      
Net sales                 73,490 44,217 0
Gross profit                 12,973 6,226 0
Depreciation and amortization                 3,738 3,407 0
Capital expenditures                 5,255 1,397 0
Total assets 228,627       77,765       228,627 77,765  
Corporate, Non-Segment [Member]                      
Depreciation and amortization                 362 398 350
Capital expenditures                 469 585 $ 552
Total assets $ 10,233       $ 45,570       $ 10,233 $ 45,570  
XML 101 R87.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Net sales $ 102,547 $ 84,643 $ 73,812 $ 72,311 $ 69,381 $ 77,632 $ 69,971 $ 68,923 $ 333,313 $ 285,907 $ 279,317
Gross profit 13,578 12,363 9,538 8,775 12,363 15,619 12,958 9,579 44,254 50,519 47,184
Net income $ 2,271 $ 4,946 $ 2,131 $ 2,175 $ 5,221 $ 7,267 $ 5,998 $ 564 $ 11,523 $ 19,050 $ 27,902
Basic (in dollars per share) $ 0.23 $ 0.50 $ 0.22 $ 0.22 $ 0.54 $ 0.74 $ 0.61 $ 0.06 $ 1.17 $ 1.95 $ 2.86
Diluted (in dollars per share) $ 0.23 $ 0.50 $ 0.21 $ 0.22 $ 0.53 $ 0.73 $ 0.61 $ 0.06 $ 1.16 $ 1.93 $ 2.85
Engineered Steel Pressure Pipe [Member]                      
Net sales $ 71,579 $ 69,439 $ 58,748 $ 60,057 $ 58,086 $ 65,077 $ 57,649 $ 60,878 $ 259,823 $ 241,690  
Gross profit 8,668 8,844 6,615 7,154 10,907 13,917 10,704 8,765 31,281 44,293  
Precast Infrastructure and Engineered Systems [Member]                      
Net sales 30,968 15,204 15,064 12,254 11,295 12,555 12,322 8,045 73,490 44,217  
Gross profit $ 4,910 $ 3,519 $ 2,923 $ 1,621 $ 1,456 $ 1,702 $ 2,254 $ 814 $ 12,973 $ 6,226  
XML 102 R88.htm IDEA: XBRL DOCUMENT v3.22.0.1
Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
SEC Schedule, 12-09, Allowance, Credit Loss [Member]      
Balance at Beginning of Period $ 767 $ 801 $ 660
Charged to Profit and Loss 653 430 312
Deduction from Reserves (917) (464) (171)
Balance at End of Period 503 767 801
SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]      
Balance at Beginning of Period 6,228 6,126 9,433
Charged to Profit and Loss 0 240 345
Deduction from Reserves (329) (138) (3,652)
Balance at End of Period $ 5,899 $ 6,228 $ 6,126
XML 103 nwpx20211231_10k_htm.xml IDEA: XBRL DOCUMENT 0001001385 2021-01-01 2021-12-31 0001001385 2021-06-30 0001001385 2022-03-04 0001001385 2020-01-01 2020-12-31 0001001385 2019-01-01 2019-12-31 0001001385 2021-12-31 0001001385 2020-12-31 0001001385 us-gaap:CommonStockMember 2018-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001001385 us-gaap:RetainedEarningsMember 2018-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001001385 2018-12-31 0001001385 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:CommonStockMember 2018-12-31 0001001385 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001001385 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:RetainedEarningsMember 2018-12-31 0001001385 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201409Member us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001001385 srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember us-gaap:AccountingStandardsUpdate201409Member 2018-12-31 0001001385 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-12-31 0001001385 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0001001385 us-gaap:CommonStockMember 2019-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001001385 us-gaap:RetainedEarningsMember 2019-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001001385 2019-12-31 0001001385 us-gaap:CommonStockMember 2020-01-01 2020-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-12-31 0001001385 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0001001385 us-gaap:CommonStockMember 2020-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001001385 us-gaap:RetainedEarningsMember 2020-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001001385 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001001385 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001001385 us-gaap:CommonStockMember 2021-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001001385 us-gaap:RetainedEarningsMember 2021-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001001385 nwpx:OutOfPeriodAdjustmentMember 2019-01-01 2019-03-31 0001001385 srt:MinimumMember us-gaap:LandImprovementsMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:LandImprovementsMember 2021-01-01 2021-12-31 0001001385 srt:MinimumMember us-gaap:BuildingMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:BuildingMember 2021-01-01 2021-12-31 0001001385 srt:MinimumMember us-gaap:LeaseholdImprovementsMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:LeaseholdImprovementsMember 2021-01-01 2021-12-31 0001001385 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2021-01-01 2021-12-31 0001001385 srt:MinimumMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember 2021-01-01 2021-12-31 0001001385 nwpx:AccruedLiabilityMember 2021-12-31 0001001385 nwpx:AccruedLiabilityMember 2020-12-31 0001001385 nwpx:OtherLongtermLiabilitiesMember 2021-12-31 0001001385 nwpx:OtherLongtermLiabilitiesMember 2020-12-31 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember 2021-10-05 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember us-gaap:CustomerRelationshipsMember 2021-10-05 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember us-gaap:TrademarksAndTradeNamesMember 2021-10-05 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember us-gaap:PatentsMember 2021-10-05 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember nwpx:BacklogMember 2021-10-05 2021-10-05 0001001385 nwpx:GenevaPipeCompanyIncMember 2021-10-05 2021-10-05 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember 2021-01-01 2021-12-31 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember 2020-01-01 2020-12-31 0001001385 nwpx:ParkEnvironmentalEquipmentLlcMember 2021-10-06 2021-12-31 0001001385 nwpx:GenevaPipeCompanyIncMember 2020-01-31 0001001385 nwpx:GenevaPipeCompanyIncMember 2020-01-31 2020-01-31 0001001385 nwpx:GenevaPipeCompanyIncMember 2020-04-01 2020-06-30 0001001385 nwpx:GenevaPipeCompanyIncMember us-gaap:CustomerRelationshipsMember 2020-01-31 2020-01-31 0001001385 nwpx:GenevaPipeCompanyIncMember us-gaap:TradeNamesMember 2020-01-31 2020-01-31 0001001385 nwpx:GenevaPipeCompanyIncMember nwpx:BacklogMember 2020-01-31 2020-01-31 0001001385 nwpx:GenevaPipeCompanyIncMember 2020-01-01 2020-12-31 0001001385 nwpx:GenevaPipeCompanyIncMember 2019-01-01 2019-12-31 0001001385 nwpx:ParkusaAndGenevaMember 2021-01-01 2021-12-31 0001001385 nwpx:ParkusaAndGenevaMember 2020-01-01 2020-12-31 0001001385 nwpx:ParkusaAndGenevaMember 2019-01-01 2019-12-31 0001001385 us-gaap:LandImprovementsMember 2021-12-31 0001001385 us-gaap:LandImprovementsMember 2020-12-31 0001001385 us-gaap:BuildingMember 2021-12-31 0001001385 us-gaap:BuildingMember 2020-12-31 0001001385 us-gaap:LeaseholdImprovementsMember 2021-12-31 0001001385 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001001385 us-gaap:MachineryAndEquipmentMember 2021-12-31 0001001385 us-gaap:MachineryAndEquipmentMember 2020-12-31 0001001385 nwpx:EquipmentUnderFinanceLeaseMember 2021-12-31 0001001385 nwpx:EquipmentUnderFinanceLeaseMember 2020-12-31 0001001385 us-gaap:ConstructionInProgressMember 2021-12-31 0001001385 us-gaap:ConstructionInProgressMember 2020-12-31 0001001385 country:MX 2021-12-31 0001001385 country:MX 2020-12-31 0001001385 us-gaap:CustomerRelationshipsMember 2021-12-31 0001001385 us-gaap:TrademarksAndTradeNamesMember 2021-12-31 0001001385 us-gaap:PatentsMember 2021-12-31 0001001385 nwpx:BacklogMember 2021-12-31 0001001385 us-gaap:OtherIntangibleAssetsMember 2021-12-31 0001001385 us-gaap:CustomerRelationshipsMember 2020-12-31 0001001385 us-gaap:TrademarksAndTradeNamesMember 2020-12-31 0001001385 us-gaap:OtherIntangibleAssetsMember 2020-12-31 0001001385 nwpx:WellsFargoBankNAMember 2021-10-22 0001001385 nwpx:WellsFargoBankNAMember 2021-10-22 2021-10-22 0001001385 nwpx:WellsFargoBankNAMember 2021-12-31 0001001385 us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember 2020-12-31 0001001385 nwpx:WellsFargoBankNAMember 2020-12-31 0001001385 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember us-gaap:LondonInterbankOfferedRateLIBORMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember us-gaap:LondonInterbankOfferedRateLIBORMember 2021-01-01 2021-12-31 0001001385 us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember 2021-12-31 0001001385 nwpx:PropertyAndEquipmentMember 2021-12-31 0001001385 nwpx:PropertyAndEquipmentMember 2020-12-31 0001001385 us-gaap:OtherLiabilitiesMember 2021-12-31 0001001385 us-gaap:FairValueInputsLevel1Member 2021-12-31 0001001385 us-gaap:FairValueInputsLevel2Member 2021-12-31 0001001385 us-gaap:FairValueInputsLevel3Member 2021-12-31 0001001385 us-gaap:FairValueInputsLevel1Member 2020-12-31 0001001385 us-gaap:FairValueInputsLevel2Member 2020-12-31 0001001385 us-gaap:FairValueInputsLevel3Member 2020-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:DesignatedAsHedgingInstrumentMember 2021-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2021-01-01 2021-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2020-01-01 2020-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-01-01 2019-12-31 0001001385 us-gaap:ForeignExchangeForwardMember 2021-01-01 2021-12-31 0001001385 us-gaap:ForeignExchangeForwardMember 2021-12-31 0001001385 nwpx:DefinedContributionPlanMember 2021-01-01 2021-12-31 0001001385 nwpx:DefinedContributionPlanMember 2019-01-01 2019-12-31 0001001385 nwpx:DefinedContributionPlanMember 2020-01-01 2020-12-31 0001001385 nwpx:ParkusaDefinedContributionPlanMember 2021-10-06 2021-12-31 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2021-01-01 2021-12-31 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2021-12-31 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2020-12-31 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2020-01-01 2020-12-31 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2019-01-01 2019-12-31 0001001385 nwpx:NonqualifiedRetirementSavingsPlanMember 2021-01-01 2021-12-31 0001001385 nwpx:OtherLongtermLiabilitiesMember nwpx:NonqualifiedRetirementSavingsPlanMember 2021-12-31 0001001385 nwpx:OtherLongtermLiabilitiesMember nwpx:NonqualifiedRetirementSavingsPlanMember 2020-12-31 0001001385 us-gaap:CostOfSalesMember 2021-01-01 2021-12-31 0001001385 us-gaap:CostOfSalesMember 2020-01-01 2020-12-31 0001001385 us-gaap:CostOfSalesMember 2019-01-01 2019-12-31 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-12-31 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2019-01-01 2019-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2020-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2021-01-01 2021-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2021-12-31 0001001385 us-gaap:PerformanceSharesMember 2021-12-31 0001001385 us-gaap:PerformanceSharesMember 2019-01-01 2020-12-31 0001001385 us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001001385 srt:MinimumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001001385 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001001385 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0001001385 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2020-01-01 2020-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2019-01-01 2019-12-31 0001001385 srt:DirectorMember nwpx:StockAwardsMember 2021-01-01 2021-12-31 0001001385 srt:DirectorMember nwpx:StockAwardsMember 2020-01-01 2020-12-31 0001001385 srt:DirectorMember nwpx:StockAwardsMember 2019-01-01 2019-12-31 0001001385 nwpx:LowerWillametteGroupMember 2017-01-31 0001001385 nwpx:PortlandHarborSuperfundSiteMember 2017-01-01 2017-01-31 0001001385 nwpx:PortlandHarborSuperfundSiteMember 2017-01-31 0001001385 nwpx:PortlandHarborNaturalreSourcesTrusteeCouncilMember 2014-06-30 0001001385 us-gaap:FireMember 2020-01-01 2020-12-31 0001001385 us-gaap:FireMember 2019-01-01 2019-12-31 0001001385 country:US 2021-01-01 2021-12-31 0001001385 country:US 2020-01-01 2020-12-31 0001001385 country:US 2019-01-01 2019-12-31 0001001385 country:CA 2021-01-01 2021-12-31 0001001385 country:CA 2020-01-01 2020-12-31 0001001385 country:CA 2019-01-01 2019-12-31 0001001385 nwpx:OneSppCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001001385 nwpx:OneSppCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001001385 nwpx:OneSppCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0001001385 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0001001385 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001001385 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001001385 us-gaap:TransferredOverTimeMember 2021-01-01 2021-12-31 0001001385 us-gaap:TransferredOverTimeMember 2020-01-01 2020-12-31 0001001385 us-gaap:TransferredOverTimeMember 2019-01-01 2019-12-31 0001001385 us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0001001385 us-gaap:TransferredAtPointInTimeMember 2020-01-01 2020-12-31 0001001385 us-gaap:TransferredAtPointInTimeMember 2019-01-01 2019-12-31 0001001385 2022-01-01 2021-12-31 0001001385 2023-01-01 2021-12-31 0001001385 us-gaap:OtherAssetsMember 2021-12-31 0001001385 us-gaap:OtherAssetsMember 2020-12-31 0001001385 us-gaap:DomesticCountryMember 2021-12-31 0001001385 srt:MinimumMember us-gaap:DomesticCountryMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:DomesticCountryMember 2021-01-01 2021-12-31 0001001385 us-gaap:DomesticCountryMember us-gaap:CapitalLossCarryforwardMember 2021-12-31 0001001385 us-gaap:DomesticCountryMember us-gaap:CapitalLossCarryforwardMember 2021-01-01 2021-12-31 0001001385 us-gaap:StateAndLocalJurisdictionMember 2021-12-31 0001001385 srt:MinimumMember us-gaap:StateAndLocalJurisdictionMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:StateAndLocalJurisdictionMember 2021-01-01 2021-12-31 0001001385 us-gaap:StateAndLocalJurisdictionMember 2021-01-01 2021-12-31 0001001385 us-gaap:ForeignCountryMember 2021-12-31 0001001385 srt:MinimumMember us-gaap:ForeignCountryMember 2021-01-01 2021-12-31 0001001385 srt:MaximumMember us-gaap:ForeignCountryMember 2021-01-01 2021-12-31 0001001385 2017-01-01 2017-12-31 0001001385 2019-01-01 2019-01-01 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2020-12-31 0001001385 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-12-31 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2021-01-01 2021-12-31 0001001385 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-01-01 2021-12-31 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2021-12-31 0001001385 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2021-01-01 2021-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2020-01-01 2020-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2019-01-01 2019-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-01-01 2021-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2020-01-01 2020-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2019-01-01 2019-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2021-01-01 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2020-01-01 2020-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2019-01-01 2019-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-01-01 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-01-01 2020-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2019-01-01 2019-12-31 0001001385 us-gaap:OperatingSegmentsMember 2021-01-01 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember 2020-01-01 2020-12-31 0001001385 us-gaap:OperatingSegmentsMember 2019-01-01 2019-12-31 0001001385 us-gaap:CorporateNonSegmentMember 2021-01-01 2021-12-31 0001001385 us-gaap:CorporateNonSegmentMember 2020-01-01 2020-12-31 0001001385 us-gaap:CorporateNonSegmentMember 2019-01-01 2019-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2020-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-12-31 0001001385 us-gaap:OperatingSegmentsMember 2021-12-31 0001001385 us-gaap:OperatingSegmentsMember 2020-12-31 0001001385 us-gaap:CorporateNonSegmentMember 2021-12-31 0001001385 us-gaap:CorporateNonSegmentMember 2020-12-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2021-01-01 2021-03-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2021-04-01 2021-06-30 0001001385 nwpx:EngineeredSteelPressurePipeMember 2021-07-01 2021-09-30 0001001385 nwpx:EngineeredSteelPressurePipeMember 2021-10-01 2021-12-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2021-01-01 2021-12-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-01-01 2021-03-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-04-01 2021-06-30 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-07-01 2021-09-30 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-10-01 2021-12-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2021-01-01 2021-12-31 0001001385 2021-01-01 2021-03-31 0001001385 2021-04-01 2021-06-30 0001001385 2021-07-01 2021-09-30 0001001385 2021-10-01 2021-12-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2020-01-01 2020-03-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2020-04-01 2020-06-30 0001001385 nwpx:EngineeredSteelPressurePipeMember 2020-07-01 2020-09-30 0001001385 nwpx:EngineeredSteelPressurePipeMember 2020-10-01 2020-12-31 0001001385 nwpx:EngineeredSteelPressurePipeMember 2020-01-01 2020-12-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-01-01 2020-03-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-04-01 2020-06-30 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-07-01 2020-09-30 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-10-01 2020-12-31 0001001385 nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2020-01-01 2020-12-31 0001001385 2020-01-01 2020-03-31 0001001385 2020-04-01 2020-06-30 0001001385 2020-07-01 2020-09-30 0001001385 2020-10-01 2020-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2020-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2021-01-01 2021-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2021-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2020-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2021-01-01 2021-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2021-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2019-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2020-01-01 2020-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2019-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2020-01-01 2020-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2018-12-31 0001001385 us-gaap:AllowanceForCreditLossMember 2019-01-01 2019-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2018-12-31 0001001385 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2019-01-01 2019-12-31 iso4217:USD shares thunderdome:item iso4217:USD shares pure utr:Y utr:M iso4217:CAD 0001001385 Northwest Pipe Co. false --12-31 FY 2021 503000 767000 0.01 0.01 10000000 10000000 0 0 0 0 0.01 0.01 15000000 15000000 9870567 9870567 9805437 9805437 5000 20000 8000 9000 102000 41000 79000 153000 286000 1700000 0 0 24100000 19500000 0.50 0.50 2 0 0 0.070 1 0 0 0 0 0 0 P1Y P1Y 2023 2026 2024 2022 2038 2022 2023 2030 0 577000 679000 61000 20000 10-K true 2021-12-31 false 0-27140 OR 93-0557988 201 NE Park Plaza Drive, Suite 100 Vancouver WA 98684 360 397‑6250 Common Stock, par value $0.01 per share NWPX NASDAQ No No Yes Yes Accelerated Filer true false true false 241811384 9882733 Moss Adams LLP Portland, Oregon 659 333313000 285907000 279317000 289059000 235388000 232133000 44254000 50519000 47184000 28222000 24954000 18495000 16032000 25565000 28689000 328000 953000 4383000 0 49000 40000 1202000 933000 472000 15158000 25634000 32640000 3635000 6584000 4738000 11523000 19050000 27902000 1.17 1.95 2.86 1.16 1.93 2.85 9854000 9788000 9741000 9928000 9873000 9779000 11523000 19050000 27902000 -308000 25000 -16000 -124000 -27000 -59000 184000 -52000 -43000 11707000 18998000 27859000 2997000 37927000 52664000 42680000 107170000 76985000 59651000 29177000 5744000 5194000 228226000 191963000 121266000 110184000 98507000 30813000 53684000 22985000 39376000 10518000 6620000 6552000 547679000 373015000 0 7701000 32267000 12993000 24498000 16814000 2623000 6189000 4704000 2204000 64092000 45901000 86761000 0 0 5888000 93725000 27911000 10984000 12481000 8734000 11208000 264296000 103389000 0 0 99000 98000 125062000 123013000 159904000 148381000 -1682000 -1866000 283383000 269626000 547679000 373015000 9735055 97000 118835000 101194000 -1536000 218590000 0 0 235000 -235000 0 0 0 27902000 0 27902000 -0 -0 -0 -16000 -16000 0 0 0 -59000 -59000 11924 -0 -0 -0 -0 -0 0 1709000 0 0 1709000 9746979 97000 120544000 129331000 -1814000 248158000 0 0 19050000 0 19050000 -0 -0 -0 25000 25000 0 0 0 -27000 -27000 58458 -1000 619000 -0 -0 618000 0 3088000 0 0 3088000 9805437 98000 123013000 148381000 -1866000 269626000 0 0 11523000 0 11523000 -0 -0 -0 -308000 -308000 0 0 0 -124000 -124000 65130 -1000 1167000 -0 -0 1166000 0 3216000 0 0 3216000 9870567 99000 125062000 159904000 -1682000 283383000 11523000 19050000 27902000 11482000 12344000 12391000 2142000 2207000 322000 180000 2908000 4169000 -0 1147000 1641000 3216000 3088000 1709000 -193000 -1889000 -856000 -392000 -1563000 3435000 33752000 -8109000 8379000 17650000 -7153000 -8649000 -6727000 -2514000 -2454000 16783000 -3501000 -4675000 -7047000 -90000 2564000 -5811000 56087000 42886000 87215000 48728000 -0 13262000 14013000 8585000 -0 329000 -0 0 1637000 2123000 -325000 -0 -39000 -100152000 -61433000 -6423000 122272000 41377000 41744000 35511000 41377000 53208000 0 15879000 0 13762000 2117000 -0 415000 420000 434000 385000 465000 228000 1166000 618000 -0 71033000 12259000 -12126000 -34930000 6913000 24337000 37927000 31014000 6677000 2997000 37927000 31014000 339000 599000 369000 2481000 1397000 -55000 788000 325000 719000 911000 0 0 16043000 4471000 1335000 853000 507000 819000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">1.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>ORGANIZATION:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer for water related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures high-quality precast and reinforced concrete products; water, wastewater, and stormwater equipment; steel casing pipe, bar-wrapped concrete cylinder pipe, and <em style="font: inherit;">one</em> of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 2 13 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">2.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Basis of Consolidation and Presentation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Effective in the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2021,</em> as a result of the acquisition of Park Environmental Equipment, LLC (“ParkUSA”), the Company revised its historical <em style="font: inherit;">one</em> segment position and identified the new operating segments, SPP and Precast, to align with changes made in its internal management structure and its reporting structure of financial information used to assess performance and allocate resources. See Note <em style="font: inherit;">17,</em> “Segment Information” for detailed descriptions of these segments. As a result, certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Immaterial Correction of Error</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recorded revenue of $1.2 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">twelve</em> months ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2018,</em> which should have been recorded in the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2019.</em> The misstatement in the timing of revenue recognition was due to an error in the measurement of costs incurred to date relative to estimated total direct costs at an acquired Ameron Water Transmission Group, LLC facility. Management concluded that this out of period adjustment was <em style="font: inherit;">not</em> material to the consolidated financial results for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Use of Estimates</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The preparation of the Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, the Company evaluates all of its estimates, including those related to business combinations, allowance for doubtful accounts, inventories, property and equipment (including depreciation and valuation), goodwill, intangible assets, revenue recognition, share-based compensation, income taxes, and litigation and other contingencies. Actual results <em style="font: inherit;"> may </em>differ from these estimates under different assumptions or conditions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Business Combinations</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related transaction costs are expensed as incurred.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances <em style="font: inherit;"> may </em>occur which <em style="font: inherit;"> may </em>affect the accuracy or validity of such estimates. As a result, during the measurement period, which <em style="font: inherit;"> may </em>be up to <em style="font: inherit;">one</em> year from the acquisition date, the Company <em style="font: inherit;"> may </em>record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain. Upon the conclusion of the measurement period or final determination of the fair value of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company’s Consolidated Statements of Operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Cash and Cash Equivalents</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cash and cash equivalents consist of cash and short-term, highly-liquid investments with maturities of <em style="font: inherit;">three</em> months or less when purchased. At times, the Company will have outstanding checks in excess of related bank balances (a book overdraft). If this occurs, the amount of the book overdraft will be reclassified to accounts payable, and changes in the book overdraft will be reflected as a component of operating activities in the Consolidated Statements of Cash Flows. The Company had a book overdraft of $4.1 million as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and no book overdraft as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Receivables and Allowance for Doubtful Accounts</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Trade receivables are reported on the Consolidated Balance Sheets net of doubtful accounts. The Company maintains allowances for estimated losses resulting from the inability of its customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The Company will write down or write off a receivable account once the account is deemed uncollectible. If the customers’ financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances <em style="font: inherit;"> may </em>need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Contract Assets and Liabilities</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Contract assets primarily represent revenue earned over time but <em style="font: inherit;">not</em> yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within <em style="font: inherit;">30</em> days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Inventories</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Inventories are stated at the lower of cost and net realizable value. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out method of accounting.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Property and Equipment</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Property and equipment are recorded at cost. Maintenance and repairs are expensed as incurred, and costs of new equipment and buildings, as well as costs of expansions or refurbishment of existing equipment and buildings, including interest where applicable, are capitalized. Depreciation and amortization are determined by the units of production method for most equipment and by the straight-line method for the remaining assets based on the estimated useful lives of the related assets. Estimated useful lives by major classes of property and equipment are as follows: Land improvements (15 – 30 years); Buildings (20 – 40 years); Leasehold improvements (5 – 30 years); and Machinery and equipment (3 – 30 years). Depreciation expense calculated under the units of production method <em style="font: inherit;"> may </em>be less than, equal to, or greater than depreciation expense calculated under the straight-line method due to variances in production levels. Upon disposal, costs and related accumulated depreciation of the assets are removed from the accounts and resulting gains or losses are reflected in operating expenses. The Company leases certain equipment under long-term finance leases, which are being amortized on a straight-line basis over the shorter of its useful life or the lease term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company assesses impairment of property and equipment whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. The asset group is the lowest level at which identifiable cash flows are largely independent of the cash flows of other groups of assets or liabilities. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about the expected future operating performance of the Company.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b/></p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b>Leases</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company adopted Accounting Standards Codification (“ASC”) Topic <em style="font: inherit;">842,</em> “Leases” on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2019</em> using the modified retrospective transition method which allowed it to continue to apply legacy guidance for periods prior to <em style="font: inherit;">2019.</em> The Company elected the package of transition practical expedients which, among other things, allowed it to keep the historical lease classifications and <em style="font: inherit;">not</em> reassess the lease classification for any existing leases as of the date of adoption. The Company also made an accounting policy election to apply the short-term lease exception, which allows it to keep leases with an initial term of <em style="font: inherit;">twelve</em> months or less off the balance sheet.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has entered into various equipment and property leases. Certain lease agreements include renewals and/or purchase options set to expire at various dates, and certain lease agreements include rental payments adjusted periodically for inflation. The Company’s lease agreements do <em style="font: inherit;">not</em> contain any material residual value guarantees or material restrictive covenants.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company determines if an arrangement is a lease at inception. Leases with an initial term of <em style="font: inherit;">twelve</em> months or less are <em style="font: inherit;">not</em> recorded on the balance sheet; costs for these leases are recognized on a straight-line basis over the lease term. Right-of-use assets and lease liabilities are recognized based on the present value of lease payments over the lease term at commencement date. Because most of the Company’s leases do <em style="font: inherit;">not</em> provide an implicit rate of return, the Company uses its revolving loan borrowing rate in determining the present value of lease payments. Some of the Company’s lease agreements contain non-lease components, which are accounted for separately.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Goodwill</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill represents the excess of the purchase price over the fair values of the assets and liabilities assumed in conjunction with an acquisition. Goodwill is reviewed for impairment annually as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> or whenever events occur or circumstances change that indicate goodwill <em style="font: inherit;"> may </em>be impaired. In testing goodwill for impairment, the Company has the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-<em style="font: inherit;">not</em> (more than <em style="font: inherit;">50%</em>) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, the Company evaluates factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. If the qualitative assessment indicates that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the reporting unit is less than its carrying amount, or if the Company chooses <em style="font: inherit;">not</em> to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, <em style="font: inherit;">not</em> to exceed the total amount of goodwill allocated to the reporting unit.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Intangible Assets</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives ranging from 7 months to 21 years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Workers Compensation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company is self-insured and maintains high deductible policies for losses and liabilities associated with workers compensation claims. Losses are accrued based upon the Company’s estimates of the aggregate liability for claims incurred using historical experience and certain actuarial assumptions followed in the insurance industry. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> workers compensation reserves recorded were $1.7 million, of which $0.4 million and $0.2 million, respectively, were included in Accrued liabilities and $1.3 million and $1.5 million, respectively, were included in Other long-term liabilities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Accrued Liabilities</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued liabilities consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued bonus</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,747</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued vacation payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,900</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,328</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Workers compensation reserves</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,977</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Derivative Instruments</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company conducts business in various foreign countries and, from time to time, settles transactions in foreign currencies. The Company has established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with the Company’s strategy for financial risk management. The Company utilizes cash flow hedge accounting treatment for qualifying foreign currency forward contracts. Instruments that do <em style="font: inherit;">not</em> qualify for cash flow hedge accounting treatment are remeasured at fair value on each balance sheet date and resulting gains and losses are recognized in earnings.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Pension Benefits</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has <em style="font: inherit;">two</em> defined benefit pension plans that have been frozen since <em style="font: inherit;">2001.</em> The Company funds these plans to cover current plan costs plus amortization of the unfunded plan liabilities. To record these obligations, management uses estimates relating to investment returns, mortality, and discount rates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Foreign Currency Transactions</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The functional currency of the Company, including its Mexican operations, is the United States dollar. Monetary assets and liabilities are remeasured at current exchange rates and non-monetary assets and liabilities are remeasured at historical exchange rates. Revenue and expenses related to monetary assets and liabilities are remeasured at average exchange rates and at historical exchange rates for the revenue and expenses related to non-monetary assets and liabilities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction gains (losses) from foreign currency forward contracts designated as cash flow hedges are included in Accumulated other comprehensive loss as a separate component of Stockholders’ equity. For the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> net foreign currency transaction gains (losses) of $(0.5) million, $(1.1) million, and $0.5 million, respectively, were recognized in earnings.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Revenue Recognition</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is <em style="font: inherit;">not</em> separately identifiable from other promises in the contract and, therefore, is <em style="font: inherit;">not</em> distinct.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have <em style="font: inherit;">no</em> alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements <em style="font: inherit;"> may </em>result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that <em style="font: inherit;"> may </em>affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do <em style="font: inherit;">not</em> contain significant financing.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company does <em style="font: inherit;">not</em> recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Share-based Compensation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of restricted stock units (“RSUs”) and performance share awards (“PSAs”) using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately <em style="font: inherit;">not</em> met.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Income Taxes</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future income tax consequences of events that have been recognized in the Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of the provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. The provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company records income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. The Company assesses income tax positions and records income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-<em style="font: inherit;">not</em> that an income tax benefit will be sustained, the Company has recorded the largest amount of income tax benefit with a greater than <em style="font: inherit;">50%</em> likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is <em style="font: inherit;">not</em> more-likely-than-<em style="font: inherit;">not</em> that an income tax benefit will be sustained, <em style="font: inherit;">no</em> income tax benefit has been recognized in the Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Accumulated Other Comprehensive Loss</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Accumulated other comprehensive loss includes unrealized gains and losses on derivative instruments related to the effective portion of cash flow hedges and changes in the funded status of the defined benefit pension plans, both net of the related income tax effect.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Net Income per Share</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,741</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effect of potentially dilutive common shares <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,928</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,873</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,779</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per common share</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">There were no antidilutive shares for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020</em> or <em style="font: inherit;">2019.</em></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b/></p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b>Concentrations of Credit Risk</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Financial instruments, which potentially subject the Company to concentrations of credit risk, consist principally of trade receivables, foreign currency forward contracts, and deferred compensation plan assets. Trade receivables generally represent a large number of customers, including municipalities, manufacturers, distributors, and contractors, dispersed across a wide geographic base. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> no customer had a balance in excess of <em style="font: inherit;">10%</em> of total accounts receivable, and one SPP customer had a balance in excess of <em style="font: inherit;">10%</em> of total accounts receivable as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020.</em> Foreign currency forward contracts are with a high quality financial institution. The Company’s deferred compensation plan assets, included in Other assets, are invested in a diversified portfolio of stock and bond mutual funds.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b/></p><p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Recent Accounting and Reporting Developments</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Accounting Changes</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> August 2018, </em>the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) <em style="font: inherit;">No.</em> <em style="font: inherit;">2018‑14,</em> “Compensation—Retirement Benefits—Defined Benefit Plans—General (Topic <em style="font: inherit;">715‑20</em>): Disclosure Framework—Changes to the Disclosure Requirements for Defined Benefit Plans” (“ASU <em style="font: inherit;">2018‑14”</em>), which modifies the disclosure requirements for employers that sponsor defined benefit pension or other postretirement plans by removing and adding certain disclosures for these plans. The eliminated disclosures include the amounts in accumulated other comprehensive income expected to be recognized in net periodic benefit costs over the next fiscal year and the amount and timing of plan assets expected to be returned to the employer. The new disclosures include an explanation of significant gains and losses related to changes in benefit obligations. The Company adopted ASU <em style="font: inherit;">2018‑14</em> on a retrospective basis on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021</em> and the impact was <em style="font: inherit;">not</em> material to the Company’s financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> December 2019, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2019‑12,</em> “Income Taxes (Topic <em style="font: inherit;">740</em>): Simplifying the Accounting for Income Taxes” (“ASU <em style="font: inherit;">2019‑12”</em>), which simplifies the accounting for income taxes by removing certain exceptions to the general principles in ASC Topic <em style="font: inherit;">740,</em> “Income Taxes” (“Topic <em style="font: inherit;">740”</em>). ASU <em style="font: inherit;">2019‑12</em> also improves consistent application of and simplifies U.S. GAAP for other areas of Topic <em style="font: inherit;">740</em> by clarifying and amending existing guidance. The Company adopted ASU <em style="font: inherit;">2019‑12</em> on a prospective basis on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021</em> and the impact was <em style="font: inherit;">not</em> material to the Company’s financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Recent Accounting Standards</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2020, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2020‑04,</em> “Reference Rate Reform (Topic <em style="font: inherit;">848</em>): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,” which provides optional expedients and exceptions for applying U.S. GAAP to contracts, hedging relationships, and other transactions affected by the discontinuation of the London Interbank Offered Rate (“LIBOR”) or by another reference rate expected to be discontinued. The guidance was effective beginning <em style="font: inherit;"> March </em><em style="font: inherit;">12,</em> <em style="font: inherit;">2020</em> and can be applied prospectively through <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em> In <em style="font: inherit;"> January 2021, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2021‑01,</em> “Reference Rate Reform - Scope,” which clarified the scope and application of the original guidance. The Company will adopt these standards when LIBOR is discontinued and does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> October 2021, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2021‑08,</em> “Business Combinations (Topic <em style="font: inherit;">805</em>): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU <em style="font: inherit;">2021‑08”</em>) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic <em style="font: inherit;">606,</em> “Revenue from Contracts with Customers,” as if it had originated the contracts. ASU <em style="font: inherit;">2021‑08</em> is effective for the Company beginning <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2023,</em> including interim periods in <em style="font: inherit;">2023,</em> with early adoption permitted. The Company does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Basis of Consolidation and Presentation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Effective in the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2021,</em> as a result of the acquisition of Park Environmental Equipment, LLC (“ParkUSA”), the Company revised its historical <em style="font: inherit;">one</em> segment position and identified the new operating segments, SPP and Precast, to align with changes made in its internal management structure and its reporting structure of financial information used to assess performance and allocate resources. See Note <em style="font: inherit;">17,</em> “Segment Information” for detailed descriptions of these segments. As a result, certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Immaterial Correction of Error</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recorded revenue of $1.2 million during the <em style="font: inherit;">three</em> and <em style="font: inherit;">twelve</em> months ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2018,</em> which should have been recorded in the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2019.</em> The misstatement in the timing of revenue recognition was due to an error in the measurement of costs incurred to date relative to estimated total direct costs at an acquired Ameron Water Transmission Group, LLC facility. Management concluded that this out of period adjustment was <em style="font: inherit;">not</em> material to the consolidated financial results for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> -1200000 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Use of Estimates</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The preparation of the Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, the Company evaluates all of its estimates, including those related to business combinations, allowance for doubtful accounts, inventories, property and equipment (including depreciation and valuation), goodwill, intangible assets, revenue recognition, share-based compensation, income taxes, and litigation and other contingencies. Actual results <em style="font: inherit;"> may </em>differ from these estimates under different assumptions or conditions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Business Combinations</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Business combinations are accounted for under the acquisition method which requires identifiable assets acquired and liabilities assumed in the business acquired be recognized and measured at fair value on the acquisition date, which is the date that the acquirer obtains control of the acquired business. The amount by which the fair value of consideration transferred as the purchase price exceeds the net fair value of assets acquired and liabilities assumed is recorded as goodwill. The amount by which the net fair value of assets acquired and liabilities assumed exceeds the fair value of consideration transferred as the purchase price is recorded as a bargain purchase gain. Acquisition-related transaction costs are expensed as incurred.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">These estimates are inherently uncertain and unpredictable. In addition, unanticipated events and circumstances <em style="font: inherit;"> may </em>occur which <em style="font: inherit;"> may </em>affect the accuracy or validity of such estimates. As a result, during the measurement period, which <em style="font: inherit;"> may </em>be up to <em style="font: inherit;">one</em> year from the acquisition date, the Company <em style="font: inherit;"> may </em>record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill or bargain purchase gain. Upon the conclusion of the measurement period or final determination of the fair value of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to the Company’s Consolidated Statements of Operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Cash and Cash Equivalents</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cash and cash equivalents consist of cash and short-term, highly-liquid investments with maturities of <em style="font: inherit;">three</em> months or less when purchased. At times, the Company will have outstanding checks in excess of related bank balances (a book overdraft). If this occurs, the amount of the book overdraft will be reclassified to accounts payable, and changes in the book overdraft will be reflected as a component of operating activities in the Consolidated Statements of Cash Flows. The Company had a book overdraft of $4.1 million as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and no book overdraft as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 4100000 0 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Receivables and Allowance for Doubtful Accounts</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Trade receivables are reported on the Consolidated Balance Sheets net of doubtful accounts. The Company maintains allowances for estimated losses resulting from the inability of its customers to make required payments or from contract disputes. The amounts of such allowances are based on historical experience and management’s judgment. The Company will write down or write off a receivable account once the account is deemed uncollectible. If the customers’ financial conditions were to deteriorate resulting in their inability to make payments, or if contract disputes were to escalate, additional allowances <em style="font: inherit;"> may </em>need to be recorded which would result in additional expenses being recorded for the period in which such determination was made.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Contract Assets and Liabilities</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Contract assets primarily represent revenue earned over time but <em style="font: inherit;">not</em> yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within <em style="font: inherit;">30</em> days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Inventories</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Inventories are stated at the lower of cost and net realizable value. The cost of raw material inventories of steel is either on a specific identification basis or on an average cost basis. The cost of materially all other raw material inventories, as well as work-in-process and supplies, is on an average cost basis. The cost of finished goods uses the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out method of accounting.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Property and Equipment</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Property and equipment are recorded at cost. Maintenance and repairs are expensed as incurred, and costs of new equipment and buildings, as well as costs of expansions or refurbishment of existing equipment and buildings, including interest where applicable, are capitalized. Depreciation and amortization are determined by the units of production method for most equipment and by the straight-line method for the remaining assets based on the estimated useful lives of the related assets. Estimated useful lives by major classes of property and equipment are as follows: Land improvements (15 – 30 years); Buildings (20 – 40 years); Leasehold improvements (5 – 30 years); and Machinery and equipment (3 – 30 years). Depreciation expense calculated under the units of production method <em style="font: inherit;"> may </em>be less than, equal to, or greater than depreciation expense calculated under the straight-line method due to variances in production levels. Upon disposal, costs and related accumulated depreciation of the assets are removed from the accounts and resulting gains or losses are reflected in operating expenses. The Company leases certain equipment under long-term finance leases, which are being amortized on a straight-line basis over the shorter of its useful life or the lease term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company assesses impairment of property and equipment whenever changes in circumstances indicate that the carrying values of the asset or asset group(s) <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. The asset group is the lowest level at which identifiable cash flows are largely independent of the cash flows of other groups of assets or liabilities. The recoverable value of a long-lived asset group is determined by estimating future undiscounted cash flows using assumptions about the expected future operating performance of the Company.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> P15Y P30Y P20Y P40Y P5Y P30Y P3Y P30Y <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b>Leases</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company adopted Accounting Standards Codification (“ASC”) Topic <em style="font: inherit;">842,</em> “Leases” on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2019</em> using the modified retrospective transition method which allowed it to continue to apply legacy guidance for periods prior to <em style="font: inherit;">2019.</em> The Company elected the package of transition practical expedients which, among other things, allowed it to keep the historical lease classifications and <em style="font: inherit;">not</em> reassess the lease classification for any existing leases as of the date of adoption. The Company also made an accounting policy election to apply the short-term lease exception, which allows it to keep leases with an initial term of <em style="font: inherit;">twelve</em> months or less off the balance sheet.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has entered into various equipment and property leases. Certain lease agreements include renewals and/or purchase options set to expire at various dates, and certain lease agreements include rental payments adjusted periodically for inflation. The Company’s lease agreements do <em style="font: inherit;">not</em> contain any material residual value guarantees or material restrictive covenants.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company determines if an arrangement is a lease at inception. Leases with an initial term of <em style="font: inherit;">twelve</em> months or less are <em style="font: inherit;">not</em> recorded on the balance sheet; costs for these leases are recognized on a straight-line basis over the lease term. Right-of-use assets and lease liabilities are recognized based on the present value of lease payments over the lease term at commencement date. Because most of the Company’s leases do <em style="font: inherit;">not</em> provide an implicit rate of return, the Company uses its revolving loan borrowing rate in determining the present value of lease payments. Some of the Company’s lease agreements contain non-lease components, which are accounted for separately.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Goodwill</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill represents the excess of the purchase price over the fair values of the assets and liabilities assumed in conjunction with an acquisition. Goodwill is reviewed for impairment annually as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> or whenever events occur or circumstances change that indicate goodwill <em style="font: inherit;"> may </em>be impaired. In testing goodwill for impairment, the Company has the option to perform a qualitative assessment to determine whether the existence of events or circumstances indicate that it is more-likely-than-<em style="font: inherit;">not</em> (more than <em style="font: inherit;">50%</em>) that the fair value of a reporting unit is less than its carrying amount. When performing a qualitative assessment, the Company evaluates factors such as industry and market conditions, cost factors, overall financial performance, and other relevant entity specific events and changes. If the qualitative assessment indicates that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the reporting unit is less than its carrying amount, or if the Company chooses <em style="font: inherit;">not</em> to perform the qualitative assessment, then a quantitative assessment is performed to determine the reporting unit’s fair value. If the reporting unit’s carrying value exceeds its fair value, then an impairment loss is recognized for the amount of the excess of the carrying amount over the reporting unit’s fair value, <em style="font: inherit;">not</em> to exceed the total amount of goodwill allocated to the reporting unit.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Intangible Assets</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Intangible assets consist primarily of customer relationships, trade names and trademarks, patents, and backlog recorded as the result of acquisition activity. Intangible assets are amortized using the straight-line method over estimated useful lives ranging from 7 months to 21 years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> P7M P21Y <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Workers Compensation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company is self-insured and maintains high deductible policies for losses and liabilities associated with workers compensation claims. Losses are accrued based upon the Company’s estimates of the aggregate liability for claims incurred using historical experience and certain actuarial assumptions followed in the insurance industry. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> workers compensation reserves recorded were $1.7 million, of which $0.4 million and $0.2 million, respectively, were included in Accrued liabilities and $1.3 million and $1.5 million, respectively, were included in Other long-term liabilities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 1700000 400000 200000 1300000 1500000 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Accrued Liabilities</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued liabilities consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued bonus</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,747</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued vacation payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,900</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,328</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Workers compensation reserves</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,977</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Accrued liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued bonus</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,747</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued vacation payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,900</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,328</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">375</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Workers compensation reserves</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,977</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24,498</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 3716000 3747000 2900000 2328000 661000 1150000 475000 375000 366000 237000 16380000 8977000 24498000 16814000 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Derivative Instruments</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company conducts business in various foreign countries and, from time to time, settles transactions in foreign currencies. The Company has established a program that utilizes foreign currency forward contracts to offset the risk associated with the effects of certain foreign currency exposures, typically arising from sales contracts denominated in Canadian currency. Foreign currency forward contracts are consistent with the Company’s strategy for financial risk management. The Company utilizes cash flow hedge accounting treatment for qualifying foreign currency forward contracts. Instruments that do <em style="font: inherit;">not</em> qualify for cash flow hedge accounting treatment are remeasured at fair value on each balance sheet date and resulting gains and losses are recognized in earnings.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Pension Benefits</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has <em style="font: inherit;">two</em> defined benefit pension plans that have been frozen since <em style="font: inherit;">2001.</em> The Company funds these plans to cover current plan costs plus amortization of the unfunded plan liabilities. To record these obligations, management uses estimates relating to investment returns, mortality, and discount rates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Foreign Currency Transactions</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The functional currency of the Company, including its Mexican operations, is the United States dollar. Monetary assets and liabilities are remeasured at current exchange rates and non-monetary assets and liabilities are remeasured at historical exchange rates. Revenue and expenses related to monetary assets and liabilities are remeasured at average exchange rates and at historical exchange rates for the revenue and expenses related to non-monetary assets and liabilities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Transaction gains (losses) from foreign currency forward contracts designated as cash flow hedges are included in Accumulated other comprehensive loss as a separate component of Stockholders’ equity. For the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> net foreign currency transaction gains (losses) of $(0.5) million, $(1.1) million, and $0.5 million, respectively, were recognized in earnings.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> -500000 -1100000 500000 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Revenue Recognition</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is <em style="font: inherit;">not</em> separately identifiable from other promises in the contract and, therefore, is <em style="font: inherit;">not</em> distinct.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have <em style="font: inherit;">no</em> alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements <em style="font: inherit;"> may </em>result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that <em style="font: inherit;"> may </em>affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do <em style="font: inherit;">not</em> contain significant financing.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company does <em style="font: inherit;">not</em> recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Share-based Compensation</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of restricted stock units (“RSUs”) and performance share awards (“PSAs”) using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately <em style="font: inherit;">not</em> met.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Income Taxes</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Income taxes are recorded using an asset and liability approach that requires the recognition of deferred income tax assets and liabilities for the expected future income tax consequences of events that have been recognized in the Consolidated Financial Statements or income tax returns. Valuation allowances are established when necessary to reduce deferred income tax assets to the amount expected to be realized. The determination of the provision for income taxes requires significant judgment, the use of estimates, and the interpretation and application of complex tax laws. The provision for income taxes primarily reflects a combination of income earned and taxed in the various United States federal, state, local, and to a lesser extent, foreign jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for unrecognized income tax benefits or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective income tax rate.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company records income tax reserves for federal, state, local, and international exposures relating to periods subject to audit. The development of reserves for these exposures requires judgments about tax issues, potential outcomes and timing, and is a subjective estimate. The Company assesses income tax positions and records income tax benefits for all years subject to examination based upon management’s evaluation of the facts, circumstances, and information available at the reporting dates. For those income tax positions where it is more-likely-than-<em style="font: inherit;">not</em> that an income tax benefit will be sustained, the Company has recorded the largest amount of income tax benefit with a greater than <em style="font: inherit;">50%</em> likelihood of being realized upon settlement with a tax authority that has full knowledge of all relevant information. For those income tax positions where it is <em style="font: inherit;">not</em> more-likely-than-<em style="font: inherit;">not</em> that an income tax benefit will be sustained, <em style="font: inherit;">no</em> income tax benefit has been recognized in the Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Accumulated Other Comprehensive Loss</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Accumulated other comprehensive loss includes unrealized gains and losses on derivative instruments related to the effective portion of cash flow hedges and changes in the funded status of the defined benefit pension plans, both net of the related income tax effect.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Net Income per Share</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,741</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effect of potentially dilutive common shares <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,928</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,873</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,779</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per common share</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">There were no antidilutive shares for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020</em> or <em style="font: inherit;">2019.</em></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Basic weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,788</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,741</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effect of potentially dilutive common shares <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Diluted weighted-average common shares outstanding</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,928</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,873</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,779</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income per common share</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 11523000 19050000 27902000 9854000 9788000 9741000 74000 85000 38000 9928000 9873000 9779000 1.17 1.95 2.86 1.16 1.93 2.85 0 <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><b>Concentrations of Credit Risk</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Financial instruments, which potentially subject the Company to concentrations of credit risk, consist principally of trade receivables, foreign currency forward contracts, and deferred compensation plan assets. Trade receivables generally represent a large number of customers, including municipalities, manufacturers, distributors, and contractors, dispersed across a wide geographic base. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> no customer had a balance in excess of <em style="font: inherit;">10%</em> of total accounts receivable, and one SPP customer had a balance in excess of <em style="font: inherit;">10%</em> of total accounts receivable as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020.</em> Foreign currency forward contracts are with a high quality financial institution. The Company’s deferred compensation plan assets, included in Other assets, are invested in a diversified portfolio of stock and bond mutual funds.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 0 1 <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Recent Accounting and Reporting Developments</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Accounting Changes</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> August 2018, </em>the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) <em style="font: inherit;">No.</em> <em style="font: inherit;">2018‑14,</em> “Compensation—Retirement Benefits—Defined Benefit Plans—General (Topic <em style="font: inherit;">715‑20</em>): Disclosure Framework—Changes to the Disclosure Requirements for Defined Benefit Plans” (“ASU <em style="font: inherit;">2018‑14”</em>), which modifies the disclosure requirements for employers that sponsor defined benefit pension or other postretirement plans by removing and adding certain disclosures for these plans. The eliminated disclosures include the amounts in accumulated other comprehensive income expected to be recognized in net periodic benefit costs over the next fiscal year and the amount and timing of plan assets expected to be returned to the employer. The new disclosures include an explanation of significant gains and losses related to changes in benefit obligations. The Company adopted ASU <em style="font: inherit;">2018‑14</em> on a retrospective basis on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021</em> and the impact was <em style="font: inherit;">not</em> material to the Company’s financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> December 2019, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2019‑12,</em> “Income Taxes (Topic <em style="font: inherit;">740</em>): Simplifying the Accounting for Income Taxes” (“ASU <em style="font: inherit;">2019‑12”</em>), which simplifies the accounting for income taxes by removing certain exceptions to the general principles in ASC Topic <em style="font: inherit;">740,</em> “Income Taxes” (“Topic <em style="font: inherit;">740”</em>). ASU <em style="font: inherit;">2019‑12</em> also improves consistent application of and simplifies U.S. GAAP for other areas of Topic <em style="font: inherit;">740</em> by clarifying and amending existing guidance. The Company adopted ASU <em style="font: inherit;">2019‑12</em> on a prospective basis on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2021</em> and the impact was <em style="font: inherit;">not</em> material to the Company’s financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><i>Recent Accounting Standards</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> March 2020, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2020‑04,</em> “Reference Rate Reform (Topic <em style="font: inherit;">848</em>): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,” which provides optional expedients and exceptions for applying U.S. GAAP to contracts, hedging relationships, and other transactions affected by the discontinuation of the London Interbank Offered Rate (“LIBOR”) or by another reference rate expected to be discontinued. The guidance was effective beginning <em style="font: inherit;"> March </em><em style="font: inherit;">12,</em> <em style="font: inherit;">2020</em> and can be applied prospectively through <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em> In <em style="font: inherit;"> January 2021, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2021‑01,</em> “Reference Rate Reform - Scope,” which clarified the scope and application of the original guidance. The Company will adopt these standards when LIBOR is discontinued and does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> October 2021, </em>the FASB issued Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2021‑08,</em> “Business Combinations (Topic <em style="font: inherit;">805</em>): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU <em style="font: inherit;">2021‑08”</em>) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic <em style="font: inherit;">606,</em> “Revenue from Contracts with Customers,” as if it had originated the contracts. ASU <em style="font: inherit;">2021‑08</em> is effective for the Company beginning <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2023,</em> including interim periods in <em style="font: inherit;">2023,</em> with early adoption permitted. The Company does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">3.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>BUSINESS COMBINATIONS:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Park Environmental Equipment,</b> <b>LLC</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> October </em><em style="font: inherit;">5,</em> <em style="font: inherit;">2021,</em> the Company completed the acquisition of 100% of Park Environmental Equipment, LLC (“ParkUSA”) for a purchase price of approximately $88.4 million in cash, subject to a post-closing adjustment based on changes in net working capital, and is included in the Precast segment for all periods following the acquisition date. ParkUSA is a precast concrete and steel fabrication-based company that develops and manufactures water, wastewater, and environmental solutions. Operations continue with ParkUSA’s previous management and workforce at its <em style="font: inherit;">three</em> Texas manufacturing facilities located in Houston, Dallas, and San Antonio.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes the purchase consideration and preliminary fair values of the assets acquired and liabilities assumed as of <em style="font: inherit;"> October </em><em style="font: inherit;">5,</em> <em style="font: inherit;">2021</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">278</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade and other receivables</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,034</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,076</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,301</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">122,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,301</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">64,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total purchase consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">88,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. The asset and liability fair value measurements primarily related to receivables, inventories, identifiable intangible assets, deferred income taxes, accrued liabilities, and goodwill, are preliminary and subject to change as additional information is obtained. The acquisition accounting will be finalized as soon as practicable within the measurement period, but <em style="font: inherit;">not</em> later than <em style="font: inherit;">one</em> year following the acquisition date.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes the components of the intangible assets acquired and their estimated useful lives:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Estimated Useful Life</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In years)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In thousands)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trade marks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how, and is expected to be deductible for tax purposes.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company incurred transaction costs associated with this acquisition of $3.4 million and $0.2 million during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">ParkUSA operations contributed net sales of $18.0 million to the Company’s continuing operations for the period from <em style="font: inherit;"> October </em><em style="font: inherit;">5,</em> <em style="font: inherit;">2021</em> to <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021.</em> It is impracticable to determine the effect on net income as a substantial portion of ParkUSA has been integrated into the Company’s ongoing operations.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Geneva Pipe and Precast Company</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> January </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020,</em> the Company completed the acquisition of 100% of Geneva Pipe and Precast Company (“Geneva”) (fka Geneva Pipe Company, Inc.) for a purchase price of $49.4 million in cash, and is included in the Precast segment for all periods following the acquisition date. Geneva is a concrete pipe and precast concrete products manufacturer based in Utah. This acquisition expanded the Company’s water infrastructure product capabilities by adding additional reinforced concrete pipe capacity and a full line of precast concrete products including storm drains and manholes, catch basins, vaults, and curb inlets as well as innovative lined products that extend the life of concrete pipe and manholes for sewer applications. Operations continue with Geneva’s previous management and workforce at the <em style="font: inherit;">three</em> Utah manufacturing facilities located in Salt Lake City, Orem, and St. George.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes the purchase consideration and fair values of the assets acquired and liabilities assumed as of <em style="font: inherit;"> January </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">691</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade and other receivables</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,089</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">356</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,165</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">55,754</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">939</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total purchase consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">49,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The tangible and intangible assets acquired and liabilities assumed were recognized based on their estimated fair values on the acquisition date, with the excess purchase consideration recorded as goodwill. As a result of additional information obtained during the measurement period about facts and circumstances that existed as of the acquisition date, the Company recorded measurement period adjustments during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2020</em> which resulted in a $0.1 million balance sheet reclassification between trade and other receivables and inventories.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes the components of the intangible assets acquired and their estimated useful lives:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Estimated Useful Life</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In years)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In thousands)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,031</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,165</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Goodwill arose from the acquisition of an assembled workforce, expansion of product offerings, and management’s industry know-how. The goodwill was <em style="font: inherit;">not</em> deductible for tax purposes.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company incurred transaction costs associated with this acquisition of $2.6 million and $0.6 million during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> and <em style="font: inherit;">2019,</em> respectively. These transaction costs are included in Selling, general, and administrative expense in the Consolidated Statements of Operations.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Unaudited Pro Forma Disclosures</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following unaudited pro forma summary presents the consolidated results of the Company as if the acquisition of ParkUSA had occurred on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2020</em> and the acquisition of Geneva had occurred on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2019</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">384,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">356,035</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">323,741</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">15,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">This unaudited pro forma consolidated financial data is included only for the purpose of illustration and does <em style="font: inherit;">not</em> necessarily indicate what the operating results would have been if the acquisitions of ParkUSA and Geneva had occurred on <em style="font: inherit;"> January </em><em style="font: inherit;">1</em> of the respective year prior to the acquisition. Moreover, this information is <em style="font: inherit;">not</em> indicative of what the Company’s future operating results will be. The information prior to the acquisition is included based on prior accounting records maintained by ParkUSA and Geneva. The pro forma amounts have been calculated after applying the Company’s accounting policies and adjusting the results of ParkUSA and Geneva to reflect the additional depreciation and amortization that would have been charged assuming the fair value adjustments to property and equipment and intangible assets had been applied on <em style="font: inherit;"> January </em><em style="font: inherit;">1</em> of the respective year prior to the acquisition. Adjustments also include an increase of interest expense as if the Company’s debt obtained in connection with the acquisitions of ParkUSA and Geneva had been outstanding since <em style="font: inherit;"> January </em><em style="font: inherit;">1</em> of the respective year prior to the acquisition. The pro forma results for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> also include nonrecurring adjustments relating to the recognition of transaction costs incurred and revaluation of inventory acquired. The pro forma results for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> include nonrecurring adjustments to add back the transaction costs incurred and the expense related to the revaluation of inventory acquired in those periods, since those costs are reflected in the preceding year on a pro forma basis. The provision for income taxes has also been adjusted for all periods, based upon the foregoing adjustments to historical results.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 1 88400000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">278</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade and other receivables</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,034</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,076</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,301</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">347</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">122,102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,301</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">64,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total purchase consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">88,404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">691</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade and other receivables</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,089</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses and other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">356</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,165</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total assets acquired</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">55,754</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other long-term liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">939</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total liabilities assumed</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 84%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Total purchase consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">49,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 278000 11034000 12773000 293000 8076000 58301000 31000000 347000 122102000 2029000 4067000 58301000 64397000 30699000 88404000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Estimated Useful Life</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In years)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In thousands)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trade marks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.6</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Estimated Useful Life</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In years)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>(In thousands)</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,031</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.9</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,165</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> P10Y 19800000 P10Y 9600000 P21Y 1300000 P0Y7M6D 300000 P10Y4M24D 31000000 3400000 200000 18000000.0 1 49400000 691000 7089000 5673000 356000 9096000 21684000 11165000 55754000 1395000 1189000 20454000 5343000 939000 29320000 22985000 49419000 -100000 P11Y 8031000 P10Y 2093000 P0Y10M24D 1041000 P9Y10M24D 11165000 2600000 600000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">384,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">356,035</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">323,741</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">15,780</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">27,163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 384872000 356035000 323741000 15780000 20540000 27163000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">4.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>INVENTORIES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventories consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,631</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Work-in-process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,018</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,489</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Supplies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,840</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,641</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,651</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,177</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,631</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Work-in-process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,018</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,489</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Supplies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,840</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,641</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">59,651</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,177</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 44697000 20631000 3018000 1416000 10096000 5489000 1840000 1641000 59651000 29177000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">5.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>PROPERTY AND EQUIPMENT:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Property and equipment, net consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Land and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,909</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Buildings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">49,361</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,663</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">Leasehold improvements</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">140,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">127,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equipment under finance lease</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">218,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">200,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Less accumulated depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(106,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(96,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">111,224</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">104,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,042</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,164</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">All property and equipment is located in the United States, except for $19.9 million and $20.3 million of net property and equipment which is located in Mexico as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Land and improvements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,909</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Buildings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">49,361</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,663</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">Leasehold improvements</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Machinery and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">140,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">127,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Equipment under finance lease</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,839</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">218,181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">200,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Less accumulated depreciation and amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(106,957</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(96,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">111,224</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">104,020</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Construction in progress</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,042</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,164</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Property and equipment, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">121,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 22909000 22773000 49361000 47663000 3057000 0 140015000 127679000 2839000 2589000 218181000 200704000 106957000 96684000 111224000 104020000 10042000 6164000 121266000 110184000 19900000 20300000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">6.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>GOODWILL AND INTANGIBLE ASSETS:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Goodwill</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has recorded goodwill in connection with its business acquisitions within the Precast reportable segment. The changes in the carrying amount of goodwill for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> were as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill, December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Acquisition of ParkUSA (Note 3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill, December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company performed its annual goodwill impairment test as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> utilizing a qualitative analysis, and did <em style="font: inherit;">not</em> identify any potential impairment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Intangible Assets</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Intangible assets consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Gross Carrying Amount</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Accumulated Amortization</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Intangible Assets, Net</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,997</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,212</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,825</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(201</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">43,963</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(4,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,409</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,634</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,775</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,225</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(720</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">238</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,963</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,518</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">During the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> intangible assets increased primarily due to the acquisition of ParkUSA. See Note <em style="font: inherit;">3,</em> “Business Combinations” for additional information related to this transaction.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The estimated amortization expense for each of the next <em style="font: inherit;">five</em> years and thereafter is as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year ending December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,173</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">18,716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill, December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,985</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Acquisition of ParkUSA (Note 3)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Goodwill, December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 22985000 30699000 53684000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Gross Carrying Amount</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Accumulated Amortization</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Intangible Assets, Net</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29,209</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,997</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,212</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,825</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,580</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(201</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">128</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">43,963</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(4,587</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,409</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,634</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,775</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Trade names and trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,225</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(720</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">238</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,963</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(2,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,518</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 29209000 2997000 26212000 12825000 1245000 11580000 1300000 15000 1285000 300000 129000 171000 329000 201000 128000 43963000 4587000 39376000 9409000 1634000 7775000 3225000 720000 2505000 329000 91000 238000 12963000 2445000 10518000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year ending December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,173</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">18,716</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total amortization expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39,376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 4436000 4173000 4017000 4017000 4017000 18716000 39376000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">7.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>CREDIT AGREEMENT:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Credit Agreement dated <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2021</em> with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated <em style="font: inherit;"> October </em><em style="font: inherit;">22,</em> <em style="font: inherit;">2021</em> (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”). The Amended Credit Agreement will expire, and all obligations outstanding will mature, on <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2024.</em> The Company <em style="font: inherit;"> may </em>prepay outstanding amounts in its discretion without penalty at any time, subject to applicable notice requirements. In conjunction with entering into the Credit Agreement on <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2021,</em> the Company terminated the Credit Agreement with Wells Fargo dated <em style="font: inherit;"> October </em><em style="font: inherit;">25,</em> <em style="font: inherit;">2018,</em> as amended on <em style="font: inherit;"> January </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> by the Consent and Amendment <em style="font: inherit;">No.</em> <em style="font: inherit;">1</em> to Credit Agreement with Wells Fargo (together, the “Former Credit Agreement”), and all outstanding debt under the Former Credit Agreement, including long-term debt, was repaid.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio <em style="font: inherit;">no</em> greater than 2.50 to <em style="font: inherit;">1.00</em> (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (as defined in the Amended Credit Agreement) of at least $31.5 million for the <em style="font: inherit;">four</em> consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will <em style="font: inherit;">not</em> sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021.</em></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Interest expense from revolving loan borrowings, long-term debt, and finance leases was $1.2 million, net of amounts capitalized of $0.1 million in <em style="font: inherit;">2021,</em> $0.9 million, net of amounts capitalized of $0.1 million in <em style="font: inherit;">2020,</em> and $0.5 million in <em style="font: inherit;">2019.</em> A nominal amount of interest was capitalized in <em style="font: inherit;">2019.</em></p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"><b>Line of Credit (Revolving and Swingline Loans)</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> under the Amended Credit Agreement, the Company had $86.8 million of outstanding revolving loan borrowings, $1.6 million of outstanding letters of credit, and additional borrowing capacity of approximately $37 million. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> under the Former Credit Agreement, the Company had no outstanding revolving loan borrowings and $1.6 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement including certain LIBOR transition provisions, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) LIBOR plus the Applicable Margin; or (iii) the daily <em style="font: inherit;">one</em> month LIBOR plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.25%, depending on the Company’s Senior Leverage Ratio (as defined in the Amended Credit Agreement). Interest on outstanding revolving loans is payable quarterly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> the weighted-average interest rate for outstanding borrowings was 1.85% and 1.73%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable quarterly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 125000000 2.50 31500000 1200000 100000 900000 100000 500000 86800000 1600000 37000000 0 1600000 0.0175 0.0225 0.0185 0.0173 0.0030 0.0040 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">8.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;"><b>LEASES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes the Company’s leases recorded on the Consolidated Balance Sheets (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Right-of-use assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance leases, net, included in Property and equipment <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,288</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">98,507</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">98,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">Lease cost consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amortization of right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">413</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,627</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,442</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,092</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,009</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">The future maturities of lease liabilities as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> are as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Finance</b> <b>Leases</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating</b> <b>Leases</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,802</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,669</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">692</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,431</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88,557</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,453</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">121,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amount representing interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(284</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,058</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">98,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Current portion of lease liabilities <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term lease liabilities <span style="font-size:8pt;">(2)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,725</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">Current portion of finance lease liabilities are included in Accrued liabilities.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">Long-term finance lease liabilities, less current portion are included in Other long-term liabilities.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">The following table summarizes the lease terms and discount rates for the lease liabilities:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;"><tbody><tr><td style="vertical-align: bottom; width: 68%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>December 31,</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr><td style="vertical-align: bottom; width: 68%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2021</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2020</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted-average remaining lease term (years)</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.56</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.67</p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18.42</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18.21</p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted-average discount rate</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">5.10</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">5.22</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">2.18</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.36</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">The following table presents other information related to the operating and finance leases (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Cash paid for amounts included in the measurement of lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(4,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,909</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Right-of-use assets obtained in exchange for finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">853</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">507</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Right-of-use assets obtained in exchange for operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,043</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,335</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Right-of-use assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance leases, net, included in Property and equipment <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,288</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">98,507</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">98,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100,598</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 1730000 1288000 98507000 30813000 100237000 32101000 2169000 1729000 98429000 30115000 100598000 31844000 1100000 1300000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Finance lease cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amortization of right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">413</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,627</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,934</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">745</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,442</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,092</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,009</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 413000 422000 435000 90000 79000 57000 4627000 3647000 1934000 993000 745000 1442000 158000 199000 141000 6281000 5092000 4009000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Finance</b> <b>Leases</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating</b> <b>Leases</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,802</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,669</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">692</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,431</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88,557</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,453</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">121,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amount representing interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(284</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,058</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">98,429</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Current portion of lease liabilities <span style="font-size:8pt;">(1)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Long-term lease liabilities <span style="font-size:8pt;">(2)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">93,725</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 574000 6802000 378000 6669000 692000 6499000 449000 6529000 360000 6431000 0 88557000 2453000 121487000 284000 23058000 2169000 98429000 475000 4704000 1694000 93725000 <table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;"><tbody><tr><td style="vertical-align: bottom; width: 68%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>December 31,</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr><td style="vertical-align: bottom; width: 68%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2021</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2020</b></p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted-average remaining lease term (years)</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.56</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.67</p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18.42</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18.21</p> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted-average discount rate</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">5.10</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">5.22</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align: bottom; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating leases</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">2.18</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 1%;"> </td><td style="vertical-align: bottom; width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">3.36</p> </td><td style="vertical-align: bottom; width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> </tbody></table> P3Y6M21D P3Y8M1D P18Y5M1D P18Y2M15D 0.0510 0.0522 0.0218 0.0336 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Cash paid for amounts included in the measurement of lease liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(4,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,909</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(420</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Right-of-use assets obtained in exchange for finance lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">853</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">507</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Right-of-use assets obtained in exchange for operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,043</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,471</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,335</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 90000 79000 57000 4142000 3481000 1909000 415000 420000 434000 853000 507000 819000 16043000 4471000 1335000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">9.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>FAIR VALUE MEASUREMENTS:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into <em style="font: inherit;">three</em> broad levels. These levels are: Level <em style="font: inherit;">1</em> (inputs are quoted prices in active markets for identical assets or liabilities); Level <em style="font: inherit;">2</em> (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level <em style="font: inherit;">3</em> (inputs are unobservable, with little or <em style="font: inherit;">no</em> market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Deferred compensation plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total financial assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,338</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">508</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Deferred compensation plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,717</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level <em style="font: inherit;">1</em> within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level <em style="font: inherit;">2</em> within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Consolidated Balance Sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s foreign currency forward contracts are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level <em style="font: inherit;">2</em> within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. Foreign currency forward contracts are presented at their gross fair values. Foreign currency forward contract assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Consolidated Balance Sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Deferred compensation plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total financial assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,338</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,830</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">508</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>As of December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Deferred compensation plan</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,717</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Foreign currency forward contracts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,150</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 4321000 3830000 491000 0 17000 0 17000 0 4338000 3830000 508000 0 661000 -0 661000 -0 4717000 3884000 833000 0 1150 -0 1150 -0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">10.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>DERIVATIVE INSTRUMENTS AND HEDGING ACTIVITIES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">For each foreign currency forward contract entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all foreign currency forward contracts to specific firm commitments or forecasted transactions and designating the foreign currency forward contracts as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the foreign currency forward contracts that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized loss on cash flow hedges on the Consolidated Statements of Comprehensive Income. If it is determined that a foreign currency forward contract is <em style="font: inherit;">not</em> highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that foreign currency forward contract prospectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> the total notional amount of the foreign currency forward contracts designated as cash flow hedges was $19.0 million (<span style="-sec-ix-hidden:c82016958">CAD$24.1</span> million) and $15.3 million (<span style="-sec-ix-hidden:c82016960">CAD$19.5</span> million), respectively. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company’s foreign currency forward contracts mature at various dates through <em style="font: inherit;"> April 2023 </em>and are subject to an enforceable master netting arrangement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> all foreign currency forward contracts were designated as cash flow hedges. Gains (losses) recognized in Net sales from foreign currency forward contracts <em style="font: inherit;">not</em> designated as hedging instruments were approximately $0, $(0.6) million, and $(0.1) million for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> respectively. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> unrealized pretax losses on outstanding foreign currency forward contracts in Accumulated other comprehensive loss was $(0.3) million, of which approximately $0 is expected to be reclassified to Net sales within the next <em style="font: inherit;">twelve</em> months as a result of underlying hedged transactions also being recorded in Net sales. See Note <em style="font: inherit;">16,</em> “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract gains and losses.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 19000000.0 15300000 0 -600000 -100000 300000 0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">11.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>RETIREMENT PLANS:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Defined Contribution Plan</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has a defined contribution retirement plan that covers substantially all of its employees and provides for a Company match of up to 50% of the <em style="font: inherit;">first</em> 8%, 8%, and 6% of employee contributions to the plan, subject to certain limitations, for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> respectively. The defined contribution retirement plan offers <em style="font: inherit;">25</em> investment options.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">ParkUSA had a defined contribution retirement plan that covered substantially all of its employees and provided for a match of up to 100% of the <em style="font: inherit;">first</em> 4% of employee contributions to the plan, subject to certain limitations. After the acquisition of ParkUSA on <em style="font: inherit;"> October </em><em style="font: inherit;">5,</em> <em style="font: inherit;">2021,</em> employees of ParkUSA continued to contribute to this plan until it was merged into the Company’s plan effective <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Defined Benefit Plans</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has <span style="-sec-ix-hidden:c82017007">two</span> noncontributory defined benefit plans. Effective <em style="font: inherit;">2001,</em> both plans were frozen and participants were fully vested in their accrued benefits as of the date each plan was frozen. <em style="font: inherit;">No</em> additional participants can be added to the plans and <em style="font: inherit;">no</em> additional service can be earned by participants subsequent to the date the plans were frozen. The funding policy for both of these plans is based on current plan costs plus amortization of the unfunded plan liability. All current employees covered by these plans are now covered by the defined contribution retirement plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> the Company had recorded, in accordance with the actuarial valuations, an accrued pension liability of $1.0 million and $1.6 million, respectively, in Other long-term liabilities and an unrecognized actuarial loss, net of tax, of $1.5 million and $1.8 million, respectively, in Accumulated other comprehensive loss. Additionally, as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> the projected and accumulated benefit obligation was $6.1 million and $6.5 million, respectively, and the fair value of plan assets was $5.1 million and $4.9 million, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The net periodic benefit cost for each of the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019</em> was approximately $0. The weighted-average discount rates used to measure the projected benefit obligation were 2.41% and 2.04% as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The plan assets are invested in pooled separate accounts stated at fair value based on the daily net asset value of the account and are therefore <em style="font: inherit;">not</em> categorized in the fair value hierarchy. The expected weighted-average long-term rate of return on plan assets was 7.0% as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Non-qualified Retirement Savings Plan</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has a deferred compensation plan that covered officers and selected highly compensated employees until it was frozen in <em style="font: inherit;">2016.</em> The deferred compensation plan generally matched up to 50% of the <em style="font: inherit;">first</em> $10,000 of officer contributions to the plan and the <em style="font: inherit;">first</em> $5,000 of other selected highly compensated employee contributions, subject to certain limitations. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> deferred compensation plan balances of $4.3 million and $4.7 million, respectively, were recorded in Other assets and Other long-term liabilities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Total expense for all retirement plans for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019</em> was $1.8 million, $1.6 million, and $1.2 million, respectively, and is primarily related to the defined contribution plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 0.50 0.08 0.08 0.06 1 0.04 1000000.0 1600000 1500000 1800000 6100000 6500000 5100000 4900000 0 0.0241 0.0204 0.070 0.50 10000 5000 4300000 4700000 1800000 1600000 1200000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">12.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>SHARE-BASED COMPENSATION:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has <span style="-sec-ix-hidden:c82017063">one</span> active stock incentive plan for employees and directors, the <em style="font: inherit;">2007</em> Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, RSUs, and PSAs.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes share-based compensation expense recorded (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">822</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Selling, general, and administrative expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,326</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,709</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">There were 222,022 shares of common stock available for future issuance under the Company’s stock incentive plan as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> assuming the outstanding PSAs vest at the target level of 100%.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Stock Options Awards</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s stock incentive plan provides that options become exercisable according to vesting schedules and terminate according to the terms of the grant. There were no options granted during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> or <em style="font: inherit;">2019.</em> During the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020,</em> 24,000 stock options at a weighted-average exercise price of $24.15 were exercised. The total intrinsic value of options exercised during the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> was $0.1 million. There were no options exercised during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> or <em style="font: inherit;">2019.</em> As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> there were no stock options outstanding.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Restricted Stock Units and Performance Share Awards</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares over a specified period of time. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">The following table summarizes the Company’s RSU and PSA activity:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number of RSUs and PSAs <span style="font-size:8pt;">(1)</span></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted-Average Grant Date Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unvested RSUs and PSAs as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">129,572</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">RSUs and PSAs granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">RSUs and PSAs vested <span style="font-size:8pt;">(2)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(58,809</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25.53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unvested RSUs and PSAs as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">161,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">The number of PSAs disclosed in this table are at the target level of 100%.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: 18pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">For the PSAs vested on <em style="font: inherit;"> March </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021;</em> the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the <em style="font: inherit;">2019</em>-<em style="font: inherit;">2020</em> performance period and 200% for the <em style="font: inherit;">2020</em> performance period.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The unvested balance of RSUs and PSAs as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021</em> includes approximately 116,000 PSAs at a target level of performance. The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The weighted-average grant date fair value of RSUs and PSAs granted during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019</em> was $33.30, $26.61, and $23.56, respectively. The total fair value of RSUs and PSAs vested during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019</em> was $3.3 million, $2.0 million, and $0, respectively.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Based on the estimated level of achievement of the performance targets associated with the PSAs, as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $2.7 million, which is expected to be recognized over a weighted-average period of 1.5 years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Stock Awards</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">For the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> stock awards of 12,606 shares, 17,442 shares, and 11,924 shares, respectively, were granted to non-employee directors, which vested immediately upon issuance. The Company recorded compensation expense based on the weighted-average fair market value per share of the awards on the grant date of $30.94 in <em style="font: inherit;">2021,</em> $25.81 in <em style="font: inherit;">2020,</em> and $25.16 in <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Cost of sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,003</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">822</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Selling, general, and administrative expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,326</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,216</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,709</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 1003000 822000 383000 2213000 2266000 1326000 3216000 3088000 1709000 222022 1 0 24000 24.15 100000 0 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number of RSUs and PSAs <span style="font-size:8pt;">(1)</span></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted-Average Grant Date Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unvested RSUs and PSAs as of December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">129,572</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">RSUs and PSAs granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">90,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">33.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">RSUs and PSAs vested <span style="font-size:8pt;">(2)</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(58,809</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">25.53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unvested RSUs and PSAs as of December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">161,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 129572 25.86 90368 33.30 58809 25.53 161131 30.26 1 1.26 2 116000 0 2 33.30 26.61 23.56 3300000 2000000.0 0 2700000 P1Y6M 12606 17442 11924 30.94 25.81 25.16 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">13.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>COMMITMENTS AND CONTINGENCIES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Portland Harbor Superfund Site</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> December 2000, </em>a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does <em style="font: inherit;">not</em> border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in <em style="font: inherit;"> December 2000, </em>the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in <em style="font: inherit;"> February 2016, </em>and the feasibility study in <em style="font: inherit;"> June 2016, </em>which identified multiple remedial alternatives. In <em style="font: inherit;"> January 2017, </em>the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion and 13 years to complete. The EPA has <em style="font: inherit;">not</em> yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and <em style="font: inherit;">no</em> further adjustment to the Consolidated Financial Statements has been recorded as of the date of this filing.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. <em style="font: inherit;">No</em> liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have <em style="font: inherit;">not</em> yet been determined.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section <em style="font: inherit;">107.</em> The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, <em style="font: inherit;">three</em> federal agencies, and <em style="font: inherit;">one</em> state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In <em style="font: inherit;"> June 2014, </em>the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has <em style="font: inherit;">not</em> assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In <em style="font: inherit;"> January 2017, </em>the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in <em style="font: inherit;">2009,</em> filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The Company does <em style="font: inherit;">not</em> have sufficient information to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide <em style="font: inherit;">no</em> assurance that those policies will cover all of the costs which the Company <em style="font: inherit;"> may </em>incur.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>All Sites</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations there under which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does <em style="font: inherit;">not</em> believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Other Contingencies and Legal Proceedings</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">From time to time, the Company is involved in litigation relating to claims arising out of its operations in the normal course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does <em style="font: inherit;">not</em> cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is <em style="font: inherit;">not</em> presently a party to litigation, the outcome of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> April </em><em style="font: inherit;">21,</em> <em style="font: inherit;">2019,</em> there was an accidental fire at the Company’s Saginaw, Texas facility which resulted in damage to the coatings building. There were <em style="font: inherit;">no</em> injuries, but the ability to coat at this facility was impaired while the Company repaired the damage. The Company’s other production locations were deployed to absorb the lost production that resulted. The Company has insurance coverage in place covering, among other things, business interruption and property damage up to certain specified amounts, and worked with its insurance company to restore the facility to full service as safely and quickly as possible. The Saginaw facility resumed operations in <em style="font: inherit;"> October 2019. </em>The Company received $1.4 million of business interruption insurance recovery (net of incremental production costs) during the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020</em> and incurred $1.6 million of incremental production costs (net of business interruption insurance recovery) during the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2019,</em> which were recorded in Cost of sales.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Commitments</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company’s commitments include approximately $10 million relating to its investment in a new reinforced concrete pipe mill for which the Company has <em style="font: inherit;">not</em> yet received the equipment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Guarantees</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company has entered into certain letters of credit that total $1.6 million as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021.</em> The letters of credit relate to workers’ compensation insurance.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"> </p> 14 1000000000 P13Y 150 400000 -1400000 1600000 10000000 1600000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">14.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>REVENUE:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Net sales by geographic region, based on the location of the customer, were as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales by geographic region:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">313,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">254,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">252,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Canada</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,520</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">One SPP customer accounted for 12%, 16% and 23% of total net sales for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> respectively. No Precast customer accounted for more than <em style="font: inherit;">10%</em> of total net sales for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $2.0 million, $2.2 million, and $(1.2) million for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Disaggregation of Revenue</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Over time (Engineered Steel Pressure Pipe)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Point in time (Precast Infrastructure and Engineered Systems)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Contract Assets and Liabilities</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The difference between the opening and closing balances of the Company’s contract assets and contract liabilities primarily results from the timing difference between the Company’s performance and billings. The changes in the contract assets and contract liabilities balances during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019</em> were <em style="font: inherit;">not</em> materially affected by any other factors.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $6.2 million, $12.3 million, and $3.7 million during the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> and <em style="font: inherit;">2019,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><b>Backlog</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">202<span style="-sec-ix-hidden:c82017249"><span style="-sec-ix-hidden:c82017252">1</span></span>,</em> backlog was approximately $183 million. The Company expects to recognize approximately 82% of the remaining performance obligations in <em style="font: inherit;">2022</em> and 18% in <em style="font: inherit;">2023.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales by geographic region:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">313,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">254,956</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">252,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Canada</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">19,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26,520</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 313729000 254956000 252797000 19584000 30951000 26520000 333313000 285907000 279317000 0.12 0.16 0.23 0 2000000.0 2200000 -1200000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Over time (Engineered Steel Pressure Pipe)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Point in time (Precast Infrastructure and Engineered Systems)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 259823000 241690000 279317000 73490000 44217000 0 333313000 285907000 279317000 6200000 12300000 3700000 183000000 0.82 0.18 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">15.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>INCOME TAXES:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The United States and foreign components of Income before income taxes are as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,768</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32,244</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">396</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,634</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The components of Income tax expense (benefit) are as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,256</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">174</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,064</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">243</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total current income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">561</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total deferred income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The difference between the Company’s effective income tax rate and the federal statutory income tax rate is explained as follows (dollar amounts in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income tax expense at federal statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">State expense, net of federal income tax effect</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Nondeductible expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(96</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effective income tax rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">The income tax effect of temporary differences that give rise to significant portions of deferred income tax assets and liabilities is presented below (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred income tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,525</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade receivable, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net operating loss carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,099</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Tax credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; text-indent: 9pt;">Contract assets, net</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,875</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,373</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred income tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contract assets, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"> </p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(12,937</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(12,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; text-indent: 9pt;">Goodwill</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,005</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(889</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(15,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net deferred income tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Amounts are presented in the Consolidated Balance Sheets as follows:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income tax assets, included in Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net deferred income tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">In assessing the ability to realize deferred income tax assets, management considers whether it is more likely than <em style="font: inherit;">not</em> that some portion or all of the deferred income tax assets will <em style="font: inherit;">not</em> be realized. The ultimate realization of deferred income tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. Management considers the scheduled reversal of deferred income tax liabilities, projected future taxable income, taxable income in carryback periods, and tax planning strategies in making this assessment. The Company believes it is more likely than <em style="font: inherit;">not</em> it will realize the benefits of its deductible differences as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> net of any valuation allowance. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company continues to maintain a valuation allowance on federal tax credits, capital loss carryforwards, and select state jurisdictions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company had approximately $0.4 million of federal income tax credit carryforwards, which expire on various dates between <span style="-sec-ix-hidden:c82017294">2023</span> and <span style="-sec-ix-hidden:c82017295">2026,</span> and $0.8 million of capital loss carryforwards, which expire in <span style="-sec-ix-hidden:c82017297">2024.</span> As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company also had approximately $27.3 million of state net operating loss carryforwards, which expire on various dates between <span style="-sec-ix-hidden:c82017301">2022</span> and <span style="-sec-ix-hidden:c82017302">2038,</span> and state income tax credit carryforwards of $4.4 million, which begin to expire in <span style="-sec-ix-hidden:c82017304">2022.</span> As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company also had approximately $4.6 million of foreign net operating loss carryforwards, which expire on various dates between <span style="-sec-ix-hidden:c82017308">2023</span> and <span style="-sec-ix-hidden:c82017309">2030.</span></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is <em style="font: inherit;">no</em> longer subject to United States Federal, state, or foreign income tax examinations for years before <em style="font: inherit;">2017.</em></p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">A summary of the changes in the unrecognized income tax benefits is presented below (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrecognized income tax benefits, beginning of year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Increases for positions taken in prior years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrecognized income tax benefits, end of year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company does <em style="font: inherit;">not</em> believe it is reasonably possible that the total amounts of unrecognized income tax benefits will change in the following <em style="font: inherit;">twelve</em> months; however, actual results could differ from those currently expected. Effectively all of the unrecognized income tax benefits would affect the Company’s effective income tax rate if recognized at some point in the future.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company recognizes interest and penalties related to uncertain income tax positions in Income tax expense. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2021,</em> the Company had approximately $0 accrued interest related to uncertain income tax positions, and <span style="-sec-ix-hidden:c82017317">none</span> as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2020.</em> Total interest for uncertain income tax positions did <em style="font: inherit;">not</em> change materially in <em style="font: inherit;">2021,</em> <em style="font: inherit;">2020,</em> or <em style="font: inherit;">2019.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">On <em style="font: inherit;"> December </em><em style="font: inherit;">22,</em> <em style="font: inherit;">2017,</em> the Tax Cuts and Jobs Act of <em style="font: inherit;">2017</em> (“TCJA”) was signed into law making significant changes to the Internal Revenue Code. Changes included, but were <em style="font: inherit;">not</em> limited to, a federal corporate income tax rate decrease from 35% to 21% effective for tax years beginning after <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2017,</em> the transition of U.S. international taxation from a worldwide tax system to a territorial system, and a <em style="font: inherit;">one</em>-time transition tax on the mandatory deemed repatriation of cumulative foreign earnings as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2017.</em> On <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2019,</em> the Company adopted Accounting Standards Update <em style="font: inherit;">No.</em> <em style="font: inherit;">2018‑02,</em> “Income Statement—Reporting Comprehensive Income (Topic <em style="font: inherit;">220</em>): Reclassification of Certain Tax Effects from Accumulated Other Comprehensive Income” (“ASU <em style="font: inherit;">2018‑02”</em>), which resulted in a reclassification of $0.2 million from accumulated other comprehensive loss to retained earnings for stranded tax effects resulting from the TCJA.</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">United States</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">24,768</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32,244</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">396</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,158</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,634</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,640</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 14000000 24768000 32244000 1158000 866000 396000 15158000 25634000 32640000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Current:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,256</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">174</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,064</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">243</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total current income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">573</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,597</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">State</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">561</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">47</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total deferred income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,041</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,141</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2256000 958000 174000 1064000 1342000 -16000 213000 243000 439000 3533000 2543000 597000 573000 4380000 3597000 -464000 -386000 561000 -7000 47000 -17000 102000 4041000 4141000 3635000 6584000 4738000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income tax expense at federal statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,383</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,854</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">State expense, net of federal income tax effect</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">953</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,261</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(181</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Nondeductible expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(96</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">6,584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Effective income tax rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24.0</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25.7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14.5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> </tbody></table> 3183000 5383000 6854000 547000 953000 1261000 -247000 -181000 -3564000 -31000 447000 -24000 104000 78000 36000 79000 -96000 175000 3635000 6584000 4738000 0.240 0.257 0.145 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred income tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Accrued employee benefits</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,525</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Trade receivable, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net operating loss carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,099</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,231</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Tax credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,699</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; text-indent: 9pt;">Contract assets, net</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">389</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,875</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,373</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,647</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Deferred income tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Contract assets, net</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"> </p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(12,937</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(12,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(2,737</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%; text-indent: 9pt;">Goodwill</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(129</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Prepaid expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,005</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(889</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(15,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,021</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net deferred income tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Amounts are presented in the Consolidated Balance Sheets as follows:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income tax assets, included in Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">384</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Deferred income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(10,984</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net deferred income tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(10,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(12,374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> 3125000 3525000 30000 73000 833000 958000 3099000 3231000 2888000 2699000 313000 0 984000 389000 11272000 10875000 5899000 6228000 5373000 4647000 -0 1366000 12937000 12029000 1902000 2737000 129000 -0 1005000 889000 15973000 17021000 10600000 12374000 384000 107000 10984000 12481000 10600000 12374000 400000 800000 27300000 4400000 4600000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrecognized income tax benefits, beginning of year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Increases for positions taken in prior years</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrecognized income tax benefits, end of year</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,366</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 4350000 4350000 4350000 16000 0 0 4366000 4350000 4350000 0 0.35 0.21 200000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: &quot;Times New Roman&quot;; margin: 0pt;"><b><em style="font: inherit;">16.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>ACCUMULATED OTHER COMPREHENSIVE LOSS:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Accumulated other comprehensive loss consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Pension liability adjustment, net of income tax benefit of $<span style="-sec-ix-hidden:c82017466">577</span> and $<span style="-sec-ix-hidden:c82017467">679</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,795</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrealized loss on cash flow hedges, net of income tax benefit of $<span style="-sec-ix-hidden:c82017470">61</span> and $<span style="-sec-ix-hidden:c82017471">20</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table summarizes changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Pension Liability Adjustment</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Unrealized Loss on Cash Flow Hedges</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,795</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amounts reclassified from Accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net current period adjustments to Other comprehensive loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">308</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Consolidated Statements of Operations (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount reclassified from Accumulated Other Comprehensive Loss</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 23.2%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Affected line item in the</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 31.8%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-align: center;"><b>Details about Accumulated Other</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Consolidated Statements</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-align: center;"><b>Comprehensive Loss Components</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>of Operations</b></p> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Pension liability adjustment:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net periodic pension cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Service cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Cost of sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Non-service cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">110</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Other income</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Associated income tax (expense) benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Unrealized gain (loss) on cash flow hedges:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Gain (loss) on cash flow hedges</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(72</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Associated income tax benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">18</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">97</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total reclassifications for the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Pension liability adjustment, net of income tax benefit of $<span style="-sec-ix-hidden:c82017466">577</span> and $<span style="-sec-ix-hidden:c82017467">679</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,795</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Unrealized loss on cash flow hedges, net of income tax benefit of $<span style="-sec-ix-hidden:c82017470">61</span> and $<span style="-sec-ix-hidden:c82017471">20</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> 1487000 1795000 -195000 -71000 -1682000 -1866000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Pension Liability Adjustment</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Unrealized Loss on Cash Flow Hedges</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2020</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,795</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(71</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other comprehensive income (loss) before reclassifications</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(178</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Amounts reclassified from Accumulated other comprehensive loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net current period adjustments to Other comprehensive loss</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">308</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(124</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2021</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,487</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> -1795000 -71000 -1866000 386000 -178000 208000 78000 -54000 24000 308000 -124000 184000 -1487000 -195000 -1682000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount reclassified from Accumulated Other Comprehensive Loss</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 23.2%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Affected line item in the</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 31.8%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-align: center;"><b>Details about Accumulated Other</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Consolidated Statements</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-align: center;"><b>Comprehensive Loss Components</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>of Operations</b></p> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Pension liability adjustment:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net periodic pension cost:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Service cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Cost of sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Non-service cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">110</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Other income</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Associated income tax (expense) benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt; text-indent: -9pt;">Unrealized gain (loss) on cash flow hedges:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Gain (loss) on cash flow hedges</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(72</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(378</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Associated income tax benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">18</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">97</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total reclassifications for the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(15</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><em style="font: inherit;"> </em></td></tr> </tbody></table> -7000 -16000 -11000 110000 46000 -15000 25000 8000 -4000 78000 22000 -22000 -72000 -378000 5000 -18000 -97000 -2000 -54000 -281000 7000 24000 -259000 -15000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">17.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>SEGMENT INFORMATION:</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does <em style="font: inherit;">not</em> allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s Engineered Steel Pressure Pipe segment manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto, California; Saginaw, Texas; Tracy, California; Parkersburg, West Virginia; St. Louis, Missouri; and San Luis Río Colorado, Mexico.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The Company’s Precast Infrastructure and Engineered Systems segment manufactures high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, catch basins, oil water separators, pump lift stations, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Houston, Texas; Orem, Utah; Dallas, Texas; Salt Lake City, Utah; San Antonio, Texas; and St. George, Utah.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table disaggregates revenue as well as other financial information based on the Company’s reportable segments (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,226</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">44,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">50,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">47,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Depreciation and amortization expense:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,524</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,746</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,153</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">362</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Capital expenditures:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,031</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0pt 0pt 0pt 9pt; width: 52%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,793</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">469</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,013</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following table disaggregates total assets based on the Company’s reportable segments (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">308,819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">249,680</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">228,627</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">77,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">537,446</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">327,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">45,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">547,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">373,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 33%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2019</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">279,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">47,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,226</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">44,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">50,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">47,184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Depreciation and amortization expense:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,524</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,746</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,153</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">362</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,624</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,551</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,713</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 52%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Capital expenditures:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,031</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding: 0pt 0pt 0pt 9pt; width: 52%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,793</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">469</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,262</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,013</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,585</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Total assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">308,819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">249,680</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">228,627</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">77,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">537,446</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">327,445</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,233</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">45,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">547,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">373,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 259823000 241690000 279317000 73490000 44217000 0 333313000 285907000 279317000 31281000 44293000 47184000 12973000 6226000 0 44254000 50519000 47184000 9524000 10746000 12363000 3738000 3407000 0 13262000 14153000 12363000 362000 398000 350000 13624000 14551000 12713000 7538000 12031000 8033000 5255000 1397000 0 12793000 13428000 8033000 469000 585000 552000 13262000 14013000 8585000 308819000 249680000 228627000 77765000 537446000 327445000 10233000 45570000 547679000 373015000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">18.</em></b></p> </td><td style="width: auto;"> <p style="font-family: Times New Roman;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>QUARTERLY DATA (UNAUDITED):</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Summarized quarterly financial data is as follows (in thousands, except per share amounts):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>First Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Second Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Third Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Fourth Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Year Ended December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,748</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">71,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,064</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">72,311</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">73,812</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">84,643</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">102,547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,668</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,621</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,923</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,775</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,578</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">44,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,946</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>First Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Second Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Third Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Fourth Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Year Ended December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60,878</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">57,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">65,077</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,045</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,322</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,555</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,295</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">68,923</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">69,971</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">77,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">69,381</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,917</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,702</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,456</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,226</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,619</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">50,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>First Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Second Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Third Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Fourth Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Year Ended December 31, 2021</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60,057</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,748</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">69,439</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">71,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">259,823</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,064</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">73,490</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">72,311</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">73,812</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">84,643</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">102,547</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">333,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,154</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,615</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,844</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,668</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,621</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,923</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,775</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">13,578</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">44,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,175</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,946</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.22</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>First Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Second Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Third Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><b>Fourth Quarter</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>For the Year Ended December 31, 2020</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">60,878</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">57,649</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">65,077</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">58,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">241,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,045</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,322</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,555</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">11,295</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">44,217</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">68,923</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">69,971</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">77,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">69,381</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">285,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Engineered Steel Pressure Pipe</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,765</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,917</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,907</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44,293</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Precast Infrastructure and Engineered Systems</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">814</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,254</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,702</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,456</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,226</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,579</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,958</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,619</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">50,519</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,998</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td style="width: 14px;"> </td><td style="width: 157px;"> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;">Income per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 14px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 157px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.06</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14px; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 157px; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.53</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 60057000 58748000 69439000 71579000 259823000 12254000 15064000 15204000 30968000 73490000 72311000 73812000 84643000 102547000 333313000 7154000 6615000 8844000 8668000 31281000 1621000 2923000 3519000 4910000 12973000 8775000 9538000 12363000 13578000 44254000 2175000 2131000 4946000 2271000 11523000 0.22 0.22 0.50 0.23 1.17 0.22 0.21 0.50 0.23 1.16 60878000 57649000 65077000 58086000 241690000 8045000 12322000 12555000 11295000 44217000 68923000 69971000 77632000 69381000 285907000 8765000 10704000 13917000 10907000 44293000 814000 2254000 1702000 1456000 6226000 9579000 12958000 15619000 12363000 50519000 564000 5998000 7267000 5221000 19050000 0.06 0.61 0.74 0.54 1.95 0.06 0.61 0.73 0.53 1.93 <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><b><a href="#" id="sc2" title="sc2"/>Schedule</b> <b>II</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>NORTHWEST PIPE COMPANY</b></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>VALUATION AND QUALIFYING ACCOUNTS</b></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Dollars in thousands)</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Balance at Beginning of Period</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Charged to Profit and Loss</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Deduction from Reserves</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Balance at End of Period</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2021:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">653</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(917</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">503</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 40%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2020:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">240</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 40%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2019:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">312</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,433</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">345</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Balance at Beginning of Period</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Charged to Profit and Loss</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Deduction from Reserves</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"><b>Balance at End of Period</b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2021:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">653</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(917</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">503</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,899</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 40%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2020:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">430</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(464</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">767</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">240</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(138</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,228</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 40%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 12%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt;"><b>Year Ended December 31, 2019:</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 12%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">312</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(171</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Valuation allowance for deferred income tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,433</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">345</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(3,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,126</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 767000 653000 917000 503000 6228000 0 329000 5899000 801000 430000 464000 767000 6126000 240000 138000 6228000 660000 312000 171000 801000 9433000 345000 3652000 6126000 Long-term finance lease liabilities, less current portion are included in Other long-term liabilities. The number of PSAs disclosed in this table are at the target level of 100%. Finance lease right-of-use assets are presented net of accumulated amortization of $1.1 million and $1.3 million as of December 31, 2021 and 2020, respectively. Current portion of finance lease liabilities are included in Accrued liabilities. For the PSAs vested on March 31, 2021; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage based on the performance-based conditions achieved. The payout percentage was 126% for the 2019-2020 performance period and 200% for the 2020 performance period. There were no antidilutive shares for the years ended December 31, 2021, 2020 or 2019. EXCEL 104 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( #R"<%0'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 " \@G!4.:CC8.\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M:L,P#(=?9?B>R$F@8R;UI:.G#@8K;.QF;+4UB_]@:R1]^R59FS*V!]C1TL^? M/H%:'84."9]3B)C(8KX;7.>ST''-3D11 &1]0J=R.2;\V#R$Y!2-SW2$J/2' M.B+4G*_ (2FC2,$$+.)"9+(U6NB$BD*ZX(U>\/$S=3/,:, .'7K*4)45,#E- MC.>A:^$&F&"$R>7O IJ%.%?_Q,X=8)?DD.V2ZON^[)LY-^Y0P=O3[F5>M[ ^ MD_(:QU_9"CI'7+/KY-=F\[C?,EGSNBYX4U2K?&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" \@G!41]^2M"H& (&@ & 'AL+W=O?@G"+H07B6*)LQVZ3 (Z=;%[SQXO39MVP%XQ$VT(DT2.I M.-FGWU&212>03QI0-)*L>_C3'?4<)1UOA'Q4*\XU>8ZC1)VT5EJO/W8)_+(0,F8:=N6RH]:2LR +BJ,.=9Q^)V9ATCH]SH[-Y.FQ2'44)GPF MB4KCF,F7,QZ)S4G+;6T/W(;+E38'.J?':[;D\@W:F>;F$MY$.+1[$R#DY9CB'C$?6TD&/QYXF,>148) M./XI1%OEF"9P=WNK?I%=/%S, U-\+*+[,-"KD]:@10*^8&FD;\7F5UY<4,_H M^2)2V?]DDY_;[;:(GRHMXB(8".(PR?^RYR(1NP'.G@!:!- W >Z^$;PBP&L: MT"T"NEEF\DO)\C!AFIT>2[$ATIP-:F8C2V86#9 M*= ->/!:H .<)2S=PIY15''"_4/BN0>$.M2M !KCX5=,'A*GFX73BO )'OY; MFL#H3M7HKZ[&*U/O97I>7>IW\_W7)9Q%IIK'ZF]DC&XY1C<;H[MGC**B8QA& ML@A&"O@S^%*DUFXYF0L#A&X?@G71T5'4)0@*\Q%Q)954'C\@D6*(QQ')<<1JC-.IX%PK9J[VW6LLSK-H.Y>UI4%JXEWG?97#&3'XMUF(*,D M22$[MWP-]TTE$2ZD98I-;)=:(MJ,J)@[V+2NDRIZPD_OWM55SAJSZS6L''B3 M"C-C1I*&B]79@6N]W&UDYA=AQ,EU&C]P68E3X^-M>N1V'0S(NKC;R,:GB2\D M9"?K8 =DKJ&21$BPXQ3:#G0?$517%E>_N<4@K9N[N!T7D'?LF4P#*&JX"/V\ MUR(YQ"6'7MOI]8Z&@P%&:'W>Q:VY(!P%@>1*'6PW2+84N$FJ9Y-2+>\.CG]P/J#+_T:0_ELBV"XJY^%VIP8;$@+OWX\(G,N9]*R%DE'*XT M%G$,9C37PG\\(&M8N#RQ*.7D@W,(-_&:PT/ZBDFL@U#;02AN_M#/@C!9DOE+ M_""B2EAY\ :H2N1_/)Z'>,R78*VJA3 MW/,H:C\FX%Y05J9@Y@5DJE2Z9^KAFM<"0[,M@C9J$=]%!"V5R7P1("M7MS5* M.) U?=K(]+?/*/GJ*)M:8+#5R^X:Q1]<8636\6DCQY\FFLO\K9)96K(M:B49 MKHB3>=;PO4:&GY6.C*$/+86L=(P:G9'O@4-*5ZSI#ION&#=2MS;>7.# M>_9T?'%+1FD0:EA)C+3FT+FS)>6^-P8U>G4YLP;O-7I$F*_ P]!,X3*UF;(^ M[S5Z1)BE#U'H0WH$J[H#)X5*+U,Q[ZJ?3FG7';BN9Q8T3U4(UM:]1K;^NL_. M34]5Y";54+K$-,6J]XF%7,ZQ?R.Y M8L:G%(GX D*=PR.8S3+_[)#O:+'.7L0_"*U%G&VN. NX-"? [PLA]';'#%!^ M_#G]#U!+ P04 " \@G!4L5(C0(8$ L$0 & 'AL+W=O^+(*K:<-\\>^7+. M3K(L:OK(@3A5%>$_5[1DY\4,SEX??"WV!ZD?>,OYD>SIELKOQT>N[KP^2UY4 MM!8%JP&GN\7L =YO8*H#&L5?!3V+BVN@49X8^Z%O/N6+F:\KHB7-I$Y!U,^N[N>>5(7I]%[6%;%JBT C14 $/K-:'@3X6."[UBK=!D MQ@W-[D ;P#R$704M'Y[N.\(W[PY'*83-$$_2$&3+QS)]Z>:_X*4U-FU;2AN M0O4L?UX&Z@\&<^_Y$MB6H02G?GPMVSAD<1K 078%$/8 X23 F@FI7ZE1B#8\ MNJHN]7%J0#AD 0Z2Q(!PR1 , C<$[B'P),3OG D!CISM"NEBP%:K88AP:"#8 M*NQC:(!N'+EBF(1N@*@'B"8!MFIU+>K]#=C36DWM\@:HZ0I(KI:50D@]UY\I MH"_*4@1U 4:.04((&8 .59B:W;"Q50HOQ6[ N >,)P&[%:O>J_4H8Y43(K8; MCOS A+!5".,(&Q .51(EJ1LBZ2&2:0AYH'P"(+$:#9 Q =:V)L7&@K"Q-6&0 MC$R1M*\]G:S]4RVIL@L;Q=N*T)P>#HGOKASZ@Q'Z;ZM]8@9T*2X; MOH7*(PP"ERP-S %PJ<(8C7!<&#K\!8?N>O!$U::0=@,!)'EQ+[Q=LJOY@"$V M7RB'#.$H,&>U0Q:@:'1LT,"$WL*D*"9'!]FM1P$V46Q5A!.+Q%:%<9",@ Q& M#G_MY.-S ]KN"R%&II6[9,HL?1/!Z>7^V LV>#EL_3,883B)VSTAQW\^$EZK MM58\4K[5N\*')VTBF9S8\,#!:^&TV:Z(*#+P7NTK^R_P=4Y(**3"B7*K56 M&UNEH$8,%PZ."^/)EV';G@=.0H$IKIX'9*3,3F5[?KB?>B4&7X33QCB\$NTA MQ-UE#NM+K$V82Q5;VTBG*H0C739X))PVRI4IB:_ =JC@V M-RK>Q3&RHGS?',<%R-BIENW1JW_:'_D?FH.N\7RE?PIHCJ=#FO9WA,^$[PMU MH"SI3J7T[V(UU7A[-&]O)#LVA]4G)M71M[D\4))3K@7J^QUC\O5&-]#_0++\ M#U!+ P04 " \@G!4$.7Q.04# #S" & 'AL+W=OV<ZYS=18%)"%.<*1,!Z=<.3S&E)I!.XT\=TVNF-,3C M]B'Z9ZM=:UDBB:><_B*Y*D9>ZH$^_X)K/;&)EW$J[1/L*VP2>2#; M2L7+FJPS* FKWNBM]N&($/;/$&!-@&U"[PPAJ@G11PF]FM"SSE12K \SI-!X M*/@>"(/6T4S#FFG96CYA9MD72NBO1//4>,J9Y)3D2.$<+)1^Z355$O 5F/)2 M[Z3"+/$.@Z\LXR4&=^!E,0/75S?@"A &?A1\*Q'+Y=!7.AL3T\_JF2?5S/#, MS"$$3YRI0H)/+,?Y:0!?RVBTP(.6";P8<8:S>Q"%MP &,'0D-/TX/7#09Q^F MAX,+:J)F92(;KW5MQ8TMUQSMW3@,8Q@-_=VQ8 =J$,3!*6K6 M1<%D$, &=9)^KTF_9VG1F?2_JP(+D)WLH4H.N*9GNXX%?< M3!A?]&M>WT64H"6A1+T#E/_6!\CL9Y>#5;3^D>HH2%O^=3%W,&ZYU\6$?;=U M_49)_Z*2%Z8O<$K^ZA-IG ):5(9D 5;ZC@8%SM?8>=SZW61#V&LIW3%6W:3/:5.Y' M6[!:XQ-=T:L"_#],]3OPA,2:, DH7NF0P7VB&PO=V]R:W-H965T&ULK9EM;]LV$,>_"N$%0PLXL4CJ M,4L,Y ';"FQMT+3;:UJB8Z&2Z)*4G>S3[R@[EB-2= ?L11S)/I[^QX?[':FK MK9#?U(ISC9[KJE'7DY76Z\O93.4K7C-U(=:\@5^60M9,PZU\FJFUY*SH&M75 MC 1!/*M9V4SF5]UW#W)^)5I=E0U_D$BU=O7WPNGU;:?#&; M7ZW9$W_D^NOZ0<+=[."E*&O>J%(T2/+E]>0&7][1V#3H+/XJ^58=72,3RD*( M;^;F0W$]"8PB7O%<&Q<,_FWX':\JXPET?-\[G1R>:1H>7[]Z_[4+'H)9,,7O M1/5W6>C5]22=H((O65OISV+[.]\'%!E_N:A4]XFV>]M@@O)6:5'O&X."NFQV M_]GSOB..&N!PI '9-R _VH#N&] NT)VR+JQ[IMG\2HHMDL8:O)F+KF^ZUA!- MV9AA?-02?BVAG9[?B4:)JBR8Y@6Z915KC3N%SM'7QWOT[NP].D-E@[ZL M1*M84ZBKF88GF_:S?/^4V]U3R,A3[GE^@2B>(A(0[&A^]^/-@[?-9Q#O(6AR M")IT_NA8T*V4O-&(*05Q7GH\TH-'VGD,QSPRM4+0-R@W%_Q[6VY8!8]P]M7. M5=2Y,LML,R=9EES--L<]8AO1)".]U1N9X4%FZ)7Y1;*"=SJ%7G$)ZS#GH'11 M<35%\*$0JV!A=Y, 4@0J1+O0R[:"U9:+%L)!8HG.HH!V/LZ2.''%M],0'TF/ M2!R'@P!MJY#$:> .,#H$&/G'031:0FK8#ZU+760]%P<)3H*!/-LLB;,TL+!!_!D H MKOI)XA*:V$*3<#C #B.^3WCMYT3D:3X<@[S' 0X71$:,\L[(?6IXX!GB&FUG/CF P3I>@3 A RH;R;#N:T "/#7-/&AS]4!%1E6Q15J6&G.ZK)'#/".R' MQ*OCM9!=I0O(K43S=*ZYK*%"7;BGDDT%:Z!LDR0)\$@_].# ?G+#S*^FMW/)B]*9 HB-B31.XF'YZ# ;*;I)3Q+B)\D?)_,3L2DQS$\.DRA- M1RA'>I 0/TAZ;=;TG [GKGL:V 0!2)-H*-\V(TF&QZ9!SQGBW]+<\R6'Z5K M%CP7-4>:/8_H=.UL,JOL<9F1,!W3V6.+^+&UJR9Z4IU:7#:-TH1:8FTKC$DP M-BEZ:!$_M'9YX)1$&TSV;P\%+M68YOYZL)5=<;OADCEPG,_^#H[?1]SPD MF;? >M0B_[825<&E^OFGE.#DEVXWI5^\)S8]RJ@?9;#EW:\L99XT16<7 88J M1J(-JUH^13B8!D'WA]2*2;,I;O4*=N__\ )V>9C\VR8_[PF;V/L>4?]O#,S". Q%F#D"S";IDDPC>*DFWMP%T33D":OIOO0 MNW."/G:HV VE[GG.ZP7D@]=#O\[.'-]-$31>\^[TMGIQ=I7-TVQ8U;ML1I(" M[8%+_<"]*8"L4-1 9C!G(>=EG3D MZ(?N9ZX9?%4@SF1CR@2G2ANJ.,HRJ]YRV84I'<,"[?%+_?B%VKNMVZH[7]X= M.@+%(%6LS*N #>!8*+=P&Z?G4&9;O>LR2X\.3][*[JE+_=3= 4*-IB"G9)NL M) 4.#$MSEUVP1;5NU?W'(&+KX-FYKW;8.??5LZ-W$^;%T)], M/I6-@GIK"0V#BP0\R-V[EMV-%NON=<5":"WJ[G+%&8@W!O#[4@#V]C?F#=Y>(" #]"0 & 'AL+W=OM50I,5!5&U=GBI*X<$JYZV,\=%/"A#.;%&T+-9O(W' FZ$(A MG:[J>,Y;PU/;),8V^#.)AG9T"4US]E"0R%P3$>N):P#%!G2C:MB'+?.Q['>[S\]UQV]V%":AGP:]GP2_B#0[$N^>0SH5TV!@HEOG*K',..1;) M7)A.?67 H AH]\IV%N#^Q-TV1>S;A,.PMFF1]FO2_E'2!60Y50H6"U(C>KE% M&5%H2WA.T34L22PY)TJCC,)636#Y;KK8RR'"!A?N8>\=_ FC%OV@IA]<1E\P M:D1RDTC%_D"'55&V=J*7\8<-*@^7OW?X9QBV) 2UA.!#$IC6^6G\8(_J/??@@8SG1M8/[R&-1R$.&H=>B=YEAX-! M_\#AZ.%_MQF^G/V"3*_"GU;0:=@EP6W*?0'4+[[97U!+ P04 " \@G!4 M.1OCV((& 9(P & 'AL+W=OC[>D#+;]4&T(8^)YG174RVC"V?3>95*L-R7'UEFY)P=^L M:9ECQF_+^TFU+0E.:J,\FR#'"28Y3HO1Z;1^=EV>3NF.96E!KDM0[?(+!Y'2ZQ??DAK#;[77)[R:MER3-25&EM E69^,SN"[ M)8J$08WX(R4/U9-K(*9R1^D7<3-/3D:.B(AD9,6$"\S_?2,7),N$)Q['U\;I MJ!U3&#Z]?O3^OIX\G\P=KL@%S?Y,$[8Y&44CD) UWF7L$WV8D69"OO"WHEE5 M_P4/#=89@=6N8C1OC'D$>5KL_^/O#1&'&*#& !UJX#8&[J$&7F/@'6K@-P:^ M9.#' P9!8Q!(!@@-&(2-02@9N,& 0=081/((X8!!W!C$\@A#!M!YS)PCF4!W MR*1-]G[1[5=)O<0N,<.GTY(^@%+@N3]Q4:_3VIZOK+006^J&E?QMRNW8Z04M M*IJE"68D 3>,_^/[A56 KOD=77W9T"PA9?4KN/JZ2]D/, :W-Y?@U2^OP2\@ M+<#G#=U5N$BJZ83Q:(3/R:H9^7P_,AH:>9?O,BPV%+A:K_D.>P.N29G21(Q] MEM"MV')O^-4_G <1%/CK(\GO2/GW!%<'BN<3X3QVLGS=X7+(BWN*U,45T+.3ACK$SO=@S? M900PRNDIGV(T\;P_5CR:L3Y8QCIP7@)]SG.%B12KPBA-7;7A8U6N &;@DJ[? A6\ ;5"[%4KBVVD%H)RW[CHR\.ILM:*[@HEG MO&06"2Z3"MQN11$5T7EC)VZ)/"CV\WT(_I/8G3;J?2VS(BY5!'+]/N9*Q8P5 MT'O34#T*O99"[YD4'I)/3PDC#ON1SE0(A%$D3VBN@3D0QEX?ME!A8^B[01^U M5%$(1GX\0)'?4N0;*?J-J^>T6-&E=P==I<\Q?\H%GA^JBVY76FUT)T MG$5J\F",/'VL<1MK?(Q8=?'%UIS&UIQ:$0LK8FE"]#B"3G?L<(PLW8BLC,5A M..F30;Z+:VT5;%R:^&@@O92&CK1"YQJ43(H=LK2-U6?FR8$,_F_]$VOI@1H! MY 5Q.!12I\B@69)=%8FA>>N#0?;N#57%!I'C>YZ<+ATN=ETHYTS%C6$$/3EO M*@QY$?2C 9HZH0C-2M'O7;(7 .!T$>N3(75T]+JJ<_" MD\_IS*KPN8T>J;I+X<4*F=LA"PV$[U>9%3.HSTDG 9%9 KZPT2/KIWLS9->& M=LA" QE#)"MD&ZI/3J<,D5D9'JG5(U6R!3YT!X0LZD0;,HNVG]CJD2KDY%:/ M-.H*PB"4ROWO,/8WC&[KK\_O*&,TKR\W!/,*( #\_9I2]G@COI%O?PUS^A]02P,$ M% @ /()P5#' FL>. @ 808 !@ !X;"]W;W)KD%I[?PV#$U68L7,A9JCI)E" MZ8I9"O4L-'.-+/>@2H1)%%V%%>,RZ'?]V%CWNVIA!9@%=_'M*'7Y/N$7QZ79 MZ(-3,E7JQ04/>2^(7$$H,+..@5'SAD,4PA%1&:\-9] NZ8";_37[=Z^=M$R9 MP:$2OWENRUYP'4".!5L(^Z26/[#1<^GX,B6,_\*RR8T"R!;&JJH!4P45EW7+ M5LT^; #BJP. I $DNX#T *#3 #K' M(&X+)I8;.U!I0!44J>RF5R%&;+W#_NN#V M'4['3%-"B99G3)@S^ K/DQ&*2M;A!\BGC"+,+Z,3GD$1)_$%!P^/AT0?PT='P M^.83-9WVJ#J>+SW -VX>F^!LRH4[#);_H1OB#NP<+%L!KL@-#(93E%AP^]$1 MU$M<^B6<);SUXRCIAF^;N[*?<[V=,=K/N&PSMK2EK;;T4VW/DCQ+\+]T"6?D M57 JE*'+16HS9DHHR)V@Q'R&YFBEZ5Z-:;PC=#_E9D?H?H:["5M*PXW'5Z&> M>1,SD*F%M/55;4=;G[SS]K S/B#_K.WN/TUMOH],S[@T(+ @RNCB&Q6D:T.K M ZOF_HE/E27#\-V2_@&H70+-%TK9=> 6:/\J_7]02P,$% @ /()P5#O0 MS#[W" NB< !@ !X;"]W;W)K]KT?"[%G7[[;9H7V]Y M+9^O9GAV_.*'>-ST^HO%]>6N>.3WO/]S=]>J3XNQETIL>=,)V:"6KZ]F-_C; MBB6Z@4'\1_#G[N09:2H/4O[2'WZOKF:1'A&O>=GK+@KU[XDO>5WKGM0X_CIT M.AO?J1N>/A][_\V05V0>BHXO9?U?4?6;JUDV0Q5?%_NZ_R&?_\4/A&+=7RGK MSOQ%SP=L-$/EONOE]M!8C6 KFN%_\7(PQ$D#G$PT((<&Q&W )AK00P/ZW@;L MT( 9RPQ4C!U615]<7[;R&;4:K7K3#\:8IK6B+QH][_=]JWX5JEU_O91-)VM1 M%3VOT'VO_JE)[3LDUVA9=!OTFW*,#LW1G_5[S\BBB^ M0"0B&!C0\OW-(Z#YZMW-<1Y@0\?YH*8_.C4?VNAK8_1U*[=(+?"VZ$7S.*P0 MT0O>?0N\AXWO8>8];.(]WU5($4TIMQR:PZ%M;-KJR/%TC7%,Z.7BZ=2P "J/ MXN@_!N)!Z(R&8N:0 $(E2AY,/HF3"G[*14?;&C*UYVQJW&'RG>.$@ MB\RW9^9X_-+'D#S*'!(^B.$DAUGD(XL\R.*?2N>1FA+1=/O6.)SR^Y)S.%#G MW@A<(CYBKCS1G0X(E; )%\.1%:8H2.9^4[1\KC6]0FI.5*+3#0['7_0S&+<. M79Z[!DX<6A JRMP) E XC29F")_H+0[2^G>_X>V%CDP@ >R_-'?C+@3*LMP= MOX_*XF1B^,0.GX3U::-6.N]T%G 2/"C*O_9"+ZX3 MG'K<;_D9/A1YL=5/3(/V_=D6%3>OD-K26AJX>"I4;(*S%>K[0NY&)0"$XX2Z M!O=1<\IH/&%RJ]0X+-4J1>M;)5 '\TW[#@/>3]/88^/C,AQY[@/TEM%TRO^M M<.,XR.;WYDFIMFS%Q'S$0#1)$S>K6 *X%,?>E/BH+&%3'*R\X["^W[5\5XCJ M&(FZ$W>;UC_L2W&2DM3EY:-(C%U5AU L9A.\K*SC-W2]+.5>IU2[XE6O&)"& MK[XX23,O1OFP.8TC[!(!8"Q)I]:,E7,CQ/(U?K MEA L=S-> $3B9&IVK+CCL+I__W@R"S(%]#K.,':9^K XB3)7_ $8(UDVH3/$ MJC^)/K0/$BIL=!](U8D59!(6Y!NM3ITXYK(/^TX!.JM>QN1'"8,,2GRAG6L_>CZAVP>Y.'+M,?#A^"$N@L90!%\LN4_IV+EGH3EWJ2[X.H% MV?AZ38FWCGR0&X&A?B94GUC5)V'5'^/O(>2^GY6OUG,<1=C+S"!@@AGUEA&$ M8Y.39?6?I!\*ND/9X@-!U^HS">OSK6Q5&]5SI_>K^E<3:E6$%7 @ O;=A)#4 MLR"TK::IY^P0+&43$DVL1).P1/]0>>'KH8#Z+EJ %M,X]L08PH&\(&VGY*3X M<%Z4M'),PYMQ9[YD\SCO>;M%%7\ B5%_\^R&)0""XRQUXVNPIW,V5O)I6/+O M3B?I;2Z ;BO;>R((X0C&[AP!L"E"5M[I&_)^0NB\UOA&VDL!069>Y@*BB!MT M012=6%/TI"#^AK:/W-9FBI#HNKUA6,H.%G<**7?FL0)0+(E=5@"*D*D%926> MAB7^9_&"GD6_V^EK>R+3*KEI1:EA72_+7R:! M4ZF<.?[3%AE:%<]%"Y?\*+"IQSAQ"V00+,%NG@J@IAS9I@LTG"Z\L<>!! GD M"54'(E='EP!,J4KLA2"H)J&2HXE-#K49!0UG%$,Q3:<2PR9#S:9YT#GY4U'K M:0?9 ?)/64Z]" M4''(O)P=01*4AKU;H2W M0H(;*PH4^M/<*YE ,!QY-1, EB3I%$V;R=!P)A.@R77Q(4@0.BG(/7X^"C## M"H*=F>&I/'=3BT1>;M4+HJBYU0(Q5_PYMU!M3^ MJ;/@EP HSMVH /4T=8##;&K"PJF)Y?UYJ%SSZLND">Q1%?I\,$/+U_NF,FKQ M*(G)(1E;@H*H#!U?74%H.;QQ/:>V?2&A0\=OLO& MN-K)AFL\5/W T;A-.5@XY3A6#^%""=H=JPV@-?U\(77/EI8 R-OGKJ">\)2# MG9S[AQ./([=2-IT2V'8X4Q/-4.+RZV @1U_YY,C<$Y7FK:\?327 MPU1\UV%^N!TT?CM>0+LQUZZ<[V_QM]5PC+8L.'7N[,U:D'V?=R:QXWO%"K1@/4[VLI^^,'_8+QNM[U_P%02P,$% M @ /()P5,%K%@(U @ 2@4 !@ !X;"]W;W)K\ZY&^V4?C$EHH5]):09!Z6UF]LP-'F)%3,]M4%))RNE*V;) MU.O0;#2RPH,J$291- PKQF60C;QOKK.1JJW@$N<:3%U53/^=H%"[<1 '!\%*@L;5.+B+;V>IB_G)*E M4B_.^%F,@\@EA )SZQ@8+5N+P_L-][[:1ER0Q.E?C- M"UN.@YL "ERQ6MA'M?N!K9Z!X\N5,/X+NS8V"B"OC555"Z8,*BZ;E>W;.AP! MXN$)0-("DK> _@E V@+2S.#RX@HN@$MX*E5MF"S,*+24E*,.\S:!29- H3Q6W P]V+;[-KNG6[;'<]R'Q('T=,WL?D]P,NY@F\?#H+ZM0KWVW M&LA5+6WS.IVW&PAWO@_>^"&PO=V]R:W-H965T:&DE$*%(AJ2CNUW=(R8H"9(V^ M2+S-F7-FAL-%J\VC+1$=O%12V654.E=?QK'E)5;,3G6-BG9R;2KF:&J*V-8& M61:,*AFGL]FO<<6$BE:+L+8UJX5NG!0*MP9L4U7,'#8H=;N,DNBX<"^*TOF% M>+6H68$[=+_76T.S>$#)1(7*"JW 8+Z,ULGEYL*?#P?^$-C:T1B\DKW6CWYR MDRVCF2>$$KGS"(Q^SWB%4GH@HO'48T:#2V\X'A_1OP;MI&7/+%YI^:?(7+F, M/D>08YU^PU[/1\]'M?2AB^T_=E9!+RQ3E>],3&HA.K^[*6/P_\Q2'N# M-/#N' 66U\RQU<+H%HP_36A^$*0&:R(GE$_*SAG:%63G5K?:(21P!G>F8$K\ MRWRL%K$C:'\@YCW,IH-)?P"3I/!=*U=:^*(RS-X"Q,1I()8>B6W2DXC7R*=P MGDP@G:7)";SS0>AYP#L_(=2"T_!5**:X8!)VCCFD G/V!/[%@'\1\"]^@#^. MWP2NM+):BHQUI:41ZH'ET)@LC99F]%)I@1:"?@2H2??_JZ1)@/41* EM8;NLZ1_!D+EAEEGFG ":J,S&A*^CQFU'L-\VH0" MUVJP6(0X3:C*"E*,AA!V#E&&\(:X!24?>F:[[79@U2>!DS>X>>O5;XT1#Y82 M8@>4WNJ(-(6'DB3V9* >)Y;6.:5>$ !MA="55$<^6*,H)9_F=*X4F/<2?: R MY"*TNHH]HIF$D%^%,U]>D#<^&W"7YX+[37QFL@FA(?O0FA5'7U8C3T&6![,# MMJ6X%\R$Q/B33%)]#25)0G1C.-HI!0A8EHFP0W=FCT<+R4SA"^9-6LD67\-G M0T*Z-->4#5^;8/N84B9#U<&Z0B,XF[QA/$*U4%)#/7MJF!3NX*,<,N*R%[?9[LA'J\.6L- MJ^LQ/#^0BJP7U!Q.\4 M;$%)DYB3Z6SZZ6,$IGMFNHG3=6CM>^WHH0C#DNX=&G^ ]G--7:^?> ?#6[_Z M#U!+ P04 " \@G!4C XH@KL5 #L/ &0 'AL+W=O8V'P7PH MD26I$HID5Y%6W+]^[KFUL*C%[9X!NAV)K.767<[=2J_6M?EAETJUXN>JK.SK M@V7;-B^.CFR^5"MI1W6C*GHSK\U*MO35+(YL8Y0L>-*J/)J.QV='*ZFK@S>O M^-FM>?.J[MI25^K6"-NM5M(\O%5EO7Y],#D(#[[HQ;+%@Z,WKQJY4'>J_=;< M&OIV%%5,&K^^N!J\N+M"<;S@']IM;;)9X&3S.KZ![[<%*\/QB!( ME2IOL8*D?^[5M2I++$1D_.'7/(A;8F+Z.:S^@<].9YE)JZ[K\G==M,O7!Q<' MHE!SV97MEWK]#^7/LW=C3Z8'(.]O6*S^9*%CIROTK?WH^)!,N MQGLF3/V$*=/M-F(JW\E6OGEEZK4P&$VKX0,?E6<3<;J"4.Y:0V\US6O??*I; M):;B4-PYJ8AZ+N[THM)SG3293\;&NVJ45[ZM"%<,%CHCB2/8TD/UV^NB*[U0^$L>33$S'T\DCZQU' M-ASS>L>/L,&*MA8?="6K7,M2W+6R5:1^K7UD_9.X_@FO?[)G_;]@J?COK^IG M*]Z6=?[C?W;Q]]'58;@O;"-S]?J +-,J_ M?KKY<'-]]>FKN+J^_OSMT]>;3[^*V\^_W5S?O+][(=Y*JRVD?UU7EL@JI+.: MJA"W6+-JW8.O2Y4,4<5.C@EIE% _08RE(;H2WRJ-P3S$BG=U64IC>75=Y657 M*-'2PM*QANEH>:-5(ZL'-XX>VVYF=:&E <_J>V7$>JGSY6"L^JE,KBT-R$GG M#%F4C.O-(ZTVT"IPBI&XJ5J:%K8+9&#?ULC*2L80*Y;R7HF94I50I29S! =& MXOU\KAA=<%+>I^Y,NV3ES$1=*3$YS\0-&1AM@MVO:V,\+!%E[XVIC6>L(X!> MUH8LA3[[VWK5ZQI$ 5B;&11@9RVR=I '&"^ ^OH=L' M C5BA^P5OR'R<]V4M,-"5KJEK]/7CXG?OW1:=(Z@LB*? H+F*QZ)7^0/L9#0:S?NV+A*&V7 MLA6218<=(X.B'WWS8G: M".X]HIE>_?90Y#7##2)3(S])7Q*]<).8V<2UFM0TU3!X,LLVU;.%Q+O4Y'' MXY+7)#NKL,,)0-#?I>EIV36UGBZ .J,P\@[MBU MQ:8EJR5(Z"Q!I044K&:P5E";89UZC>W)4(THZF[6SKLRFCV6).:"$5B_,10" MF=:A$/2K8;5ZUN];*#(1$EY$3$B45=%VLR6ZQ*9UYH<,/I1A;M&P9/ M'@)3,F&7Q,I#2*@ X1"M=&]HRWI%QBY_@C"G6:U>]!L[T40EA&\9D<-I.Q(H MF06%*C"-!_$V,.8Z84S_-&47R]6SA@@"QWI9RISX89ENL5+$_\(C0,7S]"^P0]W$_T_WVKE.#_W]$W MB)8$"&9!PNC'X1MT.@KV,!I\[ZEI7]N'(0HD1*PA9%-Y8.\+MEH*XADF .7O@'L <&UWX'P$! M_KV6=LE#^<-[.A"QC>?'-SD^J.0-\].VS-HPR"X)Z \IM%AE!."+9?EP6&J: M4S".V=8Y$W;!=%CR$"P[5FJ$!AMAP'2R]60\$E_H$1$Q*[W'N1I Z+L H5\0S)C61N)QBUT'OHQY)W.6".H6R8IB)84 MMK;P=0[^ -=S4Z]X>X(X5N6'X%5EV!,O>M MGI/I)LP/O*-]\T&@#7,KE(()D\934(Z@U.FX@[S($$]*$J?0^9T-D&J1V8!C MA4)\6QN@:L]N!^8$"CV[ W<#4S/0KN?;/(U+*TN<8@ /IDPJSK_K( MZ[<$K>)[#VN$.)3RZA+Q=N-RG.B0E305!(4<@Q0)OJCEH/EX3/8?HX/!9\B7 MHS=V1F ?D0=W,FVH=B#7@Y IUET-='5*@E+.W!B9U35/R0&V?2 "IEK9+8AX\E14=C-:%QH8&N+^W M:2SV/L9BM[M#- ( X=:()P4M26G#;N0X'$. M16!6=Y5V-),HBRY/PSI@ MZ@J2VB#33;1D6*A_':(TD4YQF0A0&O1[PXL@B+<]4)/$ ?0E)=(Q1PJ^W7DM'>G6&?4DCX"("'?2%^X^+"BD;?^[3KV>14,-Y-7L+< M'P@+[/.7%!U[B8AGTW$<<-(/^(U"4;6LR\WE=JZ&73_*?$G\,ENIQ?'VC V! M>D4ED9=YYUC41^6/B!$XF?H0YA:G@BM805#*/;PCM:L4()%",6!I(!V1]L6 MTA0 ]Z*'OE @N+J[CJ6!KW5#&'EQ,LW$/V75H=;IRQY)2<274=)=*>@4BNT. M\12YHI &#PTA0_%W(A5&Q,N(*7A1JJK4L&2^/B!$QPJU]5@V^ MP/7];#1TMHT[%R[Q95AZPBX$"7WX(HOOY-,1T'!5 $((3Y,55?SDMDWB#)B M#+*U0U$SRU)>142Q\.; ?&.@*,PEC7#>K]*"/M6XW;RH78VHHC?DKHED+,7: MXF2"O?#_KSZ/Z3]$[^W\!9(1&_5L([]P#GV0I@Q5<)"8Y-C=9*,(;[:"/@=?Y((;O4*C:Z3M83GM< U0JQO'GY)6XM4"6 M0JD+@^5(_$XA"<+XZZ1\,M!4#?,JYQ2V^.H!!]XAET 61D7T_>;7<*45T\$%LU/LFI@:#$;O3S=BHHLJ$<=Y:67/N4%?: 9%Y,38I&AS(\[$C<5":ESB)T: M -*W#L3'(ION*[SS<&;X6>,KW9E/G)$-D;'AWPP^JD5V/^B2T$KS(=>TVLC; MV:M:%%1:-DO.7J*_G#L M[M2?HZQ \B8& "E;M7!VWF?B?.2^:C!D=.0DEXOF9%."^+U0:3>FI8R4JT2\ M\!_DG?2<0[:_YOYHH& L.Q\7W/K._5L*<^9Z0_L@_G9-B#T>3WH678=MOJ;: MA'ES[W51=PB#ACW"09I$NWVDO"I'8Z'QQ4>7BF[WE0KN18[0H58MHL)]80 G MDVFYV5'2(N#@<%B8V%VJZNIP];<7'(!TNB;J;ZXN,>CV))V.O[]92,=W4/\8 M*4E6]SA%3V#!*!4T%W8I6W+N];DSMR>8?Z$LC?!)XJ:6A\(NQ\)LH83YWE#U4\AVN#4,G<,Z=K2HWE"]$JBEZ#K1F0E%JO&'A$09[ MV3-2#@NW>.GJP0*HC>!-&;Z\!+]<$[$+WTP+#0C2,VV=2_/MB4@2$".$X'>W MMU'GP:RG"B.T-'S/JJ\H^OU["7L.<_;"WM!EYC-B7V?5/FX8Q,Z@WJ=XCCB* M,L+!G3ERJZLI.\N5X=B6I7T(G%&+R<$@+WSKVWSZCRXY"*,[WX"H:LY4;KUD M_Y(MO:S!&9Z3 MPXU^U.#>2*-\.#%3R/@U!3:\NJYZ# SHUROM%6DYXB9FY^;RM'U(Z09Y@$/ P5GDFJLG M6(%!C#$@N/-!G8Z",W];)LG+ALT^3DMXP6$,TN)*N([1MUBCF'#O($B)U_!M)MBQJ>])AX+P=JH?G]D%Y5S+-'.EG8^H MR;^9+-0S0A2\37A"=4 '5[,@*T+Y^$.O'(RR"=\],PAOZJY-^D##:QN)UF[O M/M L.O L:<2A**KN@]Q2>:=;,5%)&=*9KT>O%$ LXP%7O<)U(#1WN)#KDUHO M+60&O" 9=7J O7)WO$*IRT-+:(A!+=']@M*7#[Z"PUK^I):L2XYJ_8N&BL3Y^0-=4>7#L;XSLBPR#2CD&PJ8[QNQD M)E"--E-W7E+C(..N \Y@LY4!![_"O=G-MNG:#CY_O9#/'*\K>1[)P"O4,L M'#:YZQD:M\XTO!=/[BZ%&U[&V)N MRPAT%"MP&4435!I!Z9%)' 7^\(K%_ ,=#@JSRRDL+7IKW8E MJMG+T<.TY]]*_V1Y![@)%P\L+PM#'S"%^Z[)141X$SQ2R?72WE;XVNKVI5$[ M-"A?5^*"P7ZYL?HYM7 %0E<%\45C(''M09+OX'YG"DG6E&ZWP5KN55DWH7\T MV-B=.%W56TI_!U/.X$I89-9V?.NNAOH +N@-#N3KU+AUN_!4KX0)0&I.2G98ER4.,=() .7TB5G5S]E!(>D=+OC\H;J52;4-B4G:8/. M61"$^YT%Z]>]U*6[OI%>3.4+AZXHX/)-W'G<>3;7)-;LK%9DA8>E_D'NZ)!P MNSK3L:B\86JII0(+&9TJ'#Y M*.U )RQV](S$)Q7].EF'BQ3Y(GW."^C^E8M4M0N%NM:ESH6F."_$.HL:':XCCG8HC/L^B9-E)$">(,I+O2-QNA9D8WU=( M"^[#AO$N!DBEM#M<3**4E6I=@R-P1U5%+^KAE>FMSF(_--TG\/>FBB#IFH/, M:2A[]B3V^1LHOE85;ZDYL40 *1(ILJWU,O05!?0:26CKNBOYQBPN*/8<_C24 M_HS5U66-;N$MO0LT\AZICJVYX!8O(/2W*H8]FXQ;LDV;4NINR3U_(?Y-P.I^ M%K2OL<,M^H3J7\1DDIU.C_'A,AN?CM$ .<\NQU-O>X\>P Y.<)E=G)[0W_.+ M"_P]F?C?=_+D]Q]-'%6=R;7YZYE\?NY:EX)B;PB$:YVW0$]*E&!+KF M3R]>^@L3U[A.B%*1J>:.&W4=+96S]WJ M:'=D:;<;OR3AE6";F_=.LR?4D!TPQ;1AD.W!*\3;1]NW6OOR:G^'D$)@:09X M/:A/!81<=17?&W9Y6):6>C&PT"B,S#H48,,5M%B1Y=>-2S]E;KAFC5\.HMZ+ M-EI#7.:P9&]W-A,3[WP$30Q8(%$LUIZGC MT?GI@:MQAR]MW?#O62E0(Z/BCTM%=FDP@-[/:P(7_P4;Q!\XO_E?4$L#!!0 M ( #R"<%2W\&PO=V]R:W-H965T]>71\D=)ZM^ 7*99F[9F1)1.E'FEP59SV0E)(E"*W)('C[TERQMC5=5NA@:5K/T_?VYQ6-LP#M_9$+<;8J>W/\AI^8%; M?G:BU9)I6@UI].!,=;NAG*S)*7=6XZW$/GMVK:Q@"3MD%XW!*V/8I:HFLN:$ MF3GI6YQ!*_MY*^_"RXO?D1?%[(NJ[=RPCW4ABK<"^E"NTS!>:7@1[Y7X0>1' M+(D"%H=QM$=>TEF<.'G)'HL-LXI]@I5U+GG)[BRW DRS9H_\M).?.OGI._)W M /\,23U*HF V'LQ]\;N:#G@'W^?,EN M:G:36S41F@T\Q@&S%PS:E1*$1:2S*9>:/?&RP38U=3NY,<(:!"6TT:)P6TK))[*45F(9 MWC<5S;L=&QJR<[_[DINYVYG3@X H'$)N9 :%< L4SM1((KG $AAB M6!0%89*RJ_H)&Y2F,Z,X&(T2=JO%@LN"B6=D/D.Z= +BC%XC(VK[XJ;%"DPV M#L+1D-TL' ; JQ2$BZ:D<*BFAXWI;!Z,@R2,<++E]4P2JNT+D#P,0_9!3(4F M3&2=JTH ^6%?-:G"S<'D:/JN):J">,%8B@6/J#1-KST02;J13 MJL"B !G8SMTK\9Q3(+]C 9VG"\_166OZD3/'J?U&V?488!401B9P"0=Q(BFB MRA?(*YV.2$UK1 V 1T=1# H\RZET3MU"*J""M$V> $9N.3YP"JX4QP@0K@43U()"-0S.H?QHG!HP;>R]FT!P2&!Z,2B#1!%B\(:L-SSD?CE&#)! M:L$QI?,69!I%BP@-*M.YLX[<(+V/UA!C(*I41< FC66ULG#C-Z4JH+' 4H*\ M34%?X=DF=1#!TX;X_R3,,?O8S3_X^<]R*M@G.FJNDM'I2^S<[E ]@F/0D1%E 5C) &?NFI>M?G'NC$,>FQ79L$0RVZA M ID41YB*$*8AN^#Y8ZEF+#P:,AK[*-PV%E)2G-(UVCSRX7=_&\?1Z'L# MK0J ;(]UFIY.%=+OQ)4HN2;M]$ LB#,(-&ICQ.)U125"ZAJ/-E0;*'!"]&^ MQ+:1K@TF_8=) "E @ZK,G80'L7=1-%HQR^-Y0*VDWAG],9_.%N8%.M;VD'AEFTMQT8!>$X>],-#(+A_F8@&0S? M:P:R(,R^K1E NS4K M4\C?W8D,@B1-V(W#H%3U[- *7;W9GB79GFXASH(D7LLX:%^R\>!KW4*:!6F4 M_=6ZA7-HA5<&WY NO>XNK:NZNIZ MDLBXQ-\=4/IW'J:YE+G366 3^ZBDEOH M*(WM FFW06N9YU7K7<<5OR%Y^RYF33&?(GYJ4);1!_H _4O4Y\C59_3Y2?2F M/+MRC/X:WP:OM3=#E(5I]&[US;#B8!7D_R?%UU?2%3G9$B2A!NO/+*\QFI*- M\CK\7\LKP [1);&'FC<(%T&E"U_S%"UKW]EF@W1-MQH(,1=;JYLHYKZDB7F> MB+51I2R<)3XT.TJN8 R/A.S&R'YXD3KT6^T()SZ+.XHW1Z].V MG[>AV'4_TU^[_4+8SMP='S5+*(?^(JR;[:X1S_WMV>MR?P?YA>N91$M5BBFV MAD>C0<]7[=7 JH6[2YLHBQSA'N<"J4#3 KR?*F57 SJ@NUP]^R]02P,$% M @ /()P5,)2 ,BB @ 5@4 !D !X;"]W;W)K&UL?51+;]LP#/XKA+'#!KCQ(X[S0!*@Z0/+H5V1=.UAV$&QF5BH+'F2W+3_ M?I2=>!G0YB*1%/GI(T5JNE?ZQ12(%MY*(!)4BB,,P#4K&I3>?-K8'/9^JV@HN\4&#J9%W M-*SXKK#.$,RG%=OA&NW/ZD&3%G0H.2]1&JXD:-S.O,MHLDBG'*,I]YH2.$ C/K$!AMKWB%0C@@HO'G@.EU5[K 4_F(?MOD3KELF,$K M)9YY;HN9-_(@QRVKA5VI_7<\Y#-P>)D2IEEAW_KV$P^RVEA5'H*)0+<7-2ROF67SJ59[T,Z;T)S0I-I$$SDNW:.LK:933G%V M?J\L0@(7L)2O**W2',TTL(3LSH/L@+)H4>)/4*(8[I2TA8$;F6/^/T! E#I> M\9'7(CZ+>(U9#_J1#W$81V?P^EV>_0:O?R9/ U;!+9=,9IP)6%MFD?K+FC/X M28>?-/C))_C'\KW#-3>94*;6"+\>\3.H M7]&;)SU8WC_=W#_^6"UOUI/39X-,T:P8"VH+MD#8*D$CQ^4.OG))%E4;)G/S M;0)47"PWJ+L"NR6$%=M3:UG45!T#7R!)_'0\)"$._;0?P3/-UP67%Y56&1H# M?3^,1A#Y292ZLG+JPAQV2N4&HM /QRD,_&0TAG5=5<(1C/Q1$M*:)A$\*DMO MP$_H?X'!V$\'D;MP[$?#(7ST+L%)KY>H=\U$N]QK:=NV[ZS=IW'9SLH_]_;' MN6-ZQZ4!@5L*#7O#@0>ZG>)6L:IJ)F>C+,UA(Q;T\:%V#G2^5=15!\5=T'VE M\[]02P,$% @ /()P5.,I*&MO P *0< !D !X;"]W;W)K&UL?57;;N,V$/V5@9"'+*!:5\MV8!N($R^ZP#IU M8L7,0-4HZ/2FT_;N[6>3U5C!9>XUF": MJF+ZYP*%VLV\R#M>W/-M:=U%,)_6;(L/:)_JM:93T*,4O$)IN)*@<3/SKJ.K M1>KD6X$_..[,R1Z<)\]*O;C#MV+FA8X0"LRM0V#T]XHW*(0#(AH_#IA>;](I MGNZ/Z%];W\F79V;P1HD_>6'+F3?VH, -:X2]5[M?\>#/T.'E2IAVA5TG.TP] MR!MC5750)@85E]T_VQ_B<*(P#C]1B \*<F2\F U?>6D9^=WRB(,X1=8:TJTMC^!R0*6/QI>4^CM-+!DQ(D&^0%P MT0'&GP!&,:R4M*6!I2RP> L0$+N>8GRDN(C/(MYB/H D\B$.X^@,7M*[G+1X MR1F7#5@%7[ED,N=,P(-E%IV_Y@Q^VN.G+7[Z"?XQDCZL!9/V;4#AEIM<*--H MA+\?<6]A(53^\L]'@3YKQG7KE:E9CC./VM&@?D5O/AS ^OZW]?+^\2^XOKN% MY>]/W]:KY=WCU=L$XY&/#Y(Z/U?49<8:4!NP)<)&">I6+K=PR27=J,:0EOER M!90,K)Y1]PEQ2PC?':C[\:K6ZK6+)5Q '/N3<-)M1J,$%@T7!>$:2"=^DD60 MCOPL2^ [4F>52KP#2/QP.*+B7+&\)/?U._(0I:$?1D.(8H(934["W%#Q:=BT M&480#AYB?YQ,:!V.:8W&?C1V[$-_%*9$P!@:$7E3-8)JH:#.IJA2<72SPWE7 M*6WYO]W%911F_H2X?8'+2>9GXY1V413Y<9Q"%*:^"\H-1=7JIAL_%$=R;*N= MG8A8IS%D?I2E9_-R09X19I:Y'6E%9.=:"(?T@0YP U1,+?TV;0A/DKM36]_& M!]SG6%M*KX:+:#*8T$01XNC@11P.DOZ&*L$Q^,32KN1Y^<[>"O<\5\#:*OJX M3GSXJ+^"D_%5H=ZV0]I043;2=I.LO^W?@>MN_/TOWCTB*Z:W7!(MW)!J.!@- M/=#=8.X.5M7M,'Q6ED9KNRWI+4/M!.C[1M%T.!R<@?YUG/\'4$L#!!0 ( M #R"<%1AJ5,_4P0 &D) 9 >&PO=V]R:W-H965T]/!*U;84DC]I,'55,?TRYJ7: M#H(HV F^BE5AG: SO-JP%9]R^VWSI''7V:,L1,6E$4J"YLM!,(HNQXF[[R_\ M)?C6'*W!>3)7:NTV=XM!$#I"O.2Y=0@,_W[R:UZ6#@AI_&@Q@[U)IWB\WJ%_ M]KZC+W-F^+4JOXN%+09!+X %7[*ZM%_5]D_>^I,ZO%R5QO_"MKF;I@'DM;&J M:I61025D\\^>VS@<*?3"#Q1HJT ][\:09SEAE@VOM-J"=K<1S2V\JUX;R0GI MDC*U&D\%ZMGA@[(<,O@#;I5:;$59 I,+N).6R968EQQ&QG!KKCH6C3F53MX" MCQM@^@%P1.&+DK8P<",7?/$:H(,L]U3ICNJ8GD2<\/P"XH@ #6ET B_>NQY[ MO/B$ZP:L@L]",ID+5L+4,LNQY'YW^!5^LL=//'[R ?[IB,)$F+Q4IM8<_IGQ M9POC4N7K?]^+]$D[KFTOS8;E?!!@7QJN?_)@F%W [>/CY/O=_3V,'B9P]S ; M/=S>C>]O8#2=WLRFEX>,SPH.UZK:,/D"!3/8:[G2F#-8[6X(";F2LNVDK; % M"'1A7AOD8@SVUH]:&.%.C3]&!8NH3PC%C$7$C=*6.>\-7[D 7WBK>8%!P22T MUW.F]8N0*V"5JJ4%M3Q0P/?'WWGA3 -W)058$+R:<[TOBKU+Y,U9")^ 4M+O MI3 ZD'46GIA>?YN.X,RW0GP.<4BR?O\$5H18:4RR7O(J=!NNW2.)Q%QLF)0U M5M0AA'A):. MJDNZW?24DS&ASL+[JS]#D]=2$D2 M9VX3XS+JQFZ9X#*,NFZ9'I99NT0Z^!6QM(@3]4@WREI_WR6VS\][[W+G:/QA MBE9^R+L&P3IO)N%>NO^.C\W"]^0CYPO1*X!M6\B6JAA=='-NZ&>S-QJJ- M'Z9S9;$>_++ ;R&NW04\7RI\1=J-,[#_NAK^!U!+ P04 " \@G!4S*:H M*U\$ !B"0 &0 'AL+W=O3,\)R9,Z2&*^>_A#ESI*?*V##*YC$NCGN]4,RY4J'K%FRQ,G6^4A%#/^N% MA6=5)J?*]/)^_Z=>I;3-QL,T=^?'0U='HRW?>0IU52F_/F7C5J-LD&TF[O5L M'F6B-QXNU(P?./ZQN/,8];912EVQ#=I9\CP=92>#X]-]L4\&?VI>A1??)$PF MSGV1P54YROH"B T742(HO)9\QL9((,#XVL;,MEN*X\OO3?3+Q!U<)BKPF3.? M=1GGH^PHHY*GJC;QWJU^XY;/@<0KG GI2:O&=J^?45&'Z*K6&0@J;9NW>FKS M\,+AZ"V'O'7($^YFHX3R7$4U'GJW(B_6B"8?B6KR!CAMI2@/T6-5PR^.;UUD M.J2/=.:YU)%.9IX928_#7D1X,>H5;:C3)E3^1JA!3C?.QGF@"UMR^3I #[BV MX/(-N-/\W8CG7'1I;]"AO)\/WHFWMR6[E^+MO4,V4'1TJ:VRA5:&'J**B6]X M)_[^-OY^BK__)MY)I',="N-"[9G^>N2G2*?&%5_^_E8^WXTF[7@<%JK@489^ M"^R7G(T/NW1V?W%^]4@GO]Y?7-QT^.<=^I')8B5]*FV3'O])H7T>Q'= MA#WE>3OQ^5C9I#AU2@%9I5WL].:CK5THOHY.1@>=8, M"K=DU#3"D9=23G+337=VDJD&LLKJJ2[2AK3P;JE#VEI;FJJE\^(30>-:6/C0 M39QVMX!]8>J202%$KXL&OX>=+[6=I1 PJ;UG6[ $-9I;AH)B@L)8#L+1(I6& M"K70$6]^PEF+Q$$[6"S82\[@LL0^2:/P*+[60)VV;'B5.BSW?=KYQE;>FDMP)Y"4+6 MT:#;[]/4U1X#=!D77(DN-\=#0Z*%]_UW1_G@\!>(8&+TK!58+45-)-ZDJM"T M@5$Y+$Z@M@V:-*?C&KR04U1#)(.]V M$>H.C%N5KC:!DP8"N ?"M MX[GWXMZKV,_2[0Y:PJZY K>SVQ^(D^;>?#9O_CYNH$TYGPQ/X=KO'AYDY)L; MO1E$MTBWZ,1%G$7I&ULG5=K M;]LV%/TK%UXZ.(!BBWI8DI<$2-(6*Y"N0=.U&(9]8&3:%BJ)+DGET5^_0TIQ MY5?V^"**U.6YSW-)G3Y(]54OA3#T6)6U/ALLC5E-QV.=+T7%]4BN1(TO*<%G;E-5C@/?GXPK7M2#\U.W=J/.3V5CRJ(6-XIT4U5>%CL5@:NS ^/UWQA;@5YO?5C<)LO$:9%96H=2%K4F)^-KA@T\O(RCN! MSX5XT+UWLI[<2?G53M[-S@:^-4B4(C<6@6.X%U>B+"T0S/C680[6*NW&_OLS M^EOG.WRYXUI])#*QMF \H; M;635;88%55&W(W_LXM#;D/H'-@3=AL#9W2IR5K[FAI^?*OE RDH#S;XX5]UN M&%?4-BFW1N%K@7WF_#=I!*5T0M<"ONG3L0&H_33..X#+%B X , ">B]KL]3T MIIZ)V2; &-:L30J>3;H,7D1\+?(1A%&H+2,?@$_6N-'#C\Z@'\MM!;":R/HT>M"YZ74C1+TYR?Q:.BRE/G7 MO_9%]D5<2\>I7O%D&&WY6B MXU;QW3J,SU>R6O'ZZ>>?TH EOV@J79)!IEPJ)(M BU:LUK(L9@C*C"YYB2@) MNK4UI6E86!G9:%[/]/&4D!U1W0FUSI!]^.38?"+G)XT6Q!$0HZ==P$6GUJ-: M&(^*.B\;JQS -PK=19DG CB);TVQLDFA(3NF(V)>$OIN#-*4/D"0&^MIYT26 M>K&?4.A[*0OIDS3(J]JUP@+XOA>$"=["P&,^:S-%9<'OBK(PA=@Q%:*0G&2M M%4&V5WN$=6AG+.ZTE]NPG>XX2ZUNYJ511$-BF\KV&LU1/2[IM4T)XD9RC@Z6 M-U53NBSQ2BI3?.>NM>';$1LQ](>R=*T.T<1"^&-!6YG]J>L*EW*I#1YHM]HX M<;-17]MU\(?@JJ7\H9((?)9MN6IU3.EBR_;]68N053R#P#[#F-XA%(B(L46[ M&^G,IR2C.-G.5.M6Y$T"E(HWB1(D- LC5#=L. %BU9?+LI"2*(9,% 7T&4QR MK.I)L#@EEF7$(K:1=??QB":H588Q]OS,&>[Y?M8RM3&V)> <:51K,CS?]>-0 MII[CV+;IGI?= H2LOCB)G!6I']BED,(DQ72"4L8TH@FLFGA1YJ8Q15&&:1RX MZ83"B6^_ALQ:C"-^COC@:$C!-$2V[^Z*/[GV"9I$<4@L0,32Q&:V 7^5Z&K7 M&E@\YVT8I!$=8P@]'U$\!ON=$-WSLA'[P]&RL"/;5:.4E5_9\FE+9W>'[1W# M*(FMILA+?*OR6M:+?JXWY(.VUTPR&[DL!-UC1](]VN8;Q;R1-J2VW]@N\EPU M>.W)C( :]$PY".9A26L<_IOZMU5\ #\5E3][P,&(I5@/1^$$P[Z0=64,3KI@ M%W5["VXOI&TCQKW"ADFNP6TLYYMV_,_>><7U$DPK9BX9W'%+;]2 U5Q!!SJ+ M.SCW,6+:41#]%'+AR&:J1O!^^,7 .1V3,$YAFR!?"$Z M K,O:+B^1>NN7_]LQC!B+7T#WPVAY?">"P;).X,":T,A'O,EKQ?"Q>HP45-T M*WMM2!'?_P2YY>D&*)MX?A2BV4<)0RL)<5KMNU>.>]?T2JB%^QD!T6U>VQO[ M>G7]OW/17O-_B+<_2^^Y6A2UO=#-L=4?)?&@/4:?)T:NW*7_3AK\0KC7)?[9 MA+("^#Z7N!5W$ZM@_1=X_C=02P,$% @ /()P5!OB'X(2!0 ;0L !D M !X;"]W;W)K&ULI5;;;ALW$/V5@1H4*:!8-U\4 MUS9@)S8:( X"VTD?BCY0NR,M82ZY)KF6U:_O&5):RXCMMNB#M$LNY\R9X#02@JKE78<0U;?)D[7ZN(H5\,0N-9EE%%F1B<'#5J MP=<Z>CP;%?6IP7?-2_#UCM))#/G;F7PJ3SN M#840&RZB("@\[OD#&R- H'&WQNQU+L5P^WV#?I%B1RPS%?B#,[_K,E;'O6F/ M2IZKUL0KM_R-U_'L"5[A3$C_M,QK)_L]*MH07;TV!H-:V_Q4#^L\;!E,AR\8 MC-<&X\0[.THL/ZJH3HZ\6Y*7U4"3EQ1JL@8Y;653KJ/'5PV[>/+%1:;W](XN ME/;T79F6Z9)5:#TC]3$<#2*\R-I!L48\RXCC%Q!'8[IT-E:!SFW)Y5. >AU M',<;CF?C5Q$_?[FY/LQ[=Y\F48TI@E9 MEPC.G8$*:KL@8<1K*4P.M9=U::T M(B9;=HG5B3N"4;[+4BE9VV(G8B@ET'HO/B!JJ)JW:6.Q=T +OQS2C8OP\)GO MV2"&_!ROGQ,Z#>3FA,;D>H8*V33G5D=E;H=8@Q(2#@7"@)CG"!N#O7]#N_T) MC-[0I#^=#&7\7D80(^'6!=^LM,?\A*0I], MM]#WAM.,WBW=RMKAOW'ZAM[N[X_HEP3S9/!\0H;_/2$'B"E1GN[B.9U,_C_E M47^T-WPDO3V4HBQ?)K1.)=!0(E$B+%2H4L$%5(('GZ9%:Q6Y@R'WA!.KN$TK M9@Y_=1M;V9T65=7/]5>BX04VJ*28* 3C*,A4K)9:88\@[K0 MD@QV4^*Y%^$:.NW[>M_3-06W\ M^FP0YN*Q*#)&HU8RE6:\Y&NK#OOK[?8^:5L0@1'ADB,L.4=Q:2A2TWCWH&L) M=4N-2OR26D(.H=[Q'5)2DU51-!76^!!$44/T;3JA=YX[H@=;5Z":_2)=]*1R MP3[?AKK9[BYYFJ]0C\OS1?12^07$Y3(<[!WL]\OEREP?1->E"-7,1U[/T M6N$^S%X6X/OE Z"! 6@H M !D !X;"]W;W)K&ULE59=4^LV$/TK.VZG3VF^ M@ N7ALP$PKWD 88A0!\Z?5#L=:QB2ZZD$.BO[UDY"0D%+GVQ];5GSQZM5AHL MK7OP!7.@IZHT_B0I0JB/.QV?%EPIW[8U&\SDUE4JH.OF'5\[5EDTJLI.O]O] MTJF4-LEP$,>NW7!@%Z'4AJ\=^455*?=\RJ5=GB2]9#UPH^=%D('.<%"K.4\Y MW-77#KW.!B73%1NOK2''^4DRZAV?[LOZN.!>\])OM4DBF5G[()U)=I)TA1"7 MG 9!4/@]\AF7I0"!QM\KS&3C4@RWVVOT;S%VQ#)3GL]L^;O.0G&2'"64<:X6 M9;BQRPM>Q7,@>*DM??S2LEE[V$TH7?A@JY4Q&%3:-'_UM-)AR^#H/8/^RJ ? M>3>.(LNQ"FHX<'9)3E8#31HQU&@-V<#4Z]*O-&:G'Y5H M1!/C@UM ^N!)F8PN.)MK,Z>12*B#9C_H!#@7B$ZZBWJ=_N]#_#V-E+L1;R]#Z3P%"Q]TT:9 M5*N2ID$%CCI\@+^_P=^/^/OO\OT? M-8^[2T?N&8_KCEIT"GI4T?_GQ+^ _= MRJD^]K5*^23!L?7L'CD9]KIM&I_?3.Y'MY/[Y*^QP&G_@*-F4)O$ E3_XEA#HBF D!OS2(062&D7U$/D"Y)-$%AAO(K5 MI^%N5)#]M'GL1?P9BTW#HT4%!%C;[_+]Y:>C?N_P-T^P MXSIKP)<:T<(H_?.=66.$.T3!>%M"3W6=)A@*.%))GX>/!VJ3(K@)84. > LW- MQKS*D;10!A'2]J'SLJO;9Z&)_P6BMFXK%3SO+"9L.:Y2N6<;:G<&1[;4_Z"' M"N8E_M<"RUASFHVWI/K &ULE59M;R(W$/XKHY7ZK<>^$*[7") @ MR:DG-2F"7/NAZ@>S.\M:\=I[MH'07]\9[[*A24#*%V-[9YYYYLW#>&_LDZL0 M/3S72KM)5'G?7,>QRRNLA1N8!C5]*8VMA:>CW<2NL2B*H%2K.$N2SW$MI(ZF MXW"WL-.QV7HE-2XLN&U="WN8HS+[291&QXNEW%2>+^+IN!$;7*'_WBPLG>(> MI9 U:B>-!HOE))JEU_,KE@\"?TKHO6?AJ$GV)H,!2;)5?FOUOV/DS M8KS<*!=6V+>RPV$$^=9Y4W?*Q*"6NOT5SUT<3A2^)&<4LDXA"[Q;0X'EK?!B M.K9F#Y:E"8TWP=6@3>2DYJ2LO*6ODO3\],%XA#2%3[!$+RU2O#TLE-!N''O" M9ZDX[[#F+59V!BO-X-YH7SFXTP46_P>(B5C/+CNRFV<7$6\Q'\ P_1FR)$LO MX U[;XP%>IAOW07\JQ[_*N!?G<$_B>$<-9;2._C[ M$9_IJ$S^],][,;V(R#UY[1J1XR2BIG-H=QA-TW0 R[O';\N[^[N'1UC\/GM8 M7<,MV=-8P WEP,KU-E0]IQ(>*Z3;NA'Z )5P(+AN@VQ^*FM?V#>LYBOA26*' MUE'3KIT7VE/(U %H 5,"NX=UH\P!*:Q"%]!8LY,%'>BY(#-'H]0]><4:VX:C M/TI^XH,G6J6TSA/U'.LUVC[784UX37^E=00+89^^KV9$O_@X?9+\&/^BX_^* M=YJ\)OY'[@WS'AUIO_%DT.>EJXBVN][DQ.\-R2>D]6! &Y@YMO0&KHO+N7M& MU?24-VBE*60.Z\YH;H@M.X6B]8A].*"@U"(WZ^447+07@BV<0XJFL A2[]!Y M@I0:&F,41Q\;8:G/Z!'.S99Z#1RW':622 EI82?4%L/S6H#1@5PA)&6*G0G8 MG4C'O,,).6.;=$>ON:&=-N^44V [H,CJ3S^V0LE2DIV39EV)G=0;=Z%;T-I0 M;S5-0R="O;TM,E.6,N=N85KMY*';B@8#>=+KTM5+T9$34E$APIXLE=;\BYKC M1D'_/.AJ[$R+'#-@/+UB^,S8V)8M%?>K7FC[\6,I?^\YC$\&38UV$\:I@Y"+ M=N;TM_W$GK6#ZD6\'??WPFXD$5-8DFHR^&44@6U':'OPI@EC:VT\#<&PK>A? M!UH6H.^EH<>\.["!_G_,]#]02P,$% @ /()P5-V2>A0W!0 H@P !D M !X;"]W;W)K&ULI5=9;]LX$/XK ^^!!%!L'8GC MI$D .T?;AZ9!G+98+/:!EL86$8E42WK"A7MS+4IA:.I60QL95!D7J@L!G$8 M#@>ED*IW=N+7;LS9B:Y=(17>&+!U60KS.,%"KTY[46^]<"L7N>.%P=E))18X M1?>INC$T&W0HF2Q16:D5&)R?]L;1\62?S_L#GR6N[,8WL"4SK>]Y\CX[[86L M$!:8.D80]+/$Y*%MS\7J-?>=O)EIFP>*Z++S)S^6EOU(,, MYZ(NW*U>O6AXV!$;A"P)Q M*Q![O9N+O)87PHFS$Z-78/@TH?&'-]5+DW)2L5.FSM"N)#EW=JT=0A3#'DQS M87"/+7L#YQP\WE]?3\=W[C]?'<)>C=ZI0CY +"UHA M<1D>^HVY+B@WI5J $[,"VP25?Q-%=L.0=",H !_X&RDO4VW(R; C%;APQ\H3.-_(.]A.4/3>9"'D(;HB)2R#O0XC@.0KK5FVQ9)S*X)%,I!]-[$$LA"T\/54*8UZXF&6EM M3?).AANSO6/[]EU$<';ZQK;2D0\IK6A6":I''?\9+0%'(IS]6S+&%\4J8 MS&XZ[W78RNBES#BR )XL**I=?Y-(I;NK_29%0%8;+T_G'RDN+.#VP/!C&/C0 MZ#_;IHUG2UN#:YMPU"+95+6O=L>9(,OR5,-Z47,KH 6V$JYY+4 M5K6WBY.F#=4E33=/5&BDSKR'Z 'M/[T-V# N&C)=9[9HS/11P]'P>TPN.XRLA#7P618WD!0<'')!B@_ZH^%W M4NL@/PJ#9#B").DGX7='VMMVXEW8.1@%(ZH\NXQUD/P[52*(AE$0)1$D89^* MVPY$GM=O(>&%,VG30K,??%&6MJ6;/2^:"'/"+*CE*W")!L8NG5VG6B=5V3#AF[ M;LZN6WK7/5"NDM0%TD)'FDAS2=_^26]S8R,56H[9:JNI MQV#1E71YQV[PHW>@+3]KC_RT6=N*Z;:N9K#1-Y9(RG)W;"EK:^6:%K);[1KP M<=-W?CO>=.\4'@NJ=,3-G$3#_B'UNZ;IB)N)TY7O0F?:44_K/W/Z$X&&#]#^ M7%-/UD[X@NYOR=D_4$L#!!0 ( #R"<%0D3>VP'08 &L- 9 >&PO M=V]R:W-H965T&2"LF5XK_O&7(E2X+CA\2[7,[AF3,WZF3E_-,6;/%EZGRE(E[]K!L6GE69C"K3'?1Z[[N5TK9U M=I+6'OS9B:NCT98?/(6ZJI1_/F?C5J>M?FN]\*AG\R@+W;.3A9KQF.-?BP>/ MM^X&I=05VZ"=)<_3T]:P?WQ^*/O3AK\UK\+6,XDG$^>^RLMM>=KJ"2$V7$1! M4/BSY LV1H! XUN#V=H<*8;;SVOTZ^0[?)FHP!?._*/+.#]M?6A1R5-5F_CH M5C?<^/-.\ IG0OJ?5GGON\,6%76(KFJ,P:#2-O]5WQL=M@P^]'Y@,&@,!HEW M/BBQO%11G9UXMR(ONX$F#\G59 URVDI0QM'CJX9=/!NYR-0_H-_IPE65CM [ M!E*VQ+N-VL[8%IK#23?B,#'I%@WP>08>_ "X/Z [(,P#7=F2RUV +EANJ [6 M5,\';R)>*D,C:.*G"1X _]P M@W^8\ ]_@/^FH'2I0V%AK3<'2)]]'3[>CSU>CB]FI\3 _.1R.\;I2?.$_C M>L%^6F-AK)$3MY8@.%<3]A"\UVN3=7%_Z9HGOD8MX[7_ODU_U);7C\JN/QQE M4^OH:0L9G"U+Y@*:.I1-*FX=11A)\\4<0[47RB;;)U9"OC6ZB\_?1CTCSZ!!5QM MTVJNBSDIA&+J4'-<$OI% VW$5("*VGO$DL1VT/M4+T2\D-[ZG]"?#*,Y!"$N MEJJ2I$+DM46&R='_:&-4Q1':/J(1^0Z-7!(&>;'&7NDX3YNW_ &@K%P]#)/C ML=&PG9[V@SA2L?9(Y$?. @5Z\F@B+)[72#Q#OS;\F_6U [\A(" 07,4$'&7, M^N TH18"9DVW"E,7>[)V28EGF@$!$;P6*#@MB046B>^[O.B2U6AY],P0+,@ M-;(A-GJ\'&Y(P?Q5/_>2%6>5'-E#=$[[K9S'23#4EL"#F&U(^#6),I$(!!RD M],75X\67(8V;>='O'76 Y:&= ^HZMP]S-J,\=E,ZFM0^I-ZU$S0C5L!P+=WJJ10=@.&0JW4,PV!+^*&'8=P M&Y"J%2YP0R&CM3ZS=#"2,KE/#NP.1=G\A6484+DI!Y4NS$JS!*5Y((.J1)4Z>6(.YLI0G,4_>0^YYH("6U MWC:I88@:VI50[KT1_[;+O) Y^A=BWR^VN>7Z!;I.CUQ$9?S](AZ1WW*!GR? M.D2[>9$#-K^OSOX'4$L#!!0 ( #R"<%3B_T_-004 "<, 9 >&PO M=V]R:W-H965TATH:GCORRKI5;7W-E5Y>=06?[X$X799 'O:N+A2KXGL/G MQ=3AKM>BY+IFX[4UY'A^V7D].+\>R?ZXX5?-*[^W)HED9NV#W+S++SM](<05 M9T$0%'X>^8:K2H! XZ\-9J=U*8;[ZRWZVQ@[8IDISS>V^DWGH;SLG'4HY[E: M5N'.KG[F33PG@I?9RL& M@X32?CIX 6_8!CF,>,,7@O04++W51IE,JXKN@PJ,Y@K^!?Q1BS^*^*-G\#>I MH[FS-=T@%P[-AD*&DFYB"=G1'Y_X2Z#KRF8/?SZ5XQ<]B#3/_4)E?-F!]CR[ M1^Y<#49=NKO]]?;#Y]MS^@ !>U4ASMF:"K:%4XM2 YL+='\26SC)+)R6EQIQ$6-,&(?LD3VM$[XF?#C]>^TE, !#[AR]OZ8KB MM PW3TARMFT;]D'7,2TH-&8+7.&U,KAF&+N>Z2CG9G4L;R2T'5.0/TB[?8R* MJHIUQUVZNY,8#XX&W?1X^^Q[8GNCO2H*U+)MHJT"/@&H:1UM"@IJ5C'EN]TQ MJ&8G^L)Q9@LT0L1XA#<$S@0Z*I"BA=4F2(#R-)&>%)8WMEXHLZ895QI(2%W MV@=,XH7.@J<2TI6-1H6E$[M::IT("B@U&5B:C%W %RNLA;P..UKR.E.^I'EL M?R5JF,_Q"4%60!F,C:W1R'.4RKKOUL?'-MRC6U- [)"=R(&YHBGJ[L&=IGJ! M$HL0)LE9&IM[-$A.)_V]YI[N9XF.8 OV@=Z9N<.O6V:2A1C5OI^UQ_#SQS0> M)B/ C49)"JQ7>[)]65+MC'OM/2-[@O^+5C-=H9JPEC;(-?+F&*E&@<**N1D] MWX7#M)QNEIOM..; MD2R83?V?8_6MQP6[>."1?>)M)F(QA>_&T+)2F8*C;./T_*_TVCCSI8OZ^#^R M(V-#]+Z5P$8^?\-PV[VAA'162IAEU3)O1L=7%)^@(W*3/3/,9A-K@S*PRDK) M@K9YG"FG^U/D8)!VA]\,E6%WW(Z4[PDOH6N5/52V:'\=QT\=/M$-O0U;L'$L MQTUQL5\G.ZMT,Y$\%)[#C]>%X5TMFCDN\W*%4>20FZ]$XJ/Z%A =^LCFRZW! M"A^NLDVQ]ON);\=6%U(0:M_&2%'UJ5R&77KJK-';.[SAZU3$(ZKT/,96[XI$.N.98V-\$NXE%P9@,^A7%9XB3/ M3C;@_=SBI+2Y$0?M?X.K?P!02P,$% @ /()P5-K=1)8Z!P L1$ !D M !X;"]W;W)K&ULK5AK;^.X%?TKA+M;.(!BZVTY MDP1(,C-M"LP#F^QNBZ(?:(F.V;0K(1Q[6M?*7HQ6SFW.IE-;KL2:VXG>"(4O2VW6W.'5/$SMQ@A>>:9U M/8W#,)^NN52CRW._]M5;[A#^).N!\W7PW>I@@J.KM.B=X3_"3%UO;FC#Q9:/U( M+[?5Q2@D@T0M2D<2.![?Q(VH:Q($,W[I9(X.*HFQ/]]+_^A]AR\+;L6-KG^6 ME5M=C(H1J\22-[7[06__*CI_,I)7ZMKZD6U;VB0;L;*Q3J\[9EBPEJI]\J[5>2M?,\=OSPW>LL,44,:3;RKGAO&245)N7,&7R7XW.5G M[02+,G;*;E6IUX+=\R=ASZ<.LHEB6G9RKELY\1$Y456EGU0E:A>"IC" MJ(-E\=ZRZ_A-B>]%.6%)%+ XC*,WY"4'3Q,O+WG#4\N<9A^EXJJ4O&9WCCL! MA#G[AOST(#_U\M,C\I_CQ]Y+6];:-D:P?]Z+)\>N:UT^_FLHJF_+C+()N_U\ M\^73!W9_]?4^HPM!GYEL MWQSEEW$L< N^&KO2LK%4S*UT8R',GIRQ?PANVD0RI$&L%\(<4D%#B"&:_\:0 M[UB4!F$88A*GP2PO,$GB($Y3]K&S+PJBK&!%GK-DGK-[[9 $L&5^&6Q9D"=I MRY:GH7=VT"4XP<03"I,5;+P02BRE._D_.773& -U9^RCJ(3Q!L*)+,=S[JV, M9FGK,MP)\Q1CDL9L'.7LY.!H'"4(0L+29-ZY6;9B>VDX>) $60+R( -#-I_! MNJ4 4TI)%-7H._.FGO,($ M6>9KW1!B_CL$#(",NP&KO"D4D:A(\,R0H,1'ILCV".GX Z;07X'?O9!^:'T\ M6(9TS;,$:(J1R)L55P\4(?:-UPUO&QCYR"F\XSBEO(ZC(O+Y#S(/A,^:7&L0 MW$5]4(V@)$25$ASBM(=1;_X^:8[J812F;%:P)&=?D ?#9G,VGA.VHEDV%)5C M:/AP-,5Q.@G9]]CHDQD>43K)\"#PO X(HH7BO-$&9X4>ME#"5\C& TDW$D:@ MHENX(Y>RY-A?8*!H^6HQ!'ENK7!MU:PE7\A:.@FA0!0.-1:! /F"SBJOZL<1 MR+P_JN2,796E:? )?M1Z)VAC^%IE6]C$F7]F,47W&W1K0[8D(<-^OS>\@HM0 M*K]Q)+3%4(%*067H,^%I RPYJ1X8FHUE)3=FAU*_Y::"D""3H;#%@O%6?#EIP"[D&2$QJ_&O+<[7P2Q2^-W% / MQ_MJZVL:V(CGE,H$!LN MJ]X60J4/,V(J"N\76M8<#M%L%A 43GQ&A@#71]EWH ^#'#WRQ,]CA(6VY%57 MKZB#/<-0[@NHLKJ6%:>U:U[[$-_1B<_V:M_9&T ,:*ENJE9FF\TN',"?W[A1 M.)@8[WL84.K;L*;%_^KKK?*ZK27@DG\MRXXV,JX5M?Q5O+%Q QQ^%6X+/N,E M(B-14"W;KH3W"@C'3E[3>:>6CZ+>4;503&EW^'^UC8.AI2M?0 8^8$QHR/TT MG1RAB3$D13L]1D-RDG#BZU_7)=E2UE2->F53N,8HNP?#RR/7_GSP[P:EL)+^ MHD/)9ASNKSVE:KQBZCU=W>\3(YZTB<"Q)NW6-ZT7!!/VLW0K-*XMMD,I-AU7 MK[-3Q)6FUCF;L*O]]<[7;SJ_^4YVL+]1J&@:Y?K7E]D]%,8_4(C_\.GT;54! M9@]2*<(AC-V15.I@21:^>J+Y 9M4"A!%]!@KVR;C^"...;!O8R0^D S+?Y*%ZB21R]&[KP37O7 MZ+4P#_[' O15JLWMC?JP>O@]XJJ]AC^3MS]F?.(&T+*L%DNPAI,9KO^F_8&@ M?7%ZXR_E"^UPQ??3E4##-T2 [TN-ZVKW0@H.O])<_@=02P,$% @ /()P M5/D8P)VR! C0L !D !X;"]W;W)K&ULC59; M3^LX$/XKHXB'('%HDUZI2J6V]"Q(0!&%LUJM]L%-)HT7)^[:+N6<7[]C)PTM MM#V\)+Z,OYGYYF+WUU*]Z!31P%LF[6:CE+,F#Z72\QI)Y$J8X:F M:E'32X4L=H MXP@#&HR$[SQG><29@)DA%BCSC#Z"WZSPFPZ_>0!_E\6;/)(9@F_9/ 7'_M]/ M^&9@)&3T\L\^@H_"VZ+MZ26+\-(C-1K5*WJ#H'T.P_'X^>[Y=O@TN8+IT_7D M$<;3NX?'R?7D?G;S8P*WT]FLMQ-UZ:(>[=@KR$Y:HHDV&F0") .)%%3,/%^ MSW-:D2O-\EB?]H""@]F<4#8!LI\Z/)15+#B;<\'-3V#QOY3:88\+=Z@FT.AUH=RYHY =GS6X'3HMAYZ)%P^><>I'@O\A^9RMIB9A. M(2$+(<5X@?JW&MK63()T@'XGH.^3-)0(3D^[&VY4=MMMN[=#@6%S@653(S.( MK93EI!4<->CXE+E-)JOL2WSOLDJA% )8)E<6@RG\[$ZO8OBV8GA8,;S-T6W) MT=AR]-UR=.TX*AT>,4$U@&>? EG?YORD)&F+D^D>7TK[?.%R?8YTA2 U\D@P MK7G"(V;[LH9&MTTXG2ZAA/4N#$M'WP7)[$3)[(O<.:!6$_RP28-[HBI:*65I M6*+B,MY*/5?V^RQW2 TRQ@\<2M!M'J8F^)B9&XXVJ;,O7Y9*OO*8>&=QS"T/ M1'Z,AG&*])PNSZ\69I5;)F4&UKC#,!TE!VT2CHEH*7CLX-[;F\VB*=%21N)C M-1>A^$TD#MT5,$P2NGIM75++ DXJ-R5QY1S5>SPMP/Y"IHK[8I?L0U[L43Y^ M9^:]#87UX.*#R\J BI+9JBUI)O(NKG5LWQ\LS;@:=6]_-!U+)OQ MS:YNRW-,O>_#'<0'RUB+ZC:+6'$V%C_L-WY@; M=.&B ^$^2_V6K3,_[%K>.F4W^MPKJ(6X#"I+^02H/$\L#1N) ME*%:N(>@+2!*\.*U5*U6;\UA\<1Z%R\>JG=,+3C9(C"AH_7S3LL#53S^BHF1 M2_?@FDM#SS&ULI5AK;^.V M$OTK [GHL2IK>S)8.=<<#HV,5(47JDJA]%H-!Y60M6#TV._=F-.CW7K2E7+&T.VK2IAGLYEJ='I<2.6<+R7N!7 M)==V[YXXDKG6]_SPI3@9C-@A6R+)D(+CQQP9ST)MDQ?W[+?HG M'SMBF0LK+W3YFRK_RPW\:2,E^O2^E]:=[))-*"\M4Y7 M&V5X4*FZNXK'31[V%":C[RA$&X7(^]T9\EY>"B=.CXU>DV%IH/&-#]5KPSE5 M?0JXJ7,#R@. XI&4?@*7MP'''N\^)6 +3E- MGU0MZER)DF9..,FQVU?PDQX_\?C)=_"W:;R5C39.U4NZ5#8OM6V-I/_;^/+2-R.7) UHI7F0@],P.Z#9Q\]7'Z_OZ,OUIV^W5V=W M7[Y=']+=2A)ZUPCOA.W&) &OF-4%H44<5&KAV%.]\$^-T46; M0\WJLB!1%WZU$G6[0#^UAJ$ADTMKJ664^9.7N-!5(^HGK\$F>*UW88.]E0'= M:+U2^0H2C8"_DA9];=2.C:0LB0>A2C$OI4?>:>X"16+0D-9;-7+9EL*43R0? M1-D*]W\._O3#) JS(TOY2LG%'DPA<^4'3R7NI0E( ?+"RWQ\E'G+HX2^+18J MYY=@$XOU2K ^QP!D7W1K\HYO<_A"SSOI:1+D[6<138$+WS4=2X/Z$K4 MF(Y>;!N%[17W)'=E7!H-()1EH=R!Y\$VU86&;JW=_F*?@H_U$H23!B S)V5) M-_#?T_9&-3M?=\4'%K*[E!\*)2KI.!,K#,$/S5;/>I@&VDQELD]8J*PO&\B" MVM(:T1@NLA'6F=:CDFB:4N6^YC;8%)C+V1B%#X=".8TLMVDLP,%[KE@'M;'A MP[9[_&5]45K=L90]6#T51ONO@U$Y-7J]TX91N".?(0:^2!I5,\\"[8G6DVINH"L]PPHYM2<.%4X]MRDQ+&!I4 M@W^TB, ]H0H='@,8Z:=)#H!^M,%JTU8-(8<.Y=PR>:[0D:4SHJ/*CD^R M?E!&UQP*%QWK8A=(&U;(:[B&3A3*]U+^NJB[)\EMH*RD^QJN="8;VMVQ_D172@KEDO0 MSX\L(Q]DW:*4EM;8A/&UB_[E8?_LH_17EG0?,6^D_ZK\2[$L(H:#]M^']+L4 MIMN%$/80LIK#U'8?P3\C_(13NL;&UPI4^_#O!N"/%*738!+%?)>$P7@ZXKML M&L380+V/N%D<)%!/DB#RFZ\[S97_D>(X!IJW,$F#Z2C;L_!Y;ZR_P5G$&DU" MW+"1*4,F61!.DG=Z&D;!-(MI'$31>,]1!DT3W*2C($4:>_1+R2VGNB+Z[UK% M^Z _NP7YB-.$E6]P?QJD$>.'HR!+QGP3!?$X?J?W<9#%$_PF(\YR& ?1.*(P M"<(TW@)>: ,R\:XCQKMX"O%TU,<)E7'G1Q*D:=CYD:%"%Z)1+.(CPO3GT?.& ML+(@A4,>910SW 37]T:5(O38.(I&"738#P9O3.; M431!C3/*LB ;(U%Q%B1@7!SQ-=U+):@8(;=)&J39CB$IB#_.V'R,KAZ%*;UT MBACN'=$JB<')!U%L.W5;N^ZTUJ_V9]VS[HBW$^\.RE>"O[X8]'(!U=%!E@[( M=(?/[L'IQA_XYMKA^.AO5SBO2\,">+_0. -M'MA _P_ Z?\ 4$L#!!0 ( M #R"<%11JJ.9;@0 %\* 9 >&PO=V]R:W-H965TDF>R4?C ;*2T\UE5CIH.-M=OQ:&3RC:R%&:JM M;/#-6NE:6#SJ^Y'9:BD*KU17(QH$\:@693.83?S=E9Y-5&NKLI%7&DQ;UT(_ M+62E=M-!.#A<7)?W&^LN1K/)5MS+E;2WVRN-IU&/4I2U;$RI&M!R/1W,P_&" M.7DO\'LI=^9H#RZ2.Z4>W.&BF X"YY"L9&X=@L#EI_PLJ\H!H1L_]IB#WJ13 M/-X?T,]][!C+G3#RLZK^* N[F0[2 11R+=K*7JO=;W(?#W=XN:J,?\*NDV5\ M 'EKK*KWRNA!73;=*A[W>3A22(,W%.A>@7J_.T/>RZ6P8C;1:@?:22.:V_A0 MO38Z5S:N*"NK\6V)>G9VJ:R$,(5?X%LKM)6Z>@('!!]O&]$6I97%I\G(HB4G M/\KWJ(L.E;Z!&E+XJAJ[,7#6%+)X"3!"%WL_Z<'/!3V)N)3Y$**0 UH> (O MZN../%YT(FX#5L%YV8@F+T4%*RNL1+Y9Q+==>K8;$4NIP-L12/U3SF8A>D0OMW.KV_.KK]\A^7\ M9HY%O)S?+B]NSI:?QK#R?5?^+0OXT7NW[KTK7-5+ \+ 6E78K 8^E@W8C6J- M: I#0#[FQ/AI7W>;6 M(6'0+^P\&:2'@9 2RAF$G 2Q7VC ( I(%J>01(1EP3XFM$1)%(9N$Y$4>^(# MI(S$+,)-&%#"F7,PBB*4BN!7K8R!K5;KTOZ' !,2HA<8%HE#[I!)RIA?X]B% MBUFC:?C>V$B,>:8DPZQ$A(<9,)*%@8LY2Z(^+DQIXFQFA$?.%KZ.8A\5*B7N MAC&?)%>QLLE5[3RF)/1:N$8N*0C-8G^FB3N'6!>T>]')]RP;PT*8,D>!8$CI M\<*#[N0M#\,$EF75X@?KA6CXFFC\?Q V>"]A4Y\ZGB!%'#UC9%BRIW"0^DPQ M+!#RZWU%16W&?8TP)[APSEVN:<9]F3!OA[K&J:^\[Y7,UR1!9R+:W42INZ$I M)UF0O)>N2)F8>]Z3)& =5;(PZ6X<7L>9[+W=F(8,]@V)P!@?83S&IJ T[L/* M]OWN6,P]7SDV379,7!YXMK_@*X^=GQAMEOI^H[$O!D)[MF;X@0E.LC6(_1)W M%$Q8QT0?_!"3?\S6?XE&G6C'5LS):S^DT=%/OY;ZWH\V!G+W2>[^__UM/SW- MNZ'A6;P;O;X*C8DU4,DUJJ)]'%9T-\YT!ZNV?H2X4Q8'$K_=X 0HM1/ ]VN% MO]/]P1GH9\K9/U!+ P04 " \@G!4&='#B4\# !D!P &0 'AL+W=O MXO4 M4K;0KJK3O3#)!*PZ-F<[2_?;[SBA.7K:]JI]X]B.YS^_&=OCX4'I)[-#M/!< M"&E&WL[:_87OFW2'!3/G:H^2_N1*%\S24&]]L]?(LLJH$'X4!%V_8%QZXV$U MM]3CH2JMX!*7&DQ9%$S_F*!0AY$7>B\3=WR[LV["'P_W;(LKM/?[I::1WZAD MO$!IN)*@,1]Y27@Q:;OUU8('C@=ST@<7R4:I)S>89R,O<$ H,+5.@='G.TY1 M""=$&/\<-;W&I3,\[;^H7U6Q4RP;9G"JQ#>>V=W(ZWN08_4X0L>X^DX MO50)4[5P.*X-/$A+8U5Q-":"@LOZRYZ/>?B(070TB"KNVE%%.6.6C8=:'4"[ MU:3F.E6HE37!<>DV964U_>5D9\_H;=0%@U8!5=<,IER)F!EF44Z>O\-^)5^N]%O M5_KMMU)\.867-+<@C#X'@U8S 2K__ZS#C)M4*%-JA+_6^&QA(E3Z]/>O=N-= M%G?%+\R>I3CRZ X;U-_1&]/6+V[OUE^^7:[6L)PO+V%Z>[-,%H_PD%S?)^OY M[0*2Q0R^WB?7\ZO'^>)/2*;3V_O%>@5G,R4$TP:X!+M3I:$0S">8,$&I1&"$ MBELNI0N'0EVBYBJ#Z8[I+68NZ4NM*=)!. MM!Z1Z?ILD6V*Q09U# ML >?J-,)XM-M>2V".6I-[KA,58%@V3,P8Y#4NJTHZM,].HNC >ET6OW!X#W MX". _2"DMAT'#K#=;5> COJW ,.H"U$[@+,P[I-23?PV8CCX"&*WZ^!BNNN$ M&/;""M%Q_P;BH-6.8XC;'6+6OZNA&6:K*57='SR!JMX#^ MYXH*R7'@'#0/Z_@G4$L#!!0 ( #R"<%0OM4'DX!< .-- 9 >&PO M=V]R:W-H965T#M722 +$OR(3D7X#CI MG@SZ,.+T#!:#^5 B2U(E%,FN(BU[?OV^HR[JH(_]$$<2R7JOWGT5WVTJ\\.N ME&K$_;HH[?NC5=/4;TY.;+92:VF'5:U*N+*HS%HV\-4L3VQME,SIH75Q,AF- M+D[64I=''][1;S?FP[NJ;0I=JALC;+M>2_/P4175YOW1^,C_\%4O5PW^(#=,<_M-K8Y+/ KEGJASP1OU5EL[+BE?\I+*A.!T/Q&0T&?>L M=QIV?TKKG1Y8;]^._W4UMXT!:?EW#X"S .", )P= '!=E186SB6*X("!/(A_ MN?^_J?M&?"RJ[,>_]U&W=VE4US>VEIEZ?P3Z:)6Y4TK MSKWJ7IE,6[@A Q$RH!CF05SEWT'Q:5M/E)1>>/LEY0M882 64O&Z,L892:#P M9V,JXP2$"0D7*P,*#!_N5-DJO.NG\7 "]J@H\*F\-:A"2+-F913\W:@"Z CJ MJM9SX"^K['@V<-=_DP;X[7Z]'(JR:G9NAI][:'T1:'W12^L_+:'[V38:]VN? MJX.]J^^G[#9(HB5<1@Y[(C=/TC^00Y!^=+TH%AL-PBBCQ:J!Z)FN"X"P5*4R MLBA(Z%7=L+8BD*[& N2K-3 ]D^+5__S7;#(9O?US>#L4OUQ=W=#W\=O7P.6_ M6@V[ 3=3@F,F.6PJ^/8#K$'8%"K5]S9?,J;-2C9"D@(16-AM91"P7 =3 "*O MG#86FF5=NX5R;;.BLJTARJ'&PP81[J%G@BU ZO78!:?\!S!R\LPW@: .^ M)-+,#Q&Q@6H5&(E4+S :L&31(EF O2L-7AMI7-":8.7*3!$(N'@'5J]JX3Y8 MWN#VVG7-1HE):- P%1H0RY'H<\1!VJJ4\T*)%MRH(<0R;;)V#=N$I>U0_($F M'I9?5HCK')W H&M.[V31,M^* K?>P7K@S#=ON[((M""Q1!1:"U)OT1"OYV@K M$=L!KE-M$#R822/RJITWB[8(1A>7!.(B(7#]VD <:1KV 2A?-8G5JP@W5Z B MP+S@KQAC^/9Z()95E6_ V."JL.>E1FJP; R"54(S!<$,6U2[ E(>(X=R1!Q9 MZVPM@*S68*+D/2+&DM7H903,K E"B$'!$&*CI@6&@EI N(>J\=!GG:;!.DU[ MK=-'3]OKA+;/M%"]$ Y$"7O!?MS':))(QU0@)?(Z2J',@).6*"[6"B0G=YX\ MF!"= YO!T@'"VMU8B%U(:D1J&B M;>.'AF+@T-,VV@Y2NW"S@9U5\P:RF1AX..L2L7!XL3%@6,/P4B"V4(:<:C;L$;@J2B1<\PXLJ4ROE2J9JMU9Y,1!O]-L#Q&G08Z9># M2A'^_VU]"VD)ILPL@1GQ/OR&VA@8>QQ,58SP *Z-X2M:=5H.-+]%X$0#VW%F M!H,^4'N05G"B+9@U@T) 6VY+T)Q<9PT*,<:80N:Y,S,M>)P&\H::4$!#Y%Q. MQT"3N?#_,)!\Q'S,@OF8]6<7TJX(&GWX##0!RBNROL^S(;U@]MN0@[!%N)+A M!Y5<(7&P#4F&O\FNP,,>0R2Z'H#G7*Z*A^-"PS,Y.1 .@RW'/L K<,TD>J23 M&$EN18V3\OMIVD$PD)TU?&QG[R/O?*) MS3F!ECONNQOH8'6';6+P^I90\AH$ M=J&R& RQ?T1_OC#5FL"#)W%YC0L[N*JA(''T4:5S%[FHY0/S&]:F!<@&@U)C MA%BWC>H871(#VX+]2M"B"(KVIZXDZ0-SU8I>F86EE@5+D)[V% Q02VCYB MML:C6'0:/586812N8GS_:_0LSS5?_= .V*]^%$2X[KP@.*@UQ.X%IL,UEU)" MY*FD*5'@L)0!"H&A2T,Y[>FHEUY)D6[<2Z\O+I9^>#9E>M<]4!F(@;M(/Z-F M46)%T18*+@@&QDL+\K=$0;0GD+ 4^C^D$A0(L#[1+9ASR8T(E8@F3?8"9'&S/P=D ME^6#OH;H-12_H!*TLP<7C9DL(@ZT:""V1KLJ45(R5(H M(1B(?MK.>L&SF0:TAW^ V\GS@D%!)C#'0^]HWXE6K':[C[SM5U7HW/!?G+\5LTLP]@@^WK MMY#$.HZ(5Y-1N.$LWO K9(QJ517;R^U=#:'^)K,5T,OLU"Y.=Y_88J@35&!Y MD;5,HI@\][ 1_6P:@Q"UJ-:T1BWP0GF =B!VI4)7!!E3N51<1NRD(QJ"BJR3 M_&;2F =D/EGLP%AB*"H$?UB:JJU?V=>$(/JW/GL5>S#CTUY[]2ON#92#.&.? M;)AZ%]UOF!R$#FGSBLJE22?H%JB42Y-C#)!'?^,+IE>WUZ%4^JVJP3'-SB8# M\7=9MA*$Q!6OD\*V*X:G4"&5%8K,!*8Y$'GYLF!7;P.#"T)\**Y=6DK?A5P: M%2K%W'Z!!%9M9$%.Z@3X%O+FRE49D8T8Z=W7&E6L"9!S+@22%7T"%+!@,5J7 MU+# ^)VJI!AO@YM%RZ++14'DZP35(>3>@9!71+*45L$ 6@Q>T=$:@W)-5-)8 M)'"K-(B?JAF:8S77S$NX E$=H(Q+D7 S3Q#68W(<6WWC_E[?+Z[$0C3\$NN4 M5ZY.^4LH8C[3!;^@#QAP"1]"U,I1!]9L;-#SK3(,![*=:D[7).RKR(?:'>07 MWR'1(:7Q]$\J<<.($Y5[[K3:N,IB8MYD">I$P1I![B3UWOJ MW+B_.?<8%_?\]$QVOJ19MPTT1<-QQ!=78J*"@;E++=E%HP58Z1I[ U0Y*.5: MA?9H#@& ^8&U>K $E"Y2Z""S'T6U[)3EV.5CYDE5PJ3(2C,6D'L.]^!'+IVC M&PH,?(]E;U1"$G@@Z$#M#Q6&*<0[-&( 1FTR9C?<6_ 9Q\[AN+]U^$^(^[%* M<9VT#V!?MC44E3Z5W2_H(.Z%G-I$C8:\6$!6XJK?5-'P11HLHX'9I* "&5#[ MT0;4,5>HV:._%88ML!CI[,:AD/9.,&[3:R#OKVX-;@V8%F-3BA;;.M2V=?>#\;RG/DW(LCSL@ ML9#WK-P>(LV_--^''>55"5/&3.!U,QQ?\_]DT7+V3+JJ"&((J M!9/!Y6@$?T\G,_%S991>@KBA")09"<8& K)0N;+BXF(,D=;X?.0:Y\H% >GV MSJ;GXA3^_7.?*#MB67%Z<2$FIU/Q!Q4$QA>#T]E(S :7TRE$=QCER#V4^TE, MS@9GES/X $_,QF>]/^>OXGD.P[B2,HS_V/W9L'L5%-,- M)L&;EIW%P031K +ZT8?:1;M $QN\DI6%GUPBX+DJ*S=GA-N^EJ7,M8Q+#I\B M\U0\8)6E-,^CO&UKT:$V:LGV-):2:L%O1R/TT?(R!9Z2ZU0KIL-1"RCT;@W6IG$DOJDOZ3N!>C: M,^%;JFM(&?JA>-&,03_L_03H1PBIL7!9 O8Y_$W=D<%.60UH^)NZQU%5@6FQ M'T1QS?SNH%-.HXE#G#]5#:;EA](6*CZF4P2,28,)$I5/A GC3F55'J^?O6 G M=DG7'(JOKG_0&3]*1F^>#\P7H?=@WX=*4@7LQ^@))!BFC*9^O16O..I\S=;Q M"=8Z5Q;N<$7%;:/D^_54C""#"F%%NW85-C^^LP917*$2WBD*>GF@P/(8GJ(; M8"-<2;MM0/*Q*)@TX; 4T[!E)M)0:B$43C+O!D0#%RYBU:.I*OJ"3H\'\35.3FWU?90DVY8JU/@QVJL=,TID#H$>" :\0>0X8$*HI$'-I2_]4F&Z&@@0:WRXHJ M0#>.LX^2)?(:*<-U57YT1PJVR.6*XT0P/PVF;6>.*8@TL!^]%16[>+J*,#9J M4:C,%=VVQJ$ZX^ZU: M5>NZJ!Z4"AN#XSA,NGW&:>5SK.-/I!)Q1+G&I"H2\>[3-.8I]QTM]G_,*#W]_D_7/SO_Z%#Y7L/30: MHXDSY]V!!]8Q)#)U6--8^@%'!TPE2?K)E;BA:@[48\B& WS*^:,XW7XH:?!: MP#Q',]22FTR>1$<"P!0UB]&ZW<6\/9Z=2EBL]TP:[CW10G%>@ .^MS4EV+M_ M^%G_[4F^M/B#?6U1*HQ0,/L 4318XU9]F\>X*LX[ARV'DQ5N# /MK>\S=L[H MD#FA/'[105W9R Z;'*'T,X2LS2YP2LY9^-,H-","PM(DDQ\\)^*AH]84ZIXV M4\B-KJC]"K0V0-R&-NZSN^]@OBV.3:-2#\7?DZ_8B.5M>2-$B;[AGBU:=^6_ MX.RW0@M&A_ST8H$SVAD%ILT&I1 /_/J=0#2NUDAE+-EB%QS-<#!>? C)7^(8 MLR/#07CFOF93F7@,)1'-R$?G61S]UOJ>^.TMI)^!M;0L*GJ'*#2(EAR:0@>( M/ZGD(&+4%3K@N'LLSW85RE6UJ?1WF&\D?BP6W%+A>J;K$J+SJ)Q=I].:WPE# MX'4+-MIKRYTJJMJ/HG0 \X[359VFQ/-BCUAF;4LGA"H4'S07< 4WY!J3 M>#YSZ;"FO(K10>IXO1H>&):)= %,O'.A/'"'<('C%-8!#SC;3_:N[F4P#DFS M:\\A&7(O!\UMZ]\;R9 M)O^Z!BT\+O0/\*#'8+?+XST=\UZW&L<>)H\=<4XK+>SIGNU@7S#BD-9\N.C; MQ02;E$\K#+E*DB5[P"[!U:W(=W*S$X\0Q7Y)&N@GY;'80<";B'O.FN]4L+!W M&0.PALNA.07RLFGC^4802YK]8P$5M2LKUUS1GL.F_!!_.HF7R ?CTU]ECM,1 MD_[IB,_>M-T *2FX?S:K7S#^\#MLT(50M8F!5.Y01!*X,)\5; M4SB>OE_*X)QXOH@HC7HZ>!+YW!"Q*Q^'@RK,EF"X\X2+9"8B#UWQ#,>5@&F; MJBWH;"(>!8L4_KW+_3F)*Q<8>.$=N?,X$HQ4QC94 P\SI'$PMMNI']!45]VD MF/)!F==OQ/^"0^/WO= M@.WLX'(P.S^#O]/9#/^>C=W;%FB,U;.K>(@"UUWJU?BUF)Z)V;DXG07U>A;X MRPD"GDU/$?ST3WC\-0B3.,TTZ9]FNL9C25BZ)OG^JBU8D6L\U]BX+\\T MXR\8:^J@P&\IB0@D^6+B7'TS(961$)0E01^687=6SWAU0]M+QN/PK0FT$MJ8 M[2-T@R>TI]C AK2S4^! QQP&X7TN_;DLZ:>K/ M2"7=&;PQUU@+G+?8,_&G(4(3A2[77'&1F:%V&+YI"%LT.%!1 Y4IK#TX#S40 M8P@>\=_S#EA.XI34I']*ZG>UZ;R"R%1EA2=QUR\YT=H/Z_#QR^YKD)"*7X.S M^A1S'IO>=>WB./!+5^T26.?>=?)[-:1/F!F,+M^.SP9B.CYWWUB[XS57=>W^ MV)TJ!T.-@3N "2S@?J,#=.F?FP"@LU'W)[\^7*"K";QXT^YC>S'8)52_A>V=KLJ?][J 1YDKQW"[1U26\7LSP/Q:_@"K^&-YA= M\7N[XNW\^C,@R!(SCD(MX-'1< IALN$WBO&7IJKI+5X0\8-IH(\K!=;%X UP M?5&!B71?$$!XK]N'_P-02P,$% @ /()P5.[CS<.$ P Y0< !D !X M;"]W;W)K&ULE55M;]LV$/XK!V$?6D"U7BW)@6T@ M;E)L0-L9=;9B&/:!ELXV$8K42#I._OV.E**Z6V)T'T3Q[>Z>>XYW-S\I?6\. MB!8>6R'-(CA8VUU%D:D/V#(S41U*.MDIW3)+2[V/3*>1-5ZH%5$:QT74,BZ# MY=SOK?5RKHY6<(EK#>;8MDP_K5"HTR)(@N>-+WQ_L&XC6LX[ML<-VM^ZM:95 M-&II>(O2<"5!XVX17"=7JZF[[R_\SO%DSN;@/-DJ=>\6OS2+(': 4&!MG09& MOP=\CT(X103C[T%G,)IT@N?S9^T?O._DRY89?*_$5][8PR*H FAPQX["?E&G MGW'PQP.LE3!^A%-_MY@%4!^-5>T@3 A:+OL_>QQX.!.HXE<$TD$@];A[0Q[E M#;-L.=?J!-K=)FUNXEWUT@2.2Q>4C=5TRDG.+C\KBY#".]CT40&U@PW?2[[C M-9,6KNM:':7E<@]K)7C-T<";.[85:-[.(TL(G)ZH'JRM>FOI*]:2%#XI:0\& M;F6#S?<*(H(^XD^?\:_2BQIOL)Y EH20QFER05\V\I%Y?=D%/@ST#EY0EX_J M(O6B#9>V M5Z9C-2X"RDN#^@$#QPNV6]0C-VZ(1PSB&X:K<7.KY-' 3Y"%95+T_[P<3Q]8 MS7PB=>S)@T[#61S3F*454(;0^Y?T8K5&63\!E8L3TPW4%&Y-J6>@*!)(PF0: MPP^_,[/CI@X%QV\(Z\G2>E_LZES?5(5HVU_6/2'67\X??'!1&>EMT6] M]PW&/5PJFGT5'G?''G;=E^YOU_L&^(GI/9>&TF)'HO&DI%>@^Z;2+ZSJ?"'? M*DMMP4\/U(=1NPMTOE/$]+!P!L;.OOP'4$L#!!0 ( #R"<%3",_>*H00 M -@+ 9 >&PO=V]R:W-H965TC@OE:-/1VMG=N\'X]MN<9:V&.]P89NEMK4PM'6K,9V8U!4 M@:E6XYCS?%P+V8QF)^'LRLQ.=.N4;/#*@&WK6IB'.2J]/1U%H\>#;W*U=OY@ M/#O9B!5>H_N^N3*T&^^D5++&QDK=@,'EZ>@L>C_//7T@^"%Q:_?6X#U9:'WK M-Q?5Z8A[@U!AZ;P$0;\[/$>EO" RXV%L'BNU1^R MW\R+Z_4RH8O;'M:/H*RM4[7/3-94,NF^XO[/@ZO M88A[ACC8W2D*5GX03LQ.C-Z"\=0DS2^"JX&;C).-!^7:&;J5Q.=F7[1#2. ( MYJVE*VOA7-<+V0@?,PMO;\1"H7UW,G:DS+.,RU[PO!,LG,]"?*2 =W?A\(\J-77 M['N[$26>CJ@H+9H[',W.K$5'2 J[!M%44/H%DN([H;"AFS<03Z9P8T2%@4"[ M-1JJL1*)Q,<#HHCQ)(6+YHX8M)'^*&:320)7!C="5H#WU!@LG3\)B M_30W# MN(=P['5NJ(0=3!F?Y/"5KBBSFA4HI%("XVOF2"^/6MJ(SNILRA(>D68GFI7T M >HO"'K..7S )1J#%#[YQ?!]BM[@3OO^!5G2UB0N3UE2 M3. WK:NM5 H2SO*BZ!DVK2G77F1)*2*KH(9RXPU,IRSE*;P"R[R(!K&<,#XM MGD&9L7P8R23+7T*R8+QX'9)QQ/)I>@!)2JXHSU[ *\O8)$N'X8HHH-E!N$@R M^3H$5\Q92O(/IU'&DC2!KR$&2C>K(X>F?L9>),4 U''!DI@_04VY5TRS_X(Z M+5@:%3#0A+)=$\I>W83.'B/Z23;2X=%G>OZJ?33ZU**N="G^T0;.%;GQRJXT M:,;AKO31.DG/*-GPW>*R503Q$N&3D 9^"-4BO+UHX &%L>_"TJUU:RGW:'L> M'L*0UJI[F=9R0V#S8T[ABPHVI<;0E4 CZCZ37=C3J'';4Q8L)[(K,J$)V4E' ME$AT-!?EK=(KX,M+8@BC>/M3:06_DNM_+!W#KTJ#'?)2#,1Y19W8SX^J=M4-_A)/J3 MXME-%%3!)=8+WZSZFM$48KL),:2&TJ&[PVIWNQM:S;EI[(N]F MWDMA5I+&+(5+8N7'$RHKT\V1W<;I39C=%MI1PH3EFD9O-)Z [I>:AIA^XQ7L MAOG9OU!+ P04 " \@G!4QHIPYX " H!0 &0 'AL+W=O2O6L2T0#KQ47>A&4QM3G4:3S M$BNJSV2-PKYLI:JHL:K:1;I62 OO5/$HB>,LJB@3P7+N[^[5P6Z MJ2JJWE;(9;L(2+"_>&"[TKB+:#FOZ0[7:'[6]\IJT8!2L J%9E* PNTBN"#G MJ]39>X-?#%M]((.K9"/ELU-NBD40NX208VX< K6?%[Q$SAV03>-OCQD,(9WC MH;Q'O_:UVUHV5..EY$^L,.4BF 90X)8VW#S(]COV]8P=7BZY]B>TG6TV#B!O MM)%5[VPSJ)CHOO2U[\.!PS3^Q"'I'1*?=Q?(9WE%#5W.E6Q!.6N+Y@1?JO>V MR3'A?LK:*/O*K)]9WDF#D,(IW(@7%$8JAAJ^/-(-1_UU'AD;PAE&>0^WZN"2 M3^!( K=2F%+#-U%@\3] 9',;$DSV":Z2HXA7F)_!B(20Q DY@C<:"AYYO-&1 M@C5T!1Z!2P>XU,.EG\"M[904#4?XL1U:^ :7C5)6A M1P)WEWE[_[>/"([X: M6'&9/__YJ,5'([HI/=[,2<,G%:*YFCUC *8S(%$J8D@VLFF.55 3LI"PTD#N-9 M!N,PG&PO=V]R:W-H965T;(7HX+F6RLZ#RKGF(HIL46'-[;EN4-&7C38U=[0UV\@V!GG9.=4R M2N(XCVHN5+"8=6"5KK1_\YF,Y#V)/ M""46SB-P>CWA%4KI@8C&XQXS&$)ZQT/[!?U]IYVTK+G%*RV_B])5\V 20(D; MWDIWIW[#]2QO.:.+V9&[\#XVX3FC4YJYTWDA/(_Y=X9^BK(SRT^:XP,O2C MC?L%7)5P\]B*AE+OX/0+7TNT9[/(433O$Q5[Y&6/G+R!S!*XU5K M@(AH#ER3%Z[+Y"CB-1;GD+(0DCAA1_#207O:X:5'M%OH!1Z!RP:XK(/+WH![ MR6 (*\DI=:\3^:.+ U_PV<%2ZN+AY_]2>C2";] +V_ "YP%UH$7SA('/"M9K M-$-F_!+#)Q_>/Z)NC'Y"3\+""21).(VGO3$>I[!LA2R%VEK(IF&:,\C&89ZG M\ FIUBLM_P%(PW@TIG*YY45%[$Q?+SC(9%D!]-WMUM39. M_.X/3EFO6V&0%H*B&7E"R@@SS[U%7HSB_*]VHH.6K-%LN\%CH="M;KL'7VM&XZ,R*YC,:?X&^ M;S05^G[C PP3?_$'4$L#!!0 ( #R"<%0\@&CBI , /H( 9 >&PO M=V]R:W-H965T(KQ>IG:]6_![A4?]S :;R5K*O1V\+V=>8 EAC86Q M"()>7_$&Z]H"$8TO Z8W;FD#G]N/Z+R/J/JC2[F3?QH,2-Z&KS M21Y_P2&?Q.(5LM;N"<=A;>!!T6DCFR&8V[_%PZ##:P+X$, =[WXCQ_*M M,&(^5?((RJXF-&NX5%TTD:M:>RCW1M%L17%F_E$:A!3>P,]2EL>JKD&T);QO MC6BWU;I&6&B-1L/%2M!(7TY]0[O:6+\8=ECV._ 3.X0[(F3]R7O*SB&^QN((H9, #'I[!BT8-(H<7G=% 0Y_@&;AXA(L=7'P"[IX: MI^Q(.KEY4O4O!P\K?#"PK&6Q__LE)<\"V_Z\U@=1X,RC!M2HOJ(W?]R! A;4#T+OJH.V!Y(P' M.1D7=#)Y!I?6ES).7;)2HD1H14/%:)O0V#%]*?<:0LXF/(&+D/$XH9@P9,DD MH',TV))((8N"@&;=%.-TX$M1[&NYA=[/'D7(FF8XFF_U.),KCM3*?P^WIY]T#7 MIL97UN]9+B_7[Y\H%&!;VN+][\%P>YHLCE([B,@,L\B:,9E!F%DS>3+3P5R1 MUB@VAG#""\6)?]/?9 MT_+^K^"#4-NJU5#CAD*#JXQ:7?4W;3\P\N!NM[4T5(K.W-'/"2J[@.8WDKYQ MP\!N,/[NS/\%4$L#!!0 ( #R"<%3S3'=U+P4 /<- 9 >&PO=V]R M:W-H965TG;XX4RM;%K6\TV!6527TTY4LU?I\0 ?/&_?%?&'=QOCB;"GF\K.T?R[O M-*[&'W^#@]'Q!GD"QE M;AV"P.%!7LNR=$!HQH\6<]"I= M/Y/!R51K_A'4CFR0#R%?&JJH]C!941=V,XK&-P\:!E+QR(&P/ MA-[N1I&W\KVPXN),JS5H)XUH;N)=]:?1N*)VI'RV&M\6>,Y>_*&LA!1.X$:B M;P:&7\2DE.;X;&P1W_!8YROS>*S'5P.-@SUPO(/C'HZ_ G[D+ MV^J.LM3IID'*.?1D0-1E0/23#/#,7RMCW\AS+]YAGO^20C884C:_@,0_=D$7RLK43M%O#0?B0S DD&4;++A%<) M/(A#3(4@Y@D2EC$.GQ=HPPDB5IMR6<8@X1'*[%/\SQ,WEM M$WX);;N!-#LGHX1[UU,2NBT&+$EQ&6-]X))#C*&( Y[Y902<9[B,0K^,@<7$ MO648SP42+&9("C;^%,L7Z=R,\5(\N?)'O0&/&- 0:4H3ETXK; I:>L-K;V#Q MG"S#,.5PC ,+"%)WC"W%"\&#*%?29=]^+C6EW5;P]4IK)[]T.=ODZ_X)UY"& M/(F<)AXDQ*F\4?5\,\&VY,.F@<69BUS&L(=$?5F2=%F2_+SR,1%TU73\]X7) M?7#NA?O&X&6I[6V__BGH5_Q*"_CF;Q]R>B(>,'7F$DER-[*7ZO3Q&3YA+S'' MNSV6C2+,CE&\5],&:#K"^L0G*MK3,7UV&L_(7=!H1 D[0/'(YHBOML MQ&(XZB$D[0A)>^/RR6).8^MJKJDN?^YEB69-P:H-[8ZKG6)[&RN]VO]7X[X6 M9H$55TQ]U@A?8V;KXXRN087&KI!45R&'*N-TP\G<(<[PNHV)J%4%L]U/ZA"; MN*N+(79R/V+]'_< J%WVL/8HY@46(;H'2.""& M)Q1;"F.'.\EXXS)>23WWOQP&?*4T]_)NM_NKN6PN\R_BS2_1K=#SHC9HRPR/ MDE&"UP?=_&8T"ZN6_FH_419_%/QT@7]F4CL!?#]3>.5M%TY!]Z]W\1]02P,$ M% @ /()P5",FRE/( @ CP8 !D !X;"]W;W)K&ULI57?3]LP$/Y73A$/('7D5PNE:BM1&-HDF! P]C#MP4TNK85C9[9# MX+_?V0FA3*5BVDOLL^^^^^Y+[C)ME'XP:T0+3Z609A:LK:TF86BR-9;,'*H* M)=T42I?,DJE7H:DTLMP'E2),HN@H+!F7P7SJSZ[U?*IJ*[C$:PVF+DNFGQ+(;.WSO< MS8!Q C@6KA;U1S1?LZADYO$P)XY_0=+Y1 %EMK"J[8&)0 M0>-YM(L_RG%DVGVK5@';>A.8VOE0?3>2X="_EUFJZY11G MY]^413B!3W#!N(9[)FJ$*V2FUDC26P/[=VPIT!Q,0TOI7%"8=="+%CIY!SI. MX$I)NS;P6>:8OP4(B6=/-GDANTAV(IYC=@AI/( D2N(=>&E??.KQTAW%&V@+ MW $W[.&&'F[X#MPM=4Q>"P15;,@Y@%-CD)1D,H=+SI9<<,LI;R=S#O1QWF!6 M:\WE"A;,< ,_/2FXPR<+"Z&RAU_;]-])Q[7SQ%0LPUE _6I0/V(POU.6";C$ M1Q00=VO2K2DQ==Q)9BR7J'NIX8)+)C-.DI(-Q&CG[Q%GTC2E-72+!U8HR>P8:*@W3#D1:30UJ(#XF/_]HF19_ M96[1T_$&^B@:M^B]JWA5>?*1I'NP?W04PX&'>6-L%R3Z=T&.J29/>3RD=9RF M_T\Y'L2CZ)7TIKGM8PXWAD2)>N5'H2'(6MIV7O2G_;0];8?,JWL[JJ^87G%I M0&!!H='A\2@ W8Z_UK"J\B-GJ2P-,+]=TQ\#M7.@^T)1YW6&2]#_@^9_ %!+ M P04 " \@G!4+];QL#8# !!!P &0 'AL+W=O9!MM9-4H M$X.*BWIF3TTJTB1P7-BESH^B6 MDYX97TF#$,5P /,54WA@/))$/<1A'>_"2UOW$X25[W-=0 M.[@'[K"%.W1PAQ_ [<9PQI[I\1J8*,5$@7;MP_F3C2O=,D%19FMN6,G_8.[# MI)(;DO[IN, -/AF8EC)[^/5>V/>RL'5\HM WDERV4'0S<'.8IL[047@,>W+0;W/0 MWY\#ZEOYAF)(7MR*1]2&7+ZF2?',+N>&HDHWW&C'?(;*]3:185T#,-DRE6N8 MV(;!S?,G<[*7U?LYN=JX-!#1Z_EMPV8^T=")NG#O^@GF!Y-'BG*!\)6>D0$J MATT_]E'+6M5C]Y/^H1! -(C]*(DC"'CV+]Q(?[+2U"E7AFK>& MS!9*W>':T_9_F-1M\9]X_;E<,E5PH:'$):F&O2/*EJH;=KTQ&ULI959;YM $(#_R@CU(9%H M.&V,95N*G;3-0U(K1ZNJZL,:QA@%=NGN^LB_[^QB$U=JK%9]@3UFOKF88;05 M\EFM$#7LZHJKL;/2NAEZGLI66#-U(1KD=+,4LF::MK+P5".1Y5:IKKS0]_M> MS4KN3$;V;"XG(['65#:;FWSL^,8AK##3 MAL#HM<$95I4!D1L_]TRG,VD4C]<'^@<;.\6R8 IGHOI:YGHU=@8.Y+ADZTK? MB^TGW,=C'P3MJUL0A:SM=*BWBO3OBYY^V:[?1Z.% ;^&PKA7B&T?K>& MK)=73+/)2(HM2"---+.PH5IM[C'#?(UPMDC M6U2HSD>>)KZ1\K(]:]JRPC=800BW@NN5@FN>8_X[P"/'.N_"@W?3\"3Q"K,+ MB (70C\,3O"B+MK(\J(3T2IH SR!BSM<;''Q&[A#RI92U'"]TR@YJV!FJX92 MP>(%/J(H)&M690:7U#0*OEOK\(@[#=-*9,\__I3HDW9-HPY5PS(<.]2)"N4& MGTJ=),T@1GC+&<0I&YO$$/DTS69ZKL],O8H-.6"]*/( M)8;1&O3AU)>B=+,%5J5A1D//,-KE8=M_QWR7Z)/V_$OUY M0^>:!AB<7?."P"AM7A$KF!-,K27"O&SPW&8T=0>AS5(2WG*=:4-B/(=C.R]*8ZW.(8GG]4_W^OC7&PO=V]R:W-H965T^GDX;+=G1QYM[=Z(LSM;*U;,6-9F;5-%R_3$6MUN>C8+1Y<2OG M"TLO)A=G2SX7=\)^6=YH/$T&*Y5L1&ND:ID6L_/197 ZS4G>"7R58FVVUHPR M>5#JD1ZNJ_.13P&)6I26+'#DN+W>6/_H_%LV;16Y>-?N_#>ZYZ:]M0L>2G.1^A*(_23&%W\(;CN\&= 3S0/0@\(TL7' M)2C8EU9:B-Q93HC\Q(+8\WT?BS#VLC3'(@J],(Z'@ ,O2'*6IRF+BI3=*\MK M4DO<:Z@E7AK%G5H:^VP/NLF ;G(PNE>J6:I6M-9L80UTV8=GS"@CV'@J6C&3 M]NA 9/>Z_B%DKU9:(]!3]E%40CN4@&22XEXXJ((L[G 'IGX:XQK%(1L'*3L: MT Z#")6(6!P5/=9E9Y;)+G>+W$6?>^0E$<2]! I)D2&ZF8!P]1I"DL&4%^4^ MR4*BX!KAV&CL$ MP0_P),$]]9*<^ *Z1?D^NJ0#7=*#Z?)A-A-NYF]3Y99ROA6E:DM92^YVAL/( MLM_Q@;RX_AX-;MFLKY!!1596Z1>F*4S"*<@CW!.4+7)XYH0X#4V9]Z6H$,84[7'01XX5GB) MH\=G1:FM ",MYKKP*PGW1%>)J (_9EG.HI3]9A? )BO8 MN"#&!5FR"Y6W./):U*T\G;LP/O'9.\R@DPRW(#Y)V+L]C,H&1F4',VK34XY) ME\8(3"*:Y[]*_@ V60E(#B/3?I]O,.C]CN;C+HI3=EF6>H6_1+.LU8N@/GF>XYI"] K?!QJ?8WWP MG;L(P^ZX)T>!@D=YP0(P-@O!'2\'2[[NHFOBY; (IJ9>&.8TP;S(S;DTSG8" M5K_6ZG1W),=@OQ>E1,X;39G;%U=E\?=*+AL:O^,@](JHZY/0\T,*X+JUZ"O7 M'ITQLE)@)$(H!'5)^F>EJK6L:U(CG6,X$$LNJZV.PG;@)Z24YRXO;*X%$J)5 MYA$5CEQ%=@WBK=10[3%@2[&;'[EU"%BH0R\;M:(-E./[Q.UJK75&&( G.(RJ M9<7IW937#N([^K:$@F$S1;@#MK>)Z-&K>E5U-KMJ]G" ?ZZ/ W]G85SNOD>E M[V"-\Q_,=4_SYT/SYP,Y3;_SO*MVDZU33B/TW)WE,(R(T-V!9W@['!$3+3P0 &P+ 9 >&PO M=V]R:W-H965TJV0Y>Y0*:*DTTFCDO$J MF(SWG,@\0<29W>MR%GYD1DV M&2FY!66E"89MFFW AF,(=O9H4* MYK*D0*]L!!X1KJ36$-ZSA4!].HH,*;<04>85S6I%R2N*X@2^RLJL-/Q2Y9@_ M!XC(ZL;T9&_Z+&E%_(C9.73C,T@Z2=R"UVVHZ#J\;@L5&FH'6^!Z#5S/P?5> M@;NC^LDW D$6;W+[IM9FC'!J@S/X&7T.X>!.O',/A'I?^>AC M% J7DPND"P"I#6>":Z]3$ M+]-YSY'/MY8D2YLD2UNC>_N"-*#+\7]TA?G$%Y;7;Y0J/CO;^MVE2Z\ZK7A&BUHTDYI^ MW1%%/$.W+H-Q7F:VJJM6L2P6Q>CHZGV\;CA>W/C(5P,(#EF:=BWA1@F0\O;P+>KGYL)]1B70;[6 M3X#J]\32<.%IMWPJ9[MZ8^3:S5,+:6@Z<\L5C<.HK #]+R0-$GYC%30#]N0_ M4$L#!!0 ( #R"<%3Q=F:9GP, )L( 9 >&PO=V]R:W-H965TS7=T@YBA?8&,F+>-',F7.&0XUF1VT>[![ D<>N[>T\VCLW7,>Q MK?;0*7NE!^CQS5:;3CE).-7VTF(6]E5G,],&U30\K M0^RAZY1Y6D*KC_,HC9XW[IK=WOF->#$;U [6X/X85@97\812-QWTMM$],;"= M1Q_2ZZ7P]L'@SP:.]FQ.O)*-U@]^\;&>1XDG!"U4SB,H'+[ #;2M!T(:_YTP MHRFD=SR?/Z/_&K2CEHVR<*/;OYK:[>=1$9$:MNK0NCM]_!U.>J3'JW1KPY,< M1]N<1Z0Z6*>[DS,RZ)I^'-7C*0]G#D7RB@,[.;# >PP46-XJIQ8SHX_$>&M$ M\Y,@-7@CN:;WA[)V!M\VZ.<6G[4#DN;D9[*&'2;;D8_]>-0^9S_>JTT+]J=9 M[#"6]XBK$^YRQ&6OX*:,?-*]VUOR2U]#_2U C"0GINR9Z9)=1+R%ZHKPE!*6 ML/0"'I^4\X#'+RBW9!1X 4Y,<"+ B5?@UGA=ZD,+1&^G5-[!H(UK^MUY4BG9 M/$T6_X3XY!X>'5FVNGKX]WNIOAC97]MK.Z@*YA'>2POF"T2+OT&9,?4$$P?= M!LR4//](\)&6Y#->>ZLP ]=HO$-@,.BQ=@ M62&8/1@@JV8 \@-ALJ0%XWXF M4IJ5B9_E)>58/FA;*1N*Q^!H#I7SGJJOO\%]L@XZ2W).!;H+05DHO7OM5(MH MG'-$"Q$*2/>0!:ULB+%B0]2>DB1T[00[V2:,EKFG&24 ML>R,J >5 B(GF,IETHDLV M\A!4RG3DD>,)W:BA\29!4=UX$F\IH9Q*)!10$N[A"AS?JTIB[B5)*2^#*B2$ MYXM,!2M.>"^B1%8264@B)3L7Y?,01"6AV@KJ;5ZY)Z.;LA;<6R3RI*!%* DF M2IH5R3O5,59@SG.2YS3/D#C/J< *X,R/\DP:E@9#K4)2F;^'KJV=_.D]GYS-IVZJM:=S=U&ZO5*CIU[92E:3;M5-,GBUGT&2_\;6YJWW8F"YF&W6GK[7_MKFRN)H>4%9-IWO7F!ZL7L^3C_1L M*8)]-/B]T5MW-(=0R:TQ]V%QN9HG:4A(M[KR 4'A\%U_TFT;@#"-?W:8R2%D M<#R>[]$O8NU8RZUR^I-I_VA6OIXG10(KO59#Z[^:[:]Z5X\,>)5I7?R%[6@K M,6(U.&^ZG3.NNZ8?1_6PX^'(H4A?<6 [!Q;S'@/%+,^55XN9-5NPP1K1PB26 M&KTQN:8/3;GV%K\VZ.<77XS70 OX"7X;E/7:MH\0@.#]MUX-J\;KU0=X?Z-N M6^T^S*8>0P;':;6#7X[P[!5XRN"SZ7WMX.=^I5?/ ::8ZR%AMD]XR4XBGNMJ M IP28"FC)_#X@0 >\?@) AR,!9Z $P'$*W!/+%XTO>JK1K5PV8^')ZCP MKQ@);O2#AV5KJON_7R+U9(QP3L_<1E5ZGN!!=-I^U\GBHK'.[YL(U[HR_>JP MO*D;^[2Z,(/U]=-'XS%)U#CX6L.?6MFQ68!4Z^X6+?9TPQ?\EW *F3I#DSM, M2UNTN_9:MW"%J;C!:KAJ-AK>09:25.8XD07)11%V2B)XB9.<$IF'"9,E*1@/ MOI7"])$IBZ,=*A^0%)9P'.?1>=TYH(PP*8!*DF9Q8*D GI(R*R#G1)3IKB:, MQ BG-$PX*5",[Z 0)!,<)S1E1(J0(.<6:D1%8XD;0$04J:AIK+G!_J0DKS$+,DDH=8 M^)EGL2ITRL..$)&DT+&FKTP7,F:$1B\<>2 %H446URP/:XI]P;B7H_T&.^]J M9?49+)5K*C1()XP=#S(=5S'RA.9PWK0#_F4\,Z4OF6;P/P@V?:M@BTB=S%$B M09X9*BS?23@M(E,"&X3Z>EM3T5O(V"/D! ":E3*V"7G;]S4K8N?C62EC M3W),AK-QAQ=AAQ62E&G^5KFB9#(9=4_R5(Q2*6D^[@2\43/E6T]C007L#B0" M8WU$R P/!6/9H:QR=]Z#BF74J\1#4QX+5Z91[<_T*K.0)U9;%O&\L2PV Z&C M6DO\@TE/JC7-XI"-$LS%J,18_ 3)/U;KOTSY:#JJ%3EYZ6J8'EV[G;9W\7'A MH#)#[\<;^+![>+]\'*_M)_/Q\?-962360:O7Z(KQ90)V?%","V\V\1*_-1Z? M!'%:XQM,VV" W]<&[['=(@0XO.H6/P!02P,$% @ /()P5 OI]WOR @ M[@8 !D !X;"]W;W)K&ULG95M3]LP$,>_RBG: M"Y Z\MBT16TE"IN&-*8.&-,T[86;7%H+Q^YLA\*WW]DI69%HA7CCV([O?S^? M?>?Q1NE[LT*T\%@+:2;!RMKU:1B:8H4U,R=JC9+^5$K7S-)0+T.SULA*;U2+ M,(FB/*P9E\%T[.?F>CI6C15J:Z:<9"K69!''P/''-EROK)L+I>,V6 M>(/VQWJN:11V*B6O41JN)&BL)L%9?#K+W'J_X([CQNSTP>UDH=2]&UR6DR!R M0"BPL$Z!T>:0>?2&>[VG]4_^[W37A;,X+D2/WEI5Y-@&$") M%6N$O5:;+[C=3]_I%4H8W\*F79MG 12-L:K>&A-!S67[98_;..P8#*,]!LG6 M(/'<$LFXZUVH!VJTG-=?Q6O37!<>D.Y<9J^LO)SDYOZ)3+1B!<7L)' MN&.B86VT9 G?&R9X]<3E$LZ*0C72&CBZ90N!YG@<6O+N-,)BZVG6>DKV>(H3 MN%+2K@Q\DB66+P5"PN[8DV?V67)0\0*+$TCC'B11$A_02[M8I%XOW:/W35DT MT&[P@%S6R65>+ML7VO:>@ZK>$-??WBWYH_4*FV\,EVP+K!>KN>$[A3% !\(942J!4S<)6C:"T MW$;@ PSR ;5Y/Z7V:!0/X)@Z_2C=#=]+$:Q0:W+'9:%J!,L>@1F#I);WDF1( M-_HH34:DT^\-1Z-#@-%; (=13&V61@XPRS,/Z*C?!1@G.219!$=Q.B2EEG@_ M8CQZ"V*>.[B4DHT0XT'L$1WW.Q!'O2Q-(WD\\I*-^+3G"G1I4(]TI M5VD->+"V''6S73$_:VO8_^7M2W!%5Y)+ P(K,HU.!OT =%M=VX%5:U_1%LI2 M??3=%3U(J-T"^E\IRN3MP#GHGKCI/U!+ P04 " \@G!469H(>A " !Z M! &0 'AL+W=OJ4=7?"J70>0$ 8<"'0.UPQ/< M N>.R,KX,7(&TY$.>#H_LM]Y[];+GAJX5?P[*[%9!N\#4D)%.XX/JO\(HY\K MQU \G@'AQ 9",@,3K'@[R*M<4:9YI MU1/MNBV;FWBK'FW%,>E>R@ZUW646A_EGA4!B\I;H- M*50G<8C&M#I]6#=#GGZW#U_EANJ:24,X5!8:S=Y=!40/21\*5*U/UUZAS:J? M-O;G -HUV/U*V82-A3M@^MWDOP!02P,$% @ /()P5'I*]="*!@ *" M !D !X;"]W;W)K&ULO5IM;]LV$/XKA%%@"9#4 M(N77( F0US:QW09QNF(8]H&1:)NK1+H4Y23%?OQ(298L2Z:8+FL1-)9\]QSO MX?$Y4LKQ$Q??H@4A$CR' 8M.6@LIET?M=N0M2(BC]WQ)F/IFQD6(I;H4\W:T M% 3[B5,8M)'C]-HAIJQU>IS"775SE%\&A(64A4'CG_IB]N_).6HT=$ N))#8'5KQ6Y($&@D=0XOF>@K3RF=MS\O$:_3I)7 MR3SBB%SPX"OUY>*D-6@!G\QP',A[_O219 DE _1X$"7_@Z?,UFD!+XXD#S-G M-8*0LO0W?LZ(V'! <(<#RAR0K8.;.;BV#IW,H6/KT,TCYFD; [N>$ ]2B*P=TDDID$$'LBSC'&P#Z(%%NH+RL## M@L<19GYT -Z5KH_;4@U7!VU[V=#.TZ&A'4-SP80SN8C %?.)7^,_,OM#9 !H M*YYRLM":K'-D1+PDWGO@P@. ' 2_3"_!WKO]FG%=F%&F9*E0G":42S/*;UX,*#?VO!A0;JU1X' WRNCU59MG:B?6Q!HKSZX.J[34W%R7W 2\LP/\GJP(BPF8"1Z""[6,A6KQ2AWE EPD MNDC$ ;AA7A#[6IO.HHBH'Q\\X.B^S.H4.ZG;ZQ^W5YL*MF@TZ MO8Y;MKJL6O7= 41EJZL:*^1"6+:ZKEKUA@JL;/6A!JO?<[ M$>$+/).U'28%Z&T$[D#'V9J#JM&6Q<@&9FR"*>77S?/K&O/[JK:\1$2_J?H/ MU48]PLE6=TSQ(PVH?*G+MUL9 ^Q7\K4Q&MD8C1N,2EGW\JQ[_R7K [7^A2!, MUJ7?JXS'[?6VLJ_:('>K7D<6.&,S3BGU?IYZWYBZ.HJH@P;+,O1>P(/ BH#T MB/-!G<+ WIA'T?X!N"09[CP)CC MF=I,^C2(]7D-3(D7"RKUIO+J66NY4O!,\<-E+-.I5SO2*RR8DOD(W!$!IKK' M'("S4&],P9YB)>TZ^^ ?L+.7C09-BWS<:#$Q693(&.9D#(UD?(K#1Y61RG#= MU**TQ]T3C] 5?@P(.,IRVOR!,,V%I]:!OBS,:W,?-N9>M8#U MF4&G.%@XYHGV/!&K^>IZ,=DP7>S$H'DKULCT)\X\ M ]DU>R^WRG:-546U1E98XR:L,@_%;@.:MQL3RF@8AU;D%BT>FGO\M0*5Y'"L MU-!7^UF)V9SJ5:\WM/( ?(G(+ X4V3,"]I+3;.T!HB%('X3)0=@TXJ(]0W-_ MGN!G:QJ*Q@<;.M_;T& .@B!X(5@8:2C:WL3%F:J3A4O 5"57I%XM.M:'7 ME$K1*Z"Y6=P)OB1"+[B[0#^:T0.X^A[3I0Z_Q=$?*L]ZBLPQ8+>1(E1T &3N M &:*[,L(%4T!F9O"FU#4$,-UFBDJ1!R91?P\ID%R@/VYXD&%B".SB+\-,^88 MR(*90FU1P^&NCIE7U$RAP,@LCF_#C#E&QX*90H"168#'!$=DP8,WD1]42#0R MJ^?;\&2.8:$^A4"C!H%NIND5Y52H-/H%*MT0PT*"W$*E7;-*3["W4+?$2WFH M/UE/;J'5[B_0ZH88;C-/A52[9JFVXV--VTJPCQYY1R! MY!U9^G [OYN_UCY+7NYMW3^'1[>PYOX('DW2E]8%?/H.?8+%G+((!&2F0CGO M^VJL(GTMG5Y(ODS>\SURJ=)//BX(]HG0!NK[&>=R?:$#Y'\<&PO=V]R:W-H965T3#& UL3G; M0/>_[]C)9EGR41[Z K$],_[->#R>Z4FJ'WH'8,C/LA!ZYNV,V=_ZOLYV4#)] M(_<@<&4C5&'09#X)>/"FT_=W(.:3^7!%%S @R+Z4)9, M/=Y#(4\SCWI/$Q_Y=F?LA#^?[MD65F ^[Q\4COS&2LY+$)I+011L9MX=O5W2 MR"HXB2\<3OKLFUA7UE+^L(-_\YD76"(H(#/6!,._(RR@**PEY/B_-NHU>UK% M\^\GZW\[Y]&9-=.PD,57GIO=S$L]DL.&'0KS49[^@=JAD;67R4*[7W*J90./ M9 =M9%DK(T')1?7/?M:!N$8AK!7""P4:]RA$M4)TK4)<*\0N,I4K+@Y+9MA\ MJN2)*"N-UNR'"Z;31O>YL.>^,@I7.>J9^7MI@(3D+[*J#I[(#5GQK> ;GC%A MR%V6R8,P7&S)@RQXQD&_%$8!=8"<_,?9FA?<6('72S",%_H-BGY>+^07B+X&W&/O2>WUU(<.KVIU$=.W5Z^XSP:TV3J'\^9NX3B<2/T@BQJR**K MR(XL8^YJ[=DC6Q?0!5E92L[V#R=!< '9(12%:3=DW$#&@Y!X9_%&"LQPI4!D MCP0KV(FIG&12&(7%H#.F<8LD2>@%;5N&TE'033MJ:$?#M%PPD0$I "L,*9XS MO0/R?MC4-_J]R[-1BSH>C[JADP8Z&=SI*]9;4!HC6N(CH:M<4*!!'3O!%TF+ M(4HN$[8M$T8]^3IN.,>#G!_,#E07S[A]DDF47F9G6RJ=C'N0T@8I'43Z) TK M\$FJ+M+P>2_2=DCB>))>8+:E:)+2N)MSTG!.KKKJ3[7WD7Q[!^4:U/>!"D># MYZ2[7=+A>=U>$^]]H+5SA-&0OE7,77^)-WW$1I@!?WZPXY)@L^ S?M3/[IBMC M_+.^H@2U=?V9C3-V!-6#U,PV/>"]:Y5:\^'M@H8=*^@GKKCFQW_>HFHZWS&U MY4*C0QO<+K@9XUFHJH^K!D;N76>SE@;[)/>YP]X7E!7 ]8W$[J8>V V:;GK^ M"U!+ P04 " \@G!4= S=B\P$ #X$@ &0 'AL+W=O;" M,$2TIFDH^GQ#,WBSY'D:2FCF*T-L7/:NW[_C"5FNI.HSQ:!.NZ(+*E\US#BVCMA*SE&:" M\8SD='G9N[(NYI:I" 7B;T9WXN"9*%=>.?^N&@_Q9<]4,Z()C:0R$<+?&YW0 M)%&68![_549[]9B*>/B\MWY;. _.O(:"3GCRC<5R?=GS>R2FRW";R"]\=T\K MAQQE+^*)*'[)KL*:/1)MA>1I1889I"PK_\,?52"Z$.R*8&L$&!@G#"K"0"<, M3Q"&%6'8E>!4!*"5Q&\K@2_(OA="4%%"+H2(!,KY4R=XIZBU&+K M:I\>92^WU=#[)&4ON%4H;I2Y6"3R-)3A>)3S': Y+GTQXFL(*7:S#G)+/6RDDP)4] MV'7@I;*]50,&U.H6Y&Q*9<@2<0YCORRFY.S#.?E #"*444%8 M1EXR)L7'@XZO:[X58!,Z/QRU1X:$N"GOC:B*T:2,D7TB1@,RATFM!;G)8AHC M_*=VOF6W&#! L%HU>Z_:Q&ZU.*51GPRLC\0V;0N9T+2=OJ ;H)LGZ3?M],=M MUDJ_;:?/P[QU\G?=?3<1^GUWWS'Z0W??,?IC=]\Q^M.?Z3[[L]#-.].MH"6+ M!_7>,RCL#4_M/7 N85G$4XJMR9+K%%QU_'@;V[8'3K\=YGD3- R&[C'H!K%D M#31+MQC(UBH/6U4N2\09;,'EYGR.I7UIPCT8.? =S=49 M O)\+69S##2T,>,)"K;8:/&,C4-NBG M)LCJ6]J..<- @9[B39#=]UU<=+\6W>^4Y-UE][O(CH%TV5%#>N5"0;KLZ&C: ME.XQD+ZN'C!00W8,U)"]"0+9-= , P7Z6F^"0'8'ESWH:1V6^>NN9/Z/W?GZ M-ZRO:PHWGYWZR3A<U/ZJ;D%Q3\DY5;E%U22!PV*+I*Z39_KA7GMH( M0-7QJX^=OXR#>V!*\U7Q0420X@975KNZM_[H)!N4I+S^SE W)-\6]]95+ MN <7CVL:QC17 'B_Y%",JX8:H/[8-?X)4$L#!!0 ( #R"<%3P=FSGX@, M .$- 9 >&PO=V]R:W-H965TGTA4G2]L/-?1#V KK8$I5D2/[]K6S',<4XGMY=OX E M[;/OJUV-]D+>JPV )@])S-78VFB]?6?;*MQ 0E57;('CR4K(A&I%)"I-$BH?+R 6^['E6D\;-VR]T6;# MGHRV= VWH+]N%Q)7=LDE8@EPQ00G$E9CZ]Q]-W=[!I!1?&.P5Y5O8DQ9"G%O M%M?1V'*,1A!#J T+BG\[F$(<&TZHQX^"J57*-,#J]Q/W]YGQ:,R2*IB*^#N+ M]&9L!1:)8$736-^(_1P*@_J&7RABE?V2?4'K6"1,E19) 48-$L;S?_I0.*(" M&T!O0+0:POP"X#?%M O /VV@$$!&+0%# O L"T@* !!%MT\'%DL M9U33R4B*/9&&&KF9CRPA,C2&D'&3N[=:XBE#G)Y\%AI(C[PE%ZG"(Z7(5"1+ MQJG)+$5>ST!3%BMR!P\ZI?$;I/QZ.R.O7[TAKPCCY&XC4D5YI$:V1G4,4SLL M1%_DHKT3HK^$NDN!.#7S6#)]!6,+KI%^^(#TU MTIV3TM__.^E7[>%UTN>MX>[9(=S&_"F3R"N3R,OX^2?X+>@C7F=:$2W(>?@C M91+*? +5(9_Q#A8K,J5J\W0>=0[)@4W1M.87*)%6_/=(1\_3LF?GR!9 M@ORKP;%^*8UQ4Q1=L@"9&@DK\%X]9O0C*_)-=<@06E5>KBN(IO% MN8[3=9P_&A3OEXKW?V-&7/2/,R+PG1.1')0Z#MHYMW+C=:J>)C<04PT1$J!? MZS)U<*17KZI6GJ@YT:!"Y)U2?5BJ/OP%U1=2D*RA8S+D4TVV?0,[X&F6*X6K M@2 \A -;L7N L=[<\G6WZ?#(5#=P3MD1E'8$OV#'%#L/BT!F2W(G*5E? 84?)@FW!:+BE_+&#OL7+LT6-N\YS"W9^:Y5/7Y#W M<^-RZWN7/]9PDX=6OZT9EOVFNM MAL_MQFWN-R=+?AZ%(>9$S(>9N#%E]1W_C3)GW*K0K M H*S&_FB-R Q4"&P'5W&4!>FRT+/JH%OW:,(V)51U#Q^/E&Y9CA(QK!"F-,= M(E[F[XE\H<4VFTZ70N.LFWUN\ T&TA#@^4K@A%HLS,!;ONHF_P!02P,$% M @ /()P5+2\&==&ULK9A=LK+@H@63K MB\DE>G,30A-0W_$G9\>J=PS,4)9"?#;=-+5-(']XX?LO]6#UX-9THJE(O^+K]3V8C*;@!5;TWVN/HOC[ZP=4&3R M92*OZK_@V-X+)R#;5TH4;;!64/"R^4_OVHGH!:#0$8#; 'QJ &D#R*D!81L0 MGAH0M0'UT(-F[/7$75-%%W,ICD":NW4VMV%.H/?T_+J 7J5LI MW*T4KO,11[[>I'NRD2X;J;.%CFQOA5@=>9Z/34L3&=61!C2'143B63@/#OW1 M#^_".)E%W5T_R0H[6:%7UBV5W\%->>!2E!I'BN;@1C?>SAR_!A\^I.#OCZQ8 M,OF/9PZBKECDG=&FM3V)XBY1[%6=TFI;/QB9.6!:\('F6O%HR\?#>9O.QF=M MVM6?>NM_E73%:@%";9G4 ,^8EK#,'[=*HZ!)%O<4( 1).*YAUFF8>36\*P]Z MQ$(.VK.I.1O6Q-,I&:^9=#43?[=(MJ-\!=B=WC_94MW7I=E#JXZB#@[JS^ T=@CH\1MY!7S2Y36LRPW(F=XP@30[XYE8 MG^WU"1WI\%8-&JB)9@0BAQP+*82?: -%RPW7K>'U51A>-(8BD4:\C--EY9[ MO92Y:TAM]2',0AB[EM+"#/EI]OBI>DK%$&^^I\GR#?D!UW14K[CI+F.W1D4, M 1>')'',!;:(PW[$>:S"%1Y"C< X<:P^ME3#?JHU ]_M9;8UTY]I+\I7]9*( MLI(=*+CE.V:,\8Z6]Z_!NU([NQ-\"+;@PN3_ M.1%L(83]$'J.%TG;7/UIBQ-'UV)+(1S]0CN2MMGZ/32%,U<+679A/[O\AB3% M0VQ%L),5#;B4P<0FPV,)^;/TW M3Y+B$8>&^B\>/[_I6( 1/\!.\20I&9(,(10[WF>()1DYA61/FX*4C#BR:!JY M1F\11G[)>V/OQ=%OLD[P!"D9^BM$$M=<6K81/]M.\P0I&;%7R 448K%&_%A[ MGB=(R1!K&(;.];1<(WZN/<<3I&3$G"4$.YPVL9@C?LQY/$%*AE#S?!D@%FO$ MC[5G>H*4#.$6)B%R]8&E&_'3[=2WC)0,>1:1T+'%A!9GH1]GG^I--1?EYDPQ M63S5AVVV_AZ?D,>3$/2^()H/Q!^IW/"RTIV^UE'P?*K#9?/-M3E18E=_5%P* MI411'VZ9WO:EN4'_OA9"/9R8[Y3=E^_%OU!+ P04 " \@G!4C%26-.,# M #G$@ &0 'AL+W=O6.B(<3J4H!9Q3.3C%8W$JN\A;[-PRV9S M;1?\02\A,WI']7TRE&;FYR@3%E.NF. @Z;3O7:(W(6Y;@W3'=T97:FL,-I21 M$ ]V\G'2]P+K$8WH6%L(8OZ6-*119)&,'[\R4"\_TQINCS?H[]+@33 CHF@H MHA]LHN=]K^/!A$[)(M*W8O6!9@$U+=Y81"K]A56V-_!@O%!:Q)FQ\2!F?/U/ M?F>)V#+ K0,&.#/ 50WJF4$]#73M61K6-=%DT)-B!=+N-FAVD.8FM3;1,&YI MO-/2/&7&3@^^"$VA#J_A:J',(Z4@%/&(<6*3K,SZ1ZX)G[%11.%2*:H57(Y_ M+9BD$SB[IIJP2)V;;?=WUW#VZAQ> >/P;2X6BO")ZOG:^&A/\L>9/U=K?_ ! M?[Z.=0V"Y@7@ *,]YJ';_!/A-:BCU#SXT]PWFH\TQ=PK^AT$<$- MFU(X^X<2>;XOM6YX%,"CL530@%AP/5> &S AC\KA>B-WO?%">8+_($Q?:RKA MED;K]VS.$E4ED\W9I,^F&WV32X6DK][1UK*?O")/PG40+NL_#-6PSA;5: MO1R@;BV>ALKN#I7=UB$F45 (>_!R7 Z)-LN5B$-;I06=EKH2?(Q*N4.%T".W MTA_-7H;[QY=8/TA?40N06ZV?1-\5&3]$8E:)OD+2D5O3GT^?&[^]*4.MLBJ$ M"MU'1PM_"8O-'18/DUB(.W*K^WO*Z9+ D"74]E4)X8\7IJ,:URHQ5:@V-@Q+)RYX *@4='*WP)9YU=SE"PQ5H6W.XVA%"K>8#<0NZ16^_+ MR7U6KX,+I<=NI7\V_27XJ%QG<5$4\-%%P$TH@+ M7<='=^T5:7/C/T5H<5$F\-%EHH2_]JZ"!HV_/SU_ZQ;"7@%])G+&N(*(3HU9 M4&L;>[F^55E/M$C2BXF1T$8CT^&'.4ERE>R$?5(6HX9'57$V\2NO-E>^KHD)&U*78(#E+C:762JVNJ8Y8G%.\!WBGMU M, ;K9"G$@YW(6KDG[%MLX$&Q55JPEFPR8)0W M;_+8UN& $ Y/$**6$!T3DA.$N"7$;R4D+<&5VF^LN#KD1),LE6(/TJ*-FAVX M8CJVL4^Y/?:%EF:5&I[.O@J-$,-[F&Z565(*9H(M*2?V5)2)SZ4 5V%8-%\& MG.>H":W5A5TE\N%^<0V$E_ 9.>X(_+Q%MD3YRZS>+W(X/[N ,Z K(]C5Y5S+&XA#A\ M!U$0A3T)S=Y.#WKH^9OIX8=7W,3=(<9.+SEUB*8]*%)C;VD;ZL!1;1/89?$X M&8^BU-\=&NZ!#89!/'@.RWM@43Q*P@[VS$#2&4C^:X#R0C#LHO N,2DHQ);KYB/KHEWONW97_B@^-3VQ M:6'_9)J&>DODFIH;5N/*2 :7(Y.3;)I4,]%BXZ[M4FC3!-RP,GT=I068]94P M5[>=V VZ/T7V%U!+ P04 " \@G!4LH$8070" ")!@ &0 'AL+W=O MO# MIJIIUV<7+L&JL9GMA.Z_WQDH2A,2]05\]GW/GSOL(VVD>M,E@"'O%1=Z[I3& MU#>NJ_,2*JJO90T"5]925=2@J3:NKA70HA55W T\+W$KRH23I>W<@\I2N36< M"7A01&^KBJI_M\!E,W=\YV/BD6U*8R?<+*WI!E9@GNL'A98[1"E8!4(S*8B" M]=SYX=\L$NO?.OQAT.B],;&9O$KY9HW[8NYX%@@XY,9&H/C:P0(XMX$0XV\? MTQFVM,+]\4?TNS9WS.65:EA(_L(*4\Z=J4,*6-,M-X^R^0E]/K&-ETNNVR=I M>E_/(?E6&UGU8B2HF.C>]+VOPY[ CTX(@EX0?%40]H*P3;0C:]-:4D.S5,F& M*.N-T>R@K4VKQFR8L%]Q912N,M29[+[%#H21BH%&:R&K6@JCVOEN3BVR7Y1I@@3Z7<:BH*G;H&P6QX-^\A;CN(X 3$$O)K M$OK?2> %_HA\\76Y]UGN8CF&F@1#38(V7G0BWB-ML,0&%*-\-)M.'K=R>TUV M610ELTGJ[O:AC[T"+PG]P>L36SBPA6?97O!27#%Q52N9@QZEZP(D>_N&GC\] M@#MV\B,_&6>+!K;H+-L=$PQ/8D$V4HX?@^AX5\^;)0=LQUYQ-)V-L\4#6WR6 M;;6M:X[G=XPJ/J::1MX!U(A3$IWXF,D E9R%>I*&-5&NQ$[;#$ M?P4HZX#K:XG]HS=L.QK^/ME_4$L#!!0 ( #R"<%2%.@BC+@( $0% 9 M >&PO=V]R:W-H965T#C!#\4<< M"HSCF9+0*0=HAH^V5V%O8@VR9"29A'_?E>QX0B$,IUXLK?3>VWUK2=E*Z4=3 M(5I8UT*:25!9VYR%H2DJK)DY4@U*VEDH73-+H5Z&IM'(2D^J19A$T7%8,RZ# M//-K(W+VTU"4X"*''!6F%OU.H']G[& M3J]0PO@OK#KLUW$ 16NLJGLR55!SV8ULW?=ABQ"G.PA)3T@^2QCUA)$WVE7F M;>#:YX=+]Q5NK:9<3S^;7RB*,X0O,-9T,;5^ R1(N MGEK>T+^RL#]#R[@P<(=KVS)Q0-#[VQGL[QW 'G )=Y5J#7%,%EJJQZF&19_[ MO,N=[,@]P^((1O$A)%$2OT.??IX>O::'U(6A%Y:['&.?PUVAYSQ.XN3X. N?MZV] XNC^"0=8*\L MC 8+HP\M7%W\N9S^_* 7Z2"4_H=>I&]-GIY&T3^M>(M*HM$6JC,0;IUQ][Y< M,;WDTH# !?&B(W@_86BH]\'[B8-#V?^ M%U!+ P04 " \@G!4(YF #HH# #<# &0 'AL+W=OS4-I/I_OJU@0%"($U'HT@$V_=>SCER&_JXQ2#9Z*G*N%DVF] M^^"Z*LEH0=2EV%%N5C9"%D2;H=RZ:B0-F0>BZ$KDWUBJLX4SQ_Y,VA (; M+Q&YJJY@W]A"!R2ETJ)HG V"@O'ZGSPU0O0O\4Y+L\J,GUY^$9J" +P':VE20^J?@/ 4 M?/Q1LIUY6;JW< '6.3$SA^MOKZDF+%?OC.7]W35X^^8=> ,8!W]EHE3&5LU= M;7#:I[E)@^FJQH0G,%W3Y!)XZ )@B-&(^^I\=WCH[AIU6HEP*Q&NXOD3\0Z4 MH<_,+\!6"C7*K@X75.'L-GI<8C0SO[G[V&[C>(QC&033 /V(7A^%L M K_?XO?/4GLTW2[ %VHN'Y^2O$P9WX*5X$K+LBX)-]PFZU;2\=?B'^%%"&'L M#VB-F$&_RJ0Q6D%+*WA1$G&JQ[ &QR PPF$XP#IBAB":>@5ABS4\G4(6XTVQ MD^*16I0*_'-+BP/2ZNRDZXHAQ#..!$F-64>2-"S%KLAT( MO:XB3;P^60\>E:<1JXD]C+I.@$ZW@EN29&9*#KOD.7IT!1R=KN"_K\=Q)48^ MA"@8*C)BAZ,PBB=DZ4HV.EVS.R'N>4HE^,0XX0D%5?:<)4Y71M'+ZNBT.,DL3;J*BEY64B=Z2Q,M..APT,=#28[- M0A0.6XO;.WK:<_\MD5O&%AS=FVNLW,YP>5 MUL"L;X0YD38#>\!M/VB6_P-02P,$% @ /()P5(V#])9I @ ?P4 !D M !X;"]W;W)K&ULG511;]HP$/XKIV@/K=0U(4#6 M5H $I=LJM1,JZ_8P[<$D!['JV*GMD.[?[^R$E&V4A[W$/ON^[[O/\7E4*_UD M,R MF(S\VD)/1JJR@DM<:#!543#]:X9"U>.@%^P6'O@FMVXAG(Q*ML$EVL=RH2D* M.Y:,%R@-5Q(TKL?!M' V&P>1*P@%IM8Q,!JV M>(U"."(JX[GE##I)!]R?[]@_>N_D9<4,7BOQG6-+E3#^"W6;&P605L:JH@53!067SVG/8 \2]-P!Q"XA]W8V0KW+.+)N, MM*I!NVQBO7Y),Y6L:%.85WP"5\S55EB,",0DO%.8DP;0N9-87$ M;Q32B^%>29L;N)$99G\2A.2JLQ;OK,WBHXQS3,^AWSN#.(I[C\LYG+P[/4+; M[TZL[VD';]#NO!^RV""''NG:83N)X\N+X2C<'A <=(*#_Q9LD,F>X+"?7 P. M"PX[P>%1P0733_07MEPK2?UGF8";YXJ7;GX&=W?7\.,>BQ7JGT>.,^G$DJ-B MTY2H#?5?IL.]IBA0;WSK&TA5)6W3 M']UJ][I,FZ9Z36^>IGNF-UP:$+@F:'3^@;1UT^Y-8%7I6VRE+#6LG^;T0J)V M";2_5N2F#9Q ]^9.?@-02P,$% @ /()P5#O&ULM5A-;]LX$/TKA-!#"[212'T7MH'$ M0;L]-!LD[>ZAZ(&6:%L()7I).N[NKU]25B59(ET;=2ZQ*+T9OAD.'X>9[!A_ M$FM")/A1TDI,G;64F_>N*[(U*;&X8AM2J2]+QDLLU9"O7+'A!.>U44E=Y'F1 M6^*B$4> MB?RZN>=JY+9>\J(DE2A8!3A93IUK^'Z. FU0(_XJR$[TGH$.9<'8DQY\RJ>. MIQD12C*I76#U\TSFA%+M2?'XIW'JM'-JP_[S3^\?ZN!5, LLR)S1OXMV^X,T 87:7\:HJ/^"78/U')!MA61E8ZP8E$6U_\4_FD3T#&!@ M,4"- 3K5P&\,_#K0/;,ZK%LL\6S"V0YPC5;>]$.=F]I:15-4>AD?)5=?"V4G M9W=,$A"!=^ C8_FNH!3@*@>?*HFK5;&@!%P+0:10@,?]0@.V-'Q^?4LD+JAX MHX!?'V_!ZU=OP"M05.#+FFV%@ MP7Q^NKEW:.ZJ)+690FVF4.TOL/@;!?T6?.1,& /;>PIK3WHC/<\"/XW\B?O< MYS]&0=1''=#T6YK^N32OLVQ;;BF6) >X9%P6_V&]ATS,]\ZC'J=W09C$ ^8& M% J"T,P\:)D'YS*_(])$,AA-[Z=^' U(CE'0"V%B)AFV),.C).?UEB0KLV@4(DJ1EPX2,4:E00]TP#)N6<8O66:Q MH8#2=%AF!A2,_,#,/&F9)QY.J[5 M45[+<3T$=[@D)U4:]#KQ]RY6:XVK@_V$$A0.TF& ^0A9\@%[QQ1\R7IKO!^6 M$@I&Y VP6)\>1O+=R0'//CHL)=]RF4E M3ZNQ3M7AV;)NKS ON>+?^=9L/CHOV[Q1,:BL>6[$[FX=DZ;RN*L8"KG6/&_83%1[T.^8(M\EC"?#3L7'X!.J39 MR1QZT189F;I?#PZI&U"I;1D[,467ZI$;1X>WBV1(<@Q"_K!#=GNW2WVU_XSY MJJ@$H&2IK+RK6)GS_6UY/Y!L4U\X%TRJ7KE^7!/5P7 -4-^73%TZFX&^P[;_ MLYC]#U!+ P04 " \@G!4@21(97<" #;!@ &0 'AL+W=OC[]8W$F3MX*5D#K6*B)1*JB7/A MGT\S8V\-OC/8JITQ,9DLA'@PD^MRXG@F(."PU,8#Q=Z.G[U_LKEC+@NJ8"KX#U;J>N)D#BFAHANN;\7V"_3YQ,;?4G!EGV3;VWH. M66Z4%DTOQ@@:UG9O^M3784?@1P<$02\(7BL(>T%H$^TBLVG-J*9%+L662&.- MWLS UL:J,1O6FE.<:XF[#'6Z^"8TD(1\()^%*+>, M$=:2NUIL%/I7N:LQ=A.!N^SCO.SB# [$.8/E&0G]]R3P G]$/GV]W/M7[F+% MAK(%0]D"ZR\ZX _=!&-)=*K8JLP%>BRB*$QR]W&$%0ZL\!@K'&-UJF27Y:?A M."L:6-$Q5C3&BO99GI^.L^*!%1]CQ6.L^ VL9& EQUC)&"MY RL=6.F+K+L: ML)]6&N08,=TC^EGJ'_A$L@&9O8P4FN+-W;V,T%W&L1"RO8\T_!BF?T/H+M2^ ME>_%?O9?H.Y.ZS%M_RN5*]8JPJ%"G7>6H@/9M=)NHL7:=J.%T-C;[+#&OP]( M8X#[E<".U$],@QO^9\4?4$L#!!0 ( #R"<%0KRW#]CP0 "H1 9 M>&PO=V]R:W-H965TI4]55==QT M5E*]Z3FB@748"'U9F1NS^.(X>CS'D.F:7*"@-U.I0F;H5LT2R MXEI&&.#86 A&_Y;8QR"P2,3C>P):27U:P^SU%OTF#IZ"&3&-?1F\\HF97U;: M%9C@E$6!&)&S##NATE5Z#L:D*S%W'V8VO* M%Q>V4)Z,HK><[$SWJS0(Y_ 9^@HGW,#53"%2(1@X&Z!A/-#PC&L3L> 3? N MX'DN(\W$1'<<0_XMBC-.?/4VOOP"7P]C4P/?KX+O^M[+TP#./GS*0>F7HPQP M7(.Z=PQE<#J*6XQR?3**=Y&+XM!^I)OBIYOBQ["- MA;85"A-G"]IH&@L0H# M'!F@K,,-%TR,$>Z0ND-7X2O-$CF%JU!&PFCHLP4W+. _<)*7V8W;9NS6CI!E MUZ.)TG&6V<0=+KKX>T/4TZ/II0?>E/A[)!JN5C>0@D/(U>R0; M*JAMI5#7Z_QW"$ZH^20FRE'EKEX=)])M8;-N8!-^]5N&=K'D8A]*0B M2(K=[A>]->]Y8Z&54W94+P7AGZ?DSDO);3D\H>!244:^7S:*9]V*9^X1V^%-BJR7JM4R$ND;J6K>RYBJGTIM SX MA!FY^JB]E^(_X25Y4[8-$ MU[W"QKQ(X[HH+P(I9I^)6@C[Y4 \)75H7K5?'%1[N]4NXN&Y.ZUR?TWW);B% M[9V$;>3FV\K5V\V-N#,?LSNL?R_*[TPOO7PG&21M-BVB;)O2-'^=C1##P M,)U29B9Q8N#L[K;W,/R4-=B.OU.*92=-7KDV'8S;'M-N5(53H 7$6G*V[;IK62$(3?Q]_<-(CRB&M,U55\N M_W*O;JWNEO+?"9M7KFS_6]TD"G]*W>S4S"N7L_^@;LH=^#6_M&[\G=[Y1_3N MU]3-$:]NK9%?-T[FF&E_1;BG@N!"0X!3 G*I72J@-@?SS8V1B_CD.9*&SK'Q MY9R2C,HNH/=32:?/Y,8>9M.?1[I_ 5!+ P04 " \@G!4HV8:A?\! L M! &0 'AL+W=OR1J%]912<6*LJ0ZAKA62PH,X"Y,HN@\Y MH2+(4G^V45DJ&\.HP(T"W7!.U)\G9+)=!''P?O!*#Y5Q!V&6UN2 6S2[>J.L M%0XL!>4H-)4"%):+8!D_KA(7[P-^4FSU: ].R5[*-V=\+19!Y I"AKEQ#,0N M1UPA8X[(EO&[YPR&E XXWK^S/WOM5LN>:%Q)]HL6IEH$#P$46)*&F5?9?L%> MSYWCRR73_@MM%WL?!9 WVDC>@VT%G(IN):>^#R- ?'L!D/2 Y*. >0^8>Z%= M95[6FAB2I4JVH%RT97,;WQN/MFJH<+>X-HV& M4*;A!YY,0]B-=>VV:[B^NH$KH )>*&.V_SH-C4WO2,*\3_74I4HNI%IC/H-Y M/($D2N(S\-7'X='_\-"*'I0G@_+$\]U>X'NF@H@<.^$3\/,[E>5TIQ&66J.9 MP#+/&]XP8K" )9?*T+_$#=\Y[5VRSSZ9>SK'+)Y9E<>QP',Q\R&F4Q&.[M*] MHQ>B#E1H8%A:5#3[=!> ZF:S,XRL_?7NI;'#XK>5?<6^XB1E^ M$-D_4$L#!!0 ( #R"<%0-TCFU?0, #\* 9 >&PO=V]R:W-H965T MV4'(;VH/H-&/G'$U]_9: M%S>^K](]Y$0-10' MW^N@7K.G!1Z/GZ*_<"B#+2F9OA.'?Z!.:&3CI8(I M]XL.M6_@H;146N0UV##(*:_^R8]:B$L 80T(6P [W6II5:G!Z\5YH0 FZ1F_!J*>>!W>0 M"IE!ALS'T7M *\&58#0CVMB6A!&> KIW1_/5&C2A3+TVZ(_W:_3JZC6Z0I2C M#WM1*L(S-?.UX6IW]-.:UZKB%;[ :PWI$$5X@,(@Q#WP]>7PX!3N&X4:F<)& MIM#%BU^(]U\!DFC*=X@Y>0;(W9!KL;TN%2"B%.C>+*NP(Q?6WL&'Q309!9.9 M_W"<3-A"4/R,IY5J/$1 QP$8=0FVG6+0AS@?J)Q M0S0^2_16@@*NT0-A)2"QK31&C)(-9513*_>62%KD5_LL[R#<@OYZYYTFS M0W)VAS@1:GE^HR_X:Y^Z2:<0X$D4M+3M M<0J3I%_:J=&9*F95XR][J0 M7$A-?Q+7&)BU*SS$YNUCS#4*1G=CB)X-ROJ8@N\.0?-F.$=;_0>F/5$%N/Z" M/0[[#HE_]'[F('>N#U$H%2775;UMK$VOLW0M0=L^O5E->^Q&M)M5U1SYSQM4 MK=4[(G>4*R/8UFP6#"?FP\JJ6ZDF6A3N_=X(;;H!-]R;#@^D=3#K6V'>\'IB M-VAZQL7_4$L#!!0 ( #R"<%0^V/_;^P( "L) 9 >&PO=V]R:W-H M965TXT1VB4EE349F[(Y/1FPK*:G@ MCB.Q+4O,_TR!LMW8B$@,)2:@>L'B\P TJUD4KC=^-I MM5/JP,/VWOV+85L]U7:'A"[;=D5)A?M*NU M46"AY59(5C;!*H.25/43OS;K]E,.*TG](Y,Z'KH MEE6R$.ASE4/^UL!6V;<(WAYAZIUTS&!YA7SW$_( MH/';#?&-7W#$[Z9D7)*_V-P*MD)<']Q+MKK8-4= 2!2>)OE42.*CCI("H.5R4X 6A1!(89*GM MHH,<4J>#TI?$:8>D+PGC89"P!0E/@OS< %?[4JT;C*6Z(T/YA[V9@\B+.P1] MD1\%'5'6%[FI'PQ31"U%=))B7J@#=JFVI'P'(^IO0]H]4GU-'(0=B+[�)O M&")N(>*3$$^8JS-$X1V$N#]UF'00!C1I]RP-: )WF"!I"9*3! ],8OI.^DGO M,D9>XG;R[XM")^U>Z[XH<)RT0V ?E)$2^-J48Z&RVU:R_CMN1]N*?V,*76=\ MJKX$ZL+]WZ;^C+C%?$TJH;A7RM*YBE5*O"[-=4>RC2E6"R95Z3/-0GW- -<" M]7[%5,%J.GJ"]OMH\@]02P,$% @ /()P5%KO]*MV! =Q, !D !X M;"]W;W)K&ULG5A=;^,H%/TK*)J'&:FM#?Y,E49J M&XUVI7:WFG9V'JIY( Y)T-@F"[B9^?<+MFLGP3C,OB0V<.^YYP+G8F9[QG^( M+2$2_"SR4MQ,ME+NKCU/9%M28''%=J14/6O&"RS5*]]X8L<)7M5&1>XAWX^] M M-R,I_5;4]\/F.5S&E)GC@055%@_NN.Y&Q_,X&3]X8O=+.5NL&;SW9X0YZ) M_+I[XNK-Z[RL:$%*05D).%G?3&[A]0(EVJ >\0\E>W'P##25)6,_],N?JYN) MKR,B.D5EB0>Y9_HVNY/9F MDD[ BJQQE5(%J&&\K WFO@D&68)9D.P*!/ " M(!_! ?.%N[E_;.ZIM'2Y05UN4.TOM/A3;M %6-,2EQD!>9V@(5*-EZCVHO?9 MVSQ*PIGW-@ ==-"! [3:W1Q+6FY&P!L_\0%XG/IH&#WLT,-SZ($+\=# #I)T M&#KJH",':!?BD4D\CJ?#Z'&''I]##UV(QR;VU)+SI(-.'*!=B"#BU$$\[ M]/0<>N1"/#6PP] "/>V@IP[0+L2G)O$(6="AWPN@?PX_=J'>NCE:[;%O03^0 M7^B [L*^=70\[P&T!-!K'!P7N9>%M23<*0G(",*6@E[JX+C6'4;@E A3 M\M(TBA)+'+WHP7'5>V$2YPTNV.%?ZG CA5-.3!E$8118PNF%$(XKX7 X3@DR MI1$B&*:V#/7J",?E\;9@52G5<4\=,86*1X=!2S5Q1$BG3)FZ>8E22ZF$O7+" M<>D<#\LI8Z:F7J+ CRS%#/:R"L=U]:F)"+SAO"+Z(-7,9]X?I)SR9LHN@@>U MKCTSE&8[KLPL%IQR;\CU-0V2P,(<%/H31, W4RSP:E_G[BG-- M8\=X_<$Q3(2665ZMR$H?9&^SC%?J\? M7MQ8NTP?,LN/"M /3Z9O:!A"OF6/HX.C^'B9>F#EYE)MZ>)_QV]6KFF0H.@T M?O,PCY(IM)19U!Q#Y6^=J'QVC6:'H[JZY+3=A1=WZ-HH$=-I.J)!WL2U5-?*GD]>',E]8CYAI9"L5ZK M0/RK1*U#WMSR-"^2[>I[CR63DA7UXY;@%>%Z@.I?,R;?7S1 =]&ULK57O:]LP$/U7A*'001O;.P9%P&\ZF?N]/SJ=I:P27<:6*V9GR!F1+&/TG=YD8!R;;&JK(%8P4E ME\V;/;<^' !H>@1 6P#]%S ^ DA:0.*%-I5Y64MFV7RJ54VTRT8V-_#>>#2J MX=)]Q0>K<94CSLYOE04R(>?D!M ,LQ^0[Z!+0YC,R9*;3&VE)??,8@(>G#;E MAK,5%]QRG#U=@F5:,"0I#,D&23^5J%N MV^G]#Y8,[Q=/6B7I@)+&D3<2T8XH[3'WA2D7G2D7[SLE^?ZO0>^@SX1A_G04 M1R=]DE^#47HR("_MY*7O_>:O"AS>@8[B2:_ 85@R2L:] L.#%NBNGZ],;[@T M6/\:B:+11^3534MO JLJWQ57RF*/]<,";T'0+@'7UPH[8QNX1MO=J_._4$L# M!!0 ( #R"<%21\'"-_ ( # ) 9 >&PO=V]R:W-H965TR M;[^S$T():8?0WK2V<\^3^_D27Z8;(1]4":#)4UUQ-7-*K5>GKJNR$FJJ3L0* M.%XIA*RIQJE965%=NX'DCMZ:,._.I7;N1\ZE8ZXIQN)%$K>N:RC_G M4(G-S/&=YX5;MBRU67#GTQ5=PAWH^]6-Q)G;N>2L!JZ8X$1",7/._-,T,?$V MX">#C=H:$T.R$.+!3+[F,\X0*JRAAA&K];3Z>[I1%NCY_= M+RT[LBRH@@M1_6*Y+F?.V"$Y%'1=Z5NQ^0(M3VS\,E$I^TLV;:SGD&RMM*A; M,690,][\TZ=V'[8$_FB'(&@%05\0[1"$K2!\KR!J!9'=F0;%[D-*-9U/I=@0 M::+1S0SL9EHUXC-NRGZG)5YEJ-/S[T(#&9-C\@UP]Q0.KG4)DGSES2-E:G,+ M%=60$RW(]0HD+O(EH3PGEXQ3GL&S]C %35FECM#E_BXEAP='Y( P3GZ48JU0 MH*:NQIS-G=VLS>^\R2_8D9\?D"O!=:G(9YY#_MK 1=B..'@F/@_V.J:0G9#0 M_T0"+_ '$KIXO]P;D*?OEON3/31A5[_0^D4[_%X*DE%5D@)?8T4**6I2M,6I M;'&&=KYQCJVS.1X>Y\<31'KW$"4/_$FPWAQAQ?OQ6M>G(]5+1Z"BWML0T%!K[;I M4% 8#9.-.K+17C+;-XY%<;Q60*A2H!41"SP6.!X@>!3 4U92O@2"Q\MK6%(Q MNF 5TVR8>_0FVW$<]K#?QL1>TJ,>\/%WE#/IH)/_!]U[@/^%G;QYN?R1%_7! MWT9%4=)_E >LPC#NH;M;O:0&N;0]69%,K+EN#MENM6O[9[;;]=;/\7.@Z=XO M-LVWQ!652\85\A=HZ9TDF))L^G,ST6)E.]9":.Q_=ECB)PU($X#7"X%=JYV8 M&W0?2?._4$L#!!0 ( #R"<%0/9)LW5 , 'T. 9 >&PO=V]R:W-H M965T-J[*RU MCB]=5X5KB(BZ$#%P\V4I9$2TVXE4$D5$OE\#$YNQ@YV/%P]TM=;VA3L9Q60%CZ"?XGMI=F[N94$CX(H* MCB0LQ\X5OISZG@6D%L\4-JJT1C:4N1 O=G.[&#N>900,0FU=$/-XA2DP9CT9 M'G\RITY^I@66UQ_>;]+@33!SHF JV$^ZT.NQ,W#0 I8D8?I!;+Y"%E#7^@L% M4^DOVF2VGH/"1&D196##(*)\^R1O62)* -QI /@9P-\7$&2 ( UTRRP-:T8T MF8RDV"!IK8TWNTASDZ)--)3;,CYJ:;Y2@].3[T(#&J)S=$.H1,^$)8#N@*A$ M@BF65N;+E5)@%H0OT#=*YI1134%]6"T0T66P*LM4;^!Z S""Q3@,^1[/JZ!3_>'>[MPUZ0L MSYN?Y\U/_74:_2U!VNA#$9DKI4C:E#$CO"ZTK:]NZLM>K-=))_"QYQDFK^48 M:NSZN%^VVR$;Y&2#5K*FX4T[J.[U2.[P3!H)% -R?0/4(NNA4RY[U>30%K M[##N-E#NY91[[93SVW6&;GF<:'6&OL$K,(31KSN(YB!_M[1T/S^F?\"6[E5<2'/^)#ZG#G;$9MAS?6NL1L$07,1"X'&QU!H M_%\2C0N-QH<2:5Q5Z:[7+-*X4&E\#)G&^^ITG6&S4.-"J?%GI3K8J[\+K<:' M%&M<5>%*1MI,=DD6&HV/(=)X;Y7&A4SC0^DTK@IUP^E^(='^,20Z<]IM*5JK MR9:L6YH-[&!V1^2*D8O=^_1U*LNK$RW6!OM@D-7-X9N4,5DK_,!FB MA74NI!EZF;7+:]\W288Y,RVU1$E?YDKGS-)6+WRSU,C24BD7?A0$/3]G7'JC M07EVKT<#55C!)=YK,$6>,_WK!H5:#;W0VQP\\$5FW8$_&BS9 A_1/B_O->W\ M!B7E.4K#E02-\Z$W#J^G?2=?"GSEN#);:W"6S)3ZX3:?TJ$7.$(H,+$.@='? M"TY0" =$-'[6F%YSI5/<7F_0IZ7M9,N,&9PH\8VG-AMZ?0]2G+-"V >U^HBU M/5V'ERAARE]8U;*!!TEAK,IK96*0Z?O*6:6G8V;9:*#5"K23)C2W*,-5:I.#N72)]6@U M?>6D9T=?E$4( W@/,6K^PER4/M8 DRE\Q'3!Y0+&+@VXY6C@+$;+ MN##PA&M;,'%."!1J"J2$VW62,;E =[!B.H5_[C"?H?X.[X!+>,I480C67%3[ M.RX$)9D9^)8,4D),T/JI0A/;+TO M6ZK+NN5EKJ.^C-I!,/!?]C#L- P[1QGNT)DPD\&4^G%9%0@?J'G#F6-_#E81 M07C 1#!C^)R367&A7>5\H2J!)EWW<:]H]+:X'V#>;9AWCS*/T1!Q9HD$,TT) M_R[MIBJ/Q+'7W-7[G[LV,;H ZBA4S4S .%>%M/ML[>W8&EX%6Y&J:JRW$\VP MVWXK=5M)76U)19U6^%IHNBL47K6Z^_U[V=A\>=1FLA/^AH_[S7W]$WW\JC^? M0H,*9RM-*41H+^!)62;V1:>_X_>WD=F5>-][&YAXCU"X4XW^ULN5HUZ4,X:! MQ&5.U;6;TV:,&9>O]YOSF_ ZKJ:1WS#5;'3'-+G#@, Y00:M2Z*DJWFCVEBU M+-_'F;+TVI;+C$8TU$Z OL\5O9'UQEW0#'VC_P!02P,$% @ /()P5'"4 M$A!R!0 7Q< !D !X;"]W;W)K&ULQ5C9;MLX M%/T5PI@!4L"-1'K) L> +;MH@69!ELG#8!YHF;:(4J)+4ED&\_%#TK(DUS2M MI!U,'F(M=SV\NO>0@V4I;)BU:BU.H\"&2 4$6%ZT1/)^BKE&P$G]0 M\BQKU\"D,N/\F[GY,K]HA28BPDBLC FL?YY(1!@SEG0 M%LHZ@I1FZU_\4@!14T!PCP(J%%!3A4ZAT&FJT"T4NDT5>H6"33U8YVZ!FV"% MAP/!GX$PTMJ:N;#H6VV-%\U,H=PIH=]2K:>&5UP1 "'X"&Z)HH+H&E#@AN%, M@J,)49@R">[)B\HQ^S (E/9H](*XL#Y>6T=[K'? )<]4(L$TFY.Y0S_RZT/D M,1#H5,M\T2;?,?):G)#X&'1@&Z 0P8>["3CZS957]$NL3)I;"?=;F3:V L^< M5K: ZI2%T;%FNWO,_E .8/JB>Y,D+JS6AGK6D&E,3T-X&IJ_0?!41\,AUW?( M31UR:%MN*Z-NF5'7F]&$+/23.8AT10DZRVVCLKG]>4G2&1%_>6#KE4YZ7B<1 M3UP676,4)S9;@AHA8@ZB;+M#N/E$A%9B:[K5Y _@"3-,5XZ^$;,4F75C[ MO??"XS#\W56)[]2;OEUO"[9^"5O?:\@)0!T[/1+!8T+C!&P0?J2,K6$&6&E@ M%^IUH^ "SN__=!]N[U.;^M7Z!U [*5$[\=JYP>+;P]T(_%1EGY;.3O_/RA[[ MOE=IT1\#G/YD(COK_@QOXHN@>R@6$UP$-_$12LK>EZPQHU M@%[+5[FQ95;QBF* M9Y11]=IVQM$&]UQAYF0K:'>TA(X1%#45G+@$^YYA!:OY"_T#>!3'>9HSK'1Z MURK1"V'*49#$K/<3 5^RF*<$''WE4GYH@X=,D)@O,_JWEK_2.XQ1K$F;H)@! M(T%DVS[5BWF/7YS8='96"O:1VSSYGK&Z!*; M3]R9RI;ZHW\RHY.\"#-I,) M*1%+>X(K@1TEZS.V\FEY2CRR9Z,_/(_@^71]UEN961\]7V*QI+H+,[+0)L/C M$QV56)_FKF\47]GCRAE7BJ?V,B%X3H01T.\7G*O-C7%0GJD/_P502P,$% M @ /()P5+./_QJ,!@ >QX !D !X;"]W;W)K&ULW5EM;]LV$/XKA-$"">#:$F7+29 $<.QD*[ T1MZ*H>@'1J9CHI+HDE1> MAOWX'2G%DFV*QYX7=A+"T=7QHQB;B^)!G*F8I MG0@DLR0AXOF$QOSQJ.6W7@8NV?U&"W-,KJFX6$P%/W:65*4MH*AE/ MD:"SH];0/S@+C(*1N&7T459^(QW*'>??],/'Z5'+TQ[1F$9*FR#P[X&.:!QK M2^#']\)H:_E-K5C]_6+]S 0/P=P124<\_LRF:G[4VFNA*9V1+%:7_/%W6@34 MU_8B'DOS%ST6LEX+19E4/"F4P8.$I?E_\E0 45$8A#4*N%# :PK!H$8A*!2" M;15ZA4)O6X5^H=!?4\!U08>%0FBPS\$R2(^)(L>'@C\BH:7!FOYAILMH \ L MU2OK2@EXRT!/'7_BBB(?HP_H:DX$_:!G:8I&/(&E*XF9_)TQ583%$EW3)Y61 M>!>]0UTDM;A$+$4W*5.R#8/P^WK.,TG2J3SL*O!.?Z,;%9Z,LO)S/.^4>+4);&"U6") MU>"7877Z!$N$25J!JPF302,FFQ*XYWGKN+CLK."RM\1E[Z=QD3\!3!M]-DT+ M: T?J-!9]2*%)H(5]6'*XY@(B190[0R*N^CO"GO:N",/:[""5\?OV]'87Z*Q M_V^NDC:4;B48M)L1NB5Q1G64MN!R+_O5\NW53+3OE1V,]\N"JY1#J!2&IMJZ MG=#E\83$VQ3^PEM73C2+G#E%5H&JM'J^$RB8++,5T4$4E/'EG.H8OSJJMH]+ M^]AI'_@'5D&D8Q387B_EV:_HX; JN['A\=\N3XW_B MSI>3(E\*N95\0:??,Z:>(>EAOK.\DEZH.=2XZSE)7Y()?>+I ZP(T"[ZO:%: MF6_=_U6!;LJKS8[*]T.OMGZ4+97O;EP<:0%U[)RE+,F2K3*E;'!\=X?SRO4U M:C#;F !E5^&[VXH&3,C3UIB4A.V[&?O5F+C-6G-NU<6217TWC=84N)W+JQNY MNPT:N"0U_.:D5INEJI*EM@YYH[,Q(FA,%$5GA(F"XU_7X(R*P*L=3A!T@C6* MM$A!"0S]M;[1)A9T^J&])N"2*K&;*K>E,O.N6*W;S'_)I=C-9O_C^-/1M)PV.?_&_6B')E3X-__A3B/UK%-\\I J^SWUNO:);CC'YG;X/&K6)^'8V7#1M^\W./ MM\F*4>'XRFX&AUZXCI]%;-#KX77\+&+^/N[9\0MT%[HZ4C9&@;LQLJ?K28/6 M]9RB--\$\EE^SCQE,HJYS(E4S9E$BMS%%.D])U$P0F' ;!9CLUD$/=CAO^_8 M\K);N?]**"CIFTJ)(DT[^57 *)^;GG)(I%5H MWL\X5R\/^@/+^^;C?P!02P,$% @ /()P5(078NJV @ [P< !D !X M;"]W;W)K&ULK57+;J,P%/T5"W712FT!DY"T(I&: MT'DL.JJ:ZH?7JUO=55D!)U+58 3<["R%+HLU4+GVUDD!R!RJ9CX,@]DM"N3=. MW-JC'"=BK1GE\"B16I=N&)+@MM%_QQLB)+F(%^7CU*,_,; MEIR6P!45'$E8C+R[\#8=V'@7\(/"1K7&R"J9"_%B)U_SD1?8A(!!IBT#,:]7 MF )CELBD\:?F])HC+; ]WK)_OQ-:$ A1E=H M5A )5];#'$U%:;XK1=S5'-FZ?[-C0.B+4B M/%>)KTVV]DP_JS.;5)GA YF9I!X$UX5"]SR'_#V!;V0V6O%6ZP0?94PANT91 M>(EP@,,]"4U/AP=[X.G)\/#FB)JHN;G(\?4.\+4O)6M?"E27LL_QBK'O&&U! M>!U'.(P3_[7MPIZ@8#A\'Y3N!H6#X*8)>J>HURCJ'54T%4HCL4 SPD"A7P]0 MSD'^/F)5OR'N?[A5%6/<%A@$4<>JW: AQAVG=F.B8;3?J+C1$Q_78\HDYYZL3TPWJYK/?YJJ%3X0N:1< M(08+0QE<#TQ*LFHOU42+E2NX.1LCVH\DFO#F8!' M1?0ZRZC:W@&7^6TK:.T,3VR9&FOPQJ,57<(,S//J4>',J[(D+ .AF11$P>*V M-0ENID%D YS'GPQR?3 FELI*U-C(K@Q%!QD3Q3[^70KPG("P#PI, 5*8^("H#G')>@&CD=* MYD19;\QF!TX;%XULF+!EG!F%3QG&F?'OT@ )0M(FLY0J:%M)$C*5&>X339W2 M;?(T>R94).1Q-B$3JSLS6W)Q#X8RKB^M VBC6&PP=&9D_$J>!3.ZB 'E-IN( MH7PVR:E*-'EY@&P.ZMO(,\C#HO'B$O-=@3E\ S/"?9#"I)K\(A)(CA-X*$"E M0KA3X2YLS'@/<8=$P14)_3#XB7A$6S%T\=N0/ZI4CES^ZS?R/XL-*H3JH))Z M)Z4F%TR4*UV2?TC=:@7X(GG/);?G@F\-3*XK)M>? M8')%T$XWH/#\DZ6BPI"$XO9:4*;(AO(U.,:)Y)PJ35:@"LZ6_%[T.@$* M3/T# <)N9]"K^!]1Z594NHU4CFOA\"+^]]:D>U:3H1_U!BQ:/W M<1X_NB*]LXI$42>J+TB_(M+_ )%RGUV$E^^N2?^L)NWN8. /3XK2C *+ "QHWF@*DZK^_YGYX+]Y)KR \ZQS#*YV\_H@A1S0*I,ZS6F MR2DJ @84-F4XG6])AITC6_$M$\O]HFBG9$6WV$';[1&#,'8O%6V6%,YQM6^1 MROXKEB)AMOG"#1FG#.5,.L26Y#R3Q1&$O2]D47(-_6#81E[^85X[9C)QVQL[ M_$/O6L?:HGD';68&6&G;?6L$NQ:FN*XJ:]7A3UQ?>V*_LYU_G3V\F=;Y3P(; M4!L18$A0OT:T^[SP]F"+CQ.L_Y*AMAP6"-SO]/&:5D6_7TR,7+F6>2X--N!N MF.(W$BCK@,\7$MOF&PO=V]R:W-H965T 8B"_99M$D1IRV*!;[0$MCFR@EJB05QW^_0TF1G4967.Q+(E*:,X>' MA\/Q8"/53[U&-/ $:8Z9;,L6$WBREBIFAH5JY.E7(HCPH M%F[@>3TW9CQQAH-\;J:& YD9P1.<*=!9'#.U':&0FTO'=UXF'OAJ;>R$.QRD M;(5S-%_3F:*16Z%$/,9$980"0V,A&/U[PC$*89&(QZ\2U*ERVL#]YQ?TZWSQM)@%TSB6XCN/S/K2 M.7,@PB7+A'F0F\]8+JAK\4(I=/X7-L6W_7,'PDP;&9?!Q"#F2?&?/9="[ 4$ M_H& H P(C@UHEP'M8P,Z94#GV(!N&= ]-J!7!O1R[0NQ++").2H MX62"AG&AX1&?3<;$1_@ /(%;+@091 ]<0V0LI!N6B4=%XN! 8A]N*<%:PS2) M,*J)'[\3'S0 N*1")47P(L4H:$3\FR4M:/NG$'A^_^M\ BA[ _>IAFNGXMIIY/H%C4&E02YAK##B!NXSHPT=$SHA+\3KJ!2PY_M4 M6KUZ+MV*2[>1RS57"/_<8KQ ]6_#/O0JO%XCWBC3-*,UW"2T1I6EMN*?TBA4 M:,5G F9*1EEQ$XRE-OH4[F@;2(R;1&>*)2':_9!/J+9U!Z;W1H1/?JM3J5"< MA[F.&6(KB*N69"BJ:H^**BPBK2JC,B>. MD?6L2G[6;!E)DNYJZ)9<$H:**NP*YGEK0Y,/Y/&HSK6C$O=U M&?$.\0EV?((C^3Q2AP9&VA*8"J2MJ$A9A@4Q./F!3-45[=$[>>A.WU*H;MK7 M7:GVFVOU%[FA;?U.ESV+;2F$OY3,TJ.\LRNQ?G.-_7_>Z;SUSN_GQMWKDF)4 MJ[R?U1#:VEUT"=5LU3-?Y9WB;_-C_V)2=+X[F*(1OV5JQ1,- I<$Z;7ZY!Y5 M]+;%P,@T[\46TE!GES^NZ?< *OL!O5]*6GLYL FJ7QC#_P!02P,$% @ M/()P5&E(QRU0 P ^ D !D !X;"]W;W)K&UL MM5;;;MLX$/V5@= %&L"U+KXD+FP#L;6++5"WAM/N/BSZ0$MCBPU%>DDJ3HM^ M_)*4HBBV[/AE@2 FJ3F'<\[P-MX+>:\R1 V/.>-JXF5:[][[ODHRS(GJBAUR M\V4C9$ZTZI .?.C(!CZ.:'Z#T-K.@VTW; GXYW9(MWJ+_NEM+T_)HEI3ER104'B9N)=QN^CT=,*<7Y$!--IF,I]B!MM&&S M#6>F0QOYE-NRWVEIOE*#T]-/0B.$?7@'*WQ 7I@.O(U1$\H4?,%'71!V!6^ M Z4_ [3S%]2>";C.NTHZ>T9]%9 MQAB3+O3"#D1!%'Z]B^'MFZN6O.:7LP2G6>*+6<)1*\L+B;VZ,CU'VS]!^X$G M9A\KM.4H6U>V"D]EVDB1P]RX*LW6,8M&9S!WRP6EZH !LR*E? NW2J'Y2^$+ M>6RK7)G$P"5ASXB':33V'YH>EA&C9D3W("8^CGD7-H)>&-"O#>B?-:!=7 <^ M4K*FC.H?G=J,%29BR^G/P[552BRG"8-&=L-#!?/^D8(PZO8.9!X'];K7[2H' MM'@J(CA3:\]KV&= MU_"2O&"&/,G,C7 /_RPP7Z/\!K_J8M@%F* MDSO$5U0]AYW9 M=U#M=G<_A4 M6"80&UB0[T(^+_ V#TJJ8<.#X*#$KT;$YR)>*+BI%=S\ORZ:L,\5S4.\:51OB- M.]&8MG5O"P6)W4+E/5./UL^76W=K'XS/S+.F?(4\TY1OH@616\H5,-P8RJ![ M;3:@+-\994>+G;MYUT*;RKEF9IYF*&V ^;X1YO:M.G:"^K$W_0]02P,$% M @ /()P5*+O8RA& @ 0@< !D !X;"]W;W)K&ULS55=;]HP%/TK5Y$F=1(E'U! ")!*V;0]K$/0;9JF/9CD!JPZ=F:;0O_] MKITT8E))7Z9N$B+^N.?<<^VCZ\E!Z7NS0[1P+(0TTV!G;3D.0Y/NL&"FJTJ4 MM),K73!+4[T-3:F191Y4B#")HD%8,"Z#V<2O+?5LHO96<(E+#69?%$P_SE&H MPS2(@Z>%%=_NK%L(9Y.2;7&-]DNYU#0+&Y:,%R@-5Q(TYM/@.A[/AR[>!WSE M># G8W"5;)2Z=Y./V32(G" 4F%K'P.CS@#.+U7"^'\XU+%1 .G>6%748%)0 M<%E]V;$^AQ- W#\#2&I XG57B;S*!;-L-M'J -I%$YL;^%(]FL1QZ2YE;37M MZ2#DEFQR*(]TT#%>/29AHXV&^]LC'0Y;)*$SH(T0[L71&*E(7AG[J2:+S4@SE$,THFNI+!#X>*-3&D7*$+CQJ[2I M55LJ\'A\L'Z3QPZQO!)!IRSZ$6YD,-(&&MK0+'W3CML\CAN'%^WGIQ ML?);.2.2C(><[1%7>K"G!OG5SGFXC&&BBG E.3P-@9/C!R8IPC;ZC)[H&TTR M"J,'J/T5B:A -YS%:,H2&299F.S0MY1RHJI'H-<_Z):R'2=I$*X!WJF:NIA1 M2<)(? 0K+ZL9NOCP$7U 88*> Y8)DFS$4)?@M=I;7Y<>7A<>FF<\M-!7<" 0 M:)YLZ*:%7W;SV.PPH$.ZJIR9AYQ=FYT69W1]B2S\"9F&B5L5M)%JB3H^I[_&V,#=.QO:'^=GS1F[*![=K6 MJ6K65'G6 )NGJGF+RK0P/E7=-%6N#\9.5;)\_S M5<<-&PO=V]R:W-H965T,_Q%S (E>\XR*@367VZSBAG9.46L.^7KOGPSY;RBRE<,^16.8YX?_. M(&/K@86MS<)#.IO+8L$>]A=D!H\@GQ?W7,WLVDJ2YD!%RBCB,!U87_'I;53H MM>!'"FNQ-49%)"^,_2DFU\G <@J'((.)+"P0];&"<\BRPI!RXV]ETZJW+,#M M\<;ZI8Y=Q?)"!)RS[&>:R/G ZEDH@2E99O*!K:^@BBJ?1#9E!OK>MOEP=*GZ)6]8J"/MN;584QI<0D?)5=/4\7)X744O0T9TM!:"+ZME1>%;;M2>7! M6>F!>\ ##]TQ*N<"7= $$@,_;N>QVV+ 5NFH<^)N0$>?@SNPF_[AZ[ M"1]_K.XW'TO=;6<'OK>K&NVK(J^'W5W5A4'E>ACOJB[W56&LC.VJOAEL1:'7V/'* M9"N.&K:N#:I>[#9B'.^K//6'&[*;?9G;"V*GD==;@RR*/?PFVZFX7U?<;ZWX M$R=43(%S2!!; 4=/JEU"O^X@?P'^N^5(!?4&P;N/U+A$P^V8@KC73.2-0>;C M,'8:&3+(6C(4U@&$G3-$)+IG*97Z]=4Q45&]3_3^1$6&Z^(W$W"SK_)]%S&PO=V]R M:W-H965TI8 D)52VQ FZ>1$(F5)NF7'AJ)8&&&2B)/>+[/2^AC#?& MP^S>G1P/1:ICQN%.(I4F"94OEQ"+]:B!&Z\W[MEBJ>T-;SQ,Z'#5\RPAB"+0- M0CAJ#!@HAHFFL M[\7Z)\@3ZMIX@8A5]HO6>5^_@8)4:9'D8,,@87S[3S>Y$#L W#D"(#F U 6T M'F;HXX=/Z -B M'#TN1:HH#]70TX:&#>8%^9"7VR')D2%O*&\A'S<1\?%%!7SJAL\@:*%V!B>X M CZK#QX;@\VYJKAY[[-L%^[:3_5440;;2 M=\G>4S.E[DU6/& QH]8/FHAJ] 5"D#1&#YKJ5 OY\F]0T^0I ^"Z*CLW$8); MOO]#U6QPX]K=0]R>$IU"B8XSD,UAFFJ%S)I -V)N*Z6;5H:8*L4B%F1"H$B* M!$V^3:^1%N:I663<%/Z*2L[XPA3=QMFJ6K6P.@<%-!M"=0F[!?&ND_C,5$!I M%F0C3U*]%)+I%_3[+21SD'\XI.D5(_1.2R,A9!I-J90O9G=;4QDVT201:76Q M>P=Y=H[EV2]8],_)$_UMR*V8-O/SJU!JCVD=,08%C<%_+<;@0(S!,3$N"A87 M[V-QM5DQN9VIOP&5573BV/IPMAMPW9O@27O]PP^NWCTI6FC!VNW"M:?)&BRF]%[LMTJU% MG:*=M&!7T4AIP<1MP;55JN\VI#1BXG;+LU4Z$9_X[8&+Z,X+O-N-S?>J^1KE M;W]_(J7S$K<]OG/UY%'W_*9W;/&0TF.)VV/=";]MU9#2;XG;;\^?#^[X)W9G M4MHQ<7OF:7G>L%Q*@R7G&&P=>=SQS7*I_-SU=HX>[,G2+94+QA6*(3)Q_%;? MJ"ZWAS7;AA:K[#1B+K0627:Y!&J^#&T'\SP20K\V[ %'<60V_@=02P,$% M @ /()P5#X*NN&9 @ [@8 !D !X;"]W;W)K&ULC55=3]LP%/TK5L0#2(-\AP^UD6BS:4AC0Q2V9S>Y;2P2.[-=VOW[73LA ME*:M>&E\[7.NS[%[KT=K(5]4":#)IJZX&CNEULV-ZZJ\A)JJ"]$ QY6%D#75 M&,JEJQH)M+"DNG(#STO:(;4._AZ0^AU!E92%&3J>":\17C M2_*K 4G-Q2ERFH&FK$+0.7F>9>3TY(R<$,;)4RE6BO)"C5R-2LU^;MZIFK2J M@@.J_(#07)/2_D, +_#V"II^G>WOH MV:?I_O41-V%_:Z'-%QW(]\R9AH+,--6P]WA;>FSIIO)?4S_R/%3^NNUYB JB MR^3J(RH;HL(@B*(>]<%!U#N(CCK HL62Y/NTM\1D6[L?[XB:#D%72;(C?(@) MKY/]LN->=GQ4=E<5<\"&"_@GMY$V);//23R\A7AH98@*XB2,=LP,46&01-Z. M'7>K$]0@E[:C*I*+%==ML?2S?=.^M;UJ9WZ"S;SMO>]IVI?@GLHEP[JO8($I MO8M+U"3;[MH&6C2VW\R%QNYEAR4^2" - -<7 GM.%Y@-^B&ULG59=;],P%/TK5L0#2+#$B?-1U%9B#0@>@(D.>/::VS8BL8OMKN/?8SM9 MUMEI5>VEM9USKL^YN7;N],#%'[D%4.BA;9BBHVH=P)H)4EM4T81U$6MK1FP7QJUV[$?,KWJJD9W @D]VU+Q;]K:/AA M%N#@<>%'O=DJLQ#.ISNZ@26HG[L;H6?A$*6J6V"RY@P)6,^"#_A]B2W!(G[5 M<)!'8V2LW''^QTR^5+,@,HJ@@94R(:C^NX<%-(V)I'7\[8,&PYZ&>#Q^C/[) MFM=F[JB$!6]^UY7:SH(B0!6LZ;Y1/_CA,_2&4A-OQ1MI?]&AQT8!6NVEXFU/ MU@K:FG7_]*%/Q!$!9R<(<4^(70(Y04AZ0G(I@?0$8C/36;%Y**FB\ZG@!R0, M6D^U()_;36/#7_QA4@G*)WZ M;\1;0+7T J:?+KA 07Z,% M;W>< 5/2S)YPZ..#+C\)2)>?!C%5LWW--NC[#@0U;U6BUR4H6C?RC8[XH%>H9NAVR_>2LDI.0Z5M&#'AJI=\W4F.3TC&,?JJ-]M*])%54#T/$&K_ M0Q+BQR13$=3\ZX2897FMAXY$2\3U#I M_#=CB>V(J26:&^%^'L=I-@WOC\WZH$E:/,>4/@;G9, \DTT&V>2L[*6B"L9$ M=[3L>*\H(X[H$5!"8D>U#WJ'LW'5Z: Z/9]L+O35PL9TI]YN,4X#*HG+RWZB2\I=U3[$.) RI$H^$2F!3[Z@.,+;%WH!GOW=I(EJ6O'1V5I05P[ M/HKD2>'8"8]:DQ;$QK9X$JWXGJGN SVL#FWD!]L\.>O7IKVT+<]3F*XW_4K% MIM:]1@-K'3*ZRK4DT;5[W43QG6V [KC2[90=;G6+#,( ]/,UUTU0/S$;#$WW M_#]02P,$% @ /()P5*X? .MW P 10L !D !X;"]W;W)K&ULC9;;;MLX$(9?A1"Z0 LTUOG@PC;06%UL+]H-DG3WFI%& M%E&)]))TG+[]DI2BJ!*MY,86I?\?S<<1R=F<&?\I:@")GMJ&BJU32WG\Y+JB MJ*'%8L6.0-63BO$62S7D!U<<.>#2F-KPO<5M,J+/;F'LW?+=A)]D0"C<< MB5/;8O[K&AIVWCJ^\WSCEAQJJ6^XN\T1'^ .Y(_C#5Q_RGU/&XSB'P)G,;I&&N6!L9]Z\+7<.I[."!HHI Z!U=\C[*%I="25QW]] M4&=XIS:.KY^C_VG@%$$P-T05#V!O"MQJBWA"9F>E0 MS#SD6.+=AK,SXEJMHND+,YG&K? )U76_DUP])\!7(4X< ;/G-?!8L0< MBA4*_8\H\ +?DM#^[7;/8L_?;/?7"S3A4+70Q(LNQ.M+(E5)X$EM 0(0EJB" M$CAND)!8GB3COQ!7];+-?A<]-M'USO"X"_TLW+B/XQF9B^)P*LKGHB2+HT'T M&UTTT$6+='=2?V8]V$=$U>['JH&.C-C--VH#[%Z0C'./T@G?7+..IWASC1\D MOATO'O#B1;Q]C>D!] IYQ,VI6T2X41LPIH6U6O$LB:M@1F,1^9D_P;&(PCBY M4*YDX$D6>;XSO49/:K-X:(:R61=]8GG]),7]7!--67-+G. "1#I I(L0ZA!1 M1P0U*P:51'U8'*@DN+%QI/.OPHLF''--FDTPYI(PL5-D T6V2/&WK(';,L[F MV:PG"<\E5^MDDO%Q/>7UD/)Z,>5[)B>+NON ;!3K^;:5A/&$8RY*XFQ2 MG7PNBM(PLY/XWLM9ZBVRO)R9(YY+>_ KL8)HY7E_V$ZJUXSQ*K4:\U>,?K2* MI\9N(MQ1?]$"/Y@^3:""G:CLCN#A[M +?C8=T.3^M>X13=_R$J9K,+]A?B!4 MH 8J%=);I:HVO.O9NH%D1]/%/#"I>B)S6:L^%[@6J.<54YU,/] O&#KGW?]0 M2P,$% @ /()P5&.VGT9^! %!$ !D !X;"]W;W)K&ULG9A=;]LV%(;_"F'TH@7J2*2L#Q>.@=3!M@!K%C1I=S'L@I:/ M;:(4Z5)TG/S[D9(B.2*E9;M)1.D]1P\/1;ZD%R>I?I1[ (V>"B[*R\E>Z\.G M("CS/12TO) '$.;)5JJ":M-4NZ \**";*JC@ 0G#)"@H$Y/EHKIWIY8+>=2< M";A3J#P6!57/GX'+T^4$3UYN?&6[O;8W@N7B0'=P#_K;X4Z95M!FV; "1,FD M0 JVEY,K_&E%B VH%-\9G,JS:V2[LI;RAVW<;"XGH24"#KFV*:CY]P@KX-QF M,AP_FZ23]ITV\/SZ)?LO5>=-9]:TA)7D?[*-WE].L@G:P)8>N?XJ3[]!TZ'8 MYLLE+ZN_Z-1HPPG*CZ6611-L" HFZO_TJ2G$60">#020)H"\-2!J J*JHS59 MU:UKJNERH>0)*:LVV>Q%59LJVO2&"3N,]UJ9I\S$Z>6MU(!PC*;H1N2R /1 MGZ TS?MZ7)'+0)MN6)@@;Y _U\AD /D:\@L4 MX8^(A 1[PE=O#P]?AP>F>&T%25M!4N6;#>2[RG-U-%6 XL#E,P!:@X MT]Z> MU:GB*I6=88_+")-X$3R>\WM$\9GH%6744D:CE#?BT8R95&90?%QU<'+^RK!' MY4K2R,\T:YEFHTP/BF[ K 4YL$>ZYO 1"= ^NIGSZBR*>GBN9AYG?KZXY8M' M^6[-*FK62T4U$SO$95FBG"KU;!;/$U7^3S?V%'(^[[%Z1"3"?MBDA4W&BVDF M86YF(]/_#IDX[R=9EO4@/:+DK">O(-,6,AV%7$FAE5FY$:V6B\$!3]T"X?Z MNYK0#Y>U<-DHW!]Z#\I'D[F?5C;KT;B:*!LHUKSEF8_RM.NK-D/[4K"=,I^A M#W+N &!,4M+#]*C"+!U86W#8F4@XBOJ=\B.M;9F;C0$5.7C7]=!Y_33.G.GA MDR6$#,QF?&9U^+\7=. +;%*=,\11VO\&/:I9,DL'0#M'P>.6\M9ITJ3QSX&& MT)5,<90D XB=G>!Q/[E3=F74SY7CP\\C.YB]G1_2-8XI)O,H[9-Z=2$9F$6X MXLY2\+BGW"DX4&;&]\F<&DK_S@&[/C'%8=C?T_ADV= *B3L_ MP>.&\B UY7;;WDULWFT_O;RN;TQQ/'>GMD^75CM.+W+G,GC<9NRNH@5F]:;[ M+=RNPY@Z)Z$SX7TZ$J6S >[.C? ;[:AC'B!U3<:0NI;IU9%9-E!ATKD1&7>C M_UEAXK$=7X6]NN$*D\Z?R+@_51N0EY/47U^@6(/Z>^R$.F>H9J@N%5DGB.)LZX>D0X[*^0P=F1U?Y>\(6J'1,EXK U4>%%:L)5?02O M&UH>JE/L6FIS)JXN]V#.#\H*S/.M-"?9IF$/QNT/(LJ ^MU#4_2-A60:1"-JT/G:I2MF>37!*KB9W9IK3]ZW=V0@84 M*-)>B.]\W^?[[LQYM!+R294 FKS4%5=CI]2ZN79=E9904W4E&N"XDPM94XVF M+%S52*"9!=65&WC>T*TIXTX\LKY[&8_$4E>,P[TD:EG75+Y.H!*KL>,[:\<# M*TIM'&X\:F@!,]#SYEZBY?8L&:N!*R8XD9"/G1O_.HE,O WXQ6"E-M;$*%D( M\62,VVSL>"8AJ"#5AH'BYQFF4%6&"-/XTW$Z_9$&N+E>LW^WVE'+@BJ8BNHW MRW0Y=KXX)(.<+BO](%8_H--C$TQ%I>PO676QGD/2I=*B[L"80)T_%-H('Y$/I%;GHH:R"-] 87FK+T'1.1D6E)>H)-Q,N<24E%P M]@:9"243X) SK;K"6.PF.,B:07I&!?TD"+_#W)#0]'>[M M@2([#083RGC<+%8GW$N>9PON'0XXT0C$S,!0*?0)N M+E@C&6X8<7NO6,L^W,C)'^YH>Q^R*^Q8Q):JJ%<5_6?K@&?'FA;M*?5P5]B^ MH'=-^R"HE>=NC)@:9&%'M2*I6'+=_OUZ;_\:W-@AN..?X"O1#O5_-.T30( /0% 9 >&PO=V]R:W-H965TH'T "\M(V+:B-!*VF3=I+16'[[":7QL.Q M.]MI8;]^YR1$!07&E\1GWW-^GCO?S0Y*/Y@"T<)C*:29>X6UNRO?-VF!)3,7 M:H>23G*E2V;)U%O?[#2RK :5PH^"(/9+QJ67S.J]E4YFJK*"2UQI,%59,OUT M@T(=YE[H/6_<\FUAW8:?S'9LBVNT][N5)LOOHF2\1&FXDJ QGWO7X=5BY/QK MAY\<#^9H#4[)1JD'9WS)YE[@"*' U+H(C'Y[7* 0+A#1^-/&]+HK'?!X_1S] M4ZV=M&R8P842OWAFB[DW]2##G%7"WJK#9VSUC%V\5 E3?^'0^@8>I)6QJFS! MQ*#DLOFSQS8/1X!P] 8@:@'11P'#%C"LA3;,:EE+9EDRT^H VGE3-+>H@- MTDM,+V 8GD$41&$/?/%Q>/ 2[E/ZNAQ&70ZC.M[HC7BK]E$+SC9<#(!2@(,XLEE7R*:F\?US:XC]\EY M.)I.9O[^6&^?U^1RW'F]D#7L9 W?E74O:2P(_I>J*UPE26'*3 $Y=3X4F&W1 M_$]='#;B7J>YT=9<'[]@?42ZD=;C- G[A8TZ8:-WA=TIRT0?H5%/&N-I](I1 MG]RUL-=J]PE;/^>.+U7" M^"?LVMQ^ &EMK*I:,"FHN&S>[*ZMPQX@&AT Q"T@?@H8'@ ,6L# &VV4>5L+ M9EDRT6H'VF43FUOXVG@TN>'2G>+*:OK*"6>3K\HB1",XA5O0_06:!D7YAAZ2Z914I[E*7.!4[A9+:!W M= Q'P"5\+U5MF,S,)+3DS.D+T];%K'$1'W 1Q7"EB-K !YEA]I@@I))T=8D? MZC*+7V5<8'H&@^@$XGX(!OV?:-X&S-!;?WP+)? M=#NHG^P)6'8'F.?4&2^5KF$^]\RNJ;?)^7@\";?[;I[GC,;ONYQ'DH>=Y.&K MDF\D317!_]#E*&B:0$_0=3@&,I$R4T).\P-*S HT_S,P?"XN>J+_>8HK^R/Y MX5Z35*@+/SL,I*J6MKD77;0;3Y>^*Y_$9S2VFBGSCZ:9>5=,%UP:$)@39?]L M3()T,T>:C54;WXIK9:FQ_;*DT8O:)=#W7%$[MAOW@VZ8)W\!4$L#!!0 ( M #R"<%2-:T$Y500 /81 9 >&PO=V]R:W-H965T\8VUVMGFM;3M+T/-_=!AK7A"LB'Y#CW M[T\" L86U'FY+S82N\L^J]UG)8WW+/_)(P"!'M,DXY-!),3VUC!X$$%*^0W; M0B;?K%F>4B&'^<;@VQQH6"BEB4%,TS52&F>#Z;B86^;3,=N)),Y@F2.^2U.: M_SN'A.TG SQXFO@:;R*A)HSI>$LW< _B^W:9RY%16PGC%#(>LPSEL)X,9OC6 M)Y92*"1^Q+#G!\](05DQ]E,-/H:3@:D\@@0"H4Q0^?< "T@294GZ\4]E=%!_ M4RD>/C]9?U^ EV!6E,.")7_$H8@F V^ 0EC372*^LOT'J YRE[ $E[\HGTE M:PY0L.."I96R]""-L_*?/E:!.%# ;H<"J13(L8+=H6!5"M:Y"G:E8!>1*:$4 MTH4/@L8)OY3JW^]]=/'N M$KU#<8:^16S':1;RL2$D%N61$51^STN_28??F* [EHF(H]^R$,*V 4,&H8X$ M>8K$G/1:]"&X01:^0L0D6./0XGQU4Z/NGZV.1SUHK'I=K<*>W6%O#ILXR^)L M(ZLBH5D NA"7)IS"A"*(AREQ1RYQQ\;#(7"-F.UAQVN+^1HQ[#DCLQ9K ;%K M('8OD#*K@E96)3*KKE F65&FH*"/.FRE5?? &^S91\!.9:X=DA. M#./A!>_67OV1D:9W(,Z$)EZB5:@6S0(-MDD%#.XW4<4-7TM+3G MG;AH>:[>P5'MX*A_I5*V4WS=?%\NU3IG:8N^64>AZ9P\*A(M6*=28=)XR YN_Y^EQL\=*&:[>45 M^@SB"BTHC]![N:M#'R#@;[H"?GY;>'G180W+ MX\Z,;G@>]Q/]VQ<>/N5RQ^YPLR%RW,_D+RX\5Q,UTN5.0^2XG\G/J#P=CQ]4 M5%5X&JG.Q&O('O>S_>S+XN,KVAEN2!OWL_9YQ:5A8NRYQSLXO1@^V@_Y6C'' MZF@_I&%V\GQF?WFQDE.^)UU\3QJ^)_U\__:U2C3$WU4=I*%]TD_[+RW6RFS7 MAKCM3=,!2'\'^'6MDM-CP35VO:-M]D(K=I+(OEX,'^,P#@[$*>2;XF*!RZC) M)2Y/A/5L?7DQ*X[L1_-S?.N75Q"-F?)&Y([FLCXY2F M39HW0^E37EXRE /! MML6Q>\6$/,07CQ'0$'(E(-^OF3QZ5P/U@?JJ9_H?4$L#!!0 ( #R"<%1[ MA'V5604 &P7 9 >&PO=V]R:W-H965T4!Q=3R-6_ ?;"JL/ M@)\Q3N.*+#2(PZ3\QF^5(PX(0HZ:@"H"D@EF"\&H"$9?@ED1S+X$JR)8?0EV M1;#[$IR*X/0EN!7![4OP*H(G$^RVP.F[R.E]UX!UL!O1;J7LP@V+>&ME8A59 M.<$]G<19A M3@+P$U^3%(QI+"I[G9?<*P%SRIB /1,_PHR%R]#'11W193_JR81P'$;L5 CY M]C(!)Y].P2<0)N#KFF8,)P$;:EQ8E.NE^97V-Z7VJ$5[ SS2A*\9N$T"$BCX MLVX^1!T"-.'*VI]HY\\;U"EQ0OP+8, S@'0$%0J-N^DO9"/H>BM]TDV?94DG M_;:;_HC33N7O^MNN*^B?^]NNHM_WMUU%G_:W746??2SN#Q]SW;PW'7H=66S4 MNX)1R#-;Y(TIXWEA,QP155G.2KI5T/-&_SI"KJ=;8NW70Z,5,,,R7/<8-E?! M$#2,&G9DA%D;878:4>Y$8>+3F("32.Q!IRI32B'VP>(&DA1\:&(\RY",:&), MPVTQP:I-L#I-^(K?P EY$R,7(Z=@01*R#+G*"*NQ^+EA&Y9DA@)E6ZXI&:) MF8[AJBVQ:TOL3DN^B(&R#(5JE[>;"8 <>*S7N DR/=,^!DT4DJ A2;I5@1S) M67=-D(60).ES$^0@VSD&W2LD>9Z48E,%R)8B,[,;D8'00E(B/BA0HC1U*29(1L$QI+&: A*=BRA8S#5^#<3'-D/0,3!,_RH(P M68%KQHCX!$#DN2HMG(9/H(XL4_+ON ES3=N4W#)IHD120R2EA@*%#"B%_:Z) MLCTA3$H.A2S'-J05[U6R/#GYIPJ4Z\FAGSG-O4S\03E#FC#D6IXN^76N@#F> M 1UUCKAUCKCOY(@\0&:\SQ Y+3?R7Q])O"#I;QU=SJLU\?[]GC3SFM9+]?C0 MA)PCN0?.%2!HJ5T(]?W4KO\?3@1_'3$FHKTDXONF;#3@*<() ]?![Z)VQ9LW M!]>,)I_KA'3.#!"PG\V.Q1\8\\*J7N@PH#I5XQ5X)@2VC0 M7G_T(\:.2LKQ9J[+9C1!;*S#M";8? &'W!-A[\JCD2$4@VZ$ R4.@ F.V M6+&? &'W"-A=X; YLCGRY*? ("1KWL2C'^R>_?Z;$O^,Q1OW2?Y" M?GH&A'O.P!BS-;B+A'KW)%B1LW]2U/OI#W:/?_W323&]-&+2Q'AR[U)@VB*R M'VY@]W3S3C8UV^6Y)7<,%0C)@\-<@6IING#?=>%[;?='CF:S:C7K:!-&LK4* MD"&7V%R!DK" 2RBZ*HYM&?!IEO#RK;9^6A\-7Q<'9-+S&W@YA8KGL_PH MN3A0VXLOSZ$?<;H*11>,R%(LI5\X0L^T/-HM;SC=%,=K"\J%%XO+-<$!27. M^'U)*=_=Y O4!^RCOP%02P,$% @ /()P5,:V\N-=!P 7"8 !D !X M;"]W;W)K&ULK5IM;]LV$/XKA%%@+=#6(BF24I $ M:.,XL9UT0=-N'X9]4&PF%JH73Z*;=MB/'R7+ED6>9#5)/L26_#PGGNYX]Y#2 M\6.:?) ZKX('>2O5U]5-IH^&.RN+,)9)'J8)RN3]R> #/KJBM""4B#]"^9CO M?4>%*W=I^JTXF"Q.!DXQ(AG)N2I,!/KCNSR34518TN/XIS(ZV%VS(.Y_WUH? ME\YK9^Z"7)ZET9_A0BU/!MX +>1]L([4Y_3Q4E8.L<+>/(WR\C]ZK+#. ,W7 MN4KCBJQ'$(?)YC/X4=V(/8*V Q-(12 FP6TAT(I ^Q+$7@ M?0FB(HB^!*\B>'T)?D7P30)O"YRSC9S3]QIX%VPKVJV4;;AQ&>_A)K'*K!P% M*C@]SM)'E!5X;:_X4J9VR=?)&";%++Q5F?XUU#QU^BE5$F&!WJ%;^:!GET*3 M9#.WBSGRKG'T64:!D@ND4J26$OV^DEGY0X[2^_+,61JO@N3G;_GVM^1A:S9' MKT=2!6&4O]%6O]Z.T.M7;] K%";HRS)=YT&RR(^'2GM4C&LXKT;_<3-ZTC)Z MBJ[31"US=)XLY +@3[OYF'08&.I;N;N?9'L_/Y).BR,Y?X\H?HN(0S PH+-N M^JU<:;K32A]UTZ?KI)-^WDV_#K+.P8_[^^X ](O^OD/TR_Z^0_1)?]\A^O1Y M<9\][]9=]:9COR.+Z:XJT-*>VU85=/O/@TB"4W)#926U:/+?3[%#F"N.A]_W M$]V&>2YW:1,ULE&">I@T4>< BE",FZBQC>*^-M9$70"V!*?&%2\A6[XP;$T ME.<3P\>IC:+Z#QNPF0TC'O,=X[Y> 3#A4US#&A%W=Q%W.R-^D:5YCE99>A\J M*.@;-M\/.F7",V(.H CE9LQME,^H8>K&J:D-SE6OT]7SY$&?D9E6E+=*R@C=Z)CE M.G#H)EQ)]->UC.]D]G='._-W5_*?WLY\RSF!K2E]9J.X[U(#-;)1S!.N6=H M6X[#C#H_AFPY'C=J&V"+.<*P=0G8$MPU1C^!QN69-7YJHPCS/;/IS0"8B[GO MP#F#G7J]XCRK457TQJSDW&Q4$,ISC7HV E"9"7"\], M?V;K>5&]R[:T7R)^YDK&>9^R@$E]:?+TPE!Q&[?%\>U4LF&8$3,4(Q#F<-=, M)@!&+.TPAF"%7#&S";+&&#.S"8)10LQLLF&>XUK99*,$=?.&51 LUO:; 2@B"7_SP$4YL10+>&8 MBQ=H7%8.30"4AUTSFL"PB"_,:@_ ."&\)9CUH@1WKTJ ;:0^\[^6P?B%=3"& MA+"M'R&8BYDI("%88_W2=*O6POAEQ# &=&ZQF#2]@42S2SS3&T /.[3-F5H0 MX^R1U/,]4%6, 1URM.XT),^UI;W;87M/ANCN3)W=G M7:A>7-:3NJV3[K;>6;>(W70A?0K FOJTRB4;UG9?Z_9-NMOWP8(%M6U;DP&P MAB:K'+!1;0[4+9MTM^Q?KU7@#I,UO0&4:^V/ Z@VA^J63+I;9'W=!)=T,_6** 'DP\3LR]*0 GA+VQT-/<[*"YYD.LNO/3 M[LY_EF:K5)&^3.U62JT%! 3R3<$-@5A+CM"Z M)=.7:.Z;@RM>4*1<="=?!2=-*^_5*RHMC#L2JTN8AU^/XAJ7]( MC:3A2R&_EELA%/F6I7EY.=@JM?MD6>5Z*[*HO"AV(M=G-H7,(J5WY9-5[J2( MXEJ4I1:GU+.R*,D'HV%][%Z.AL5>I4DN[B4I]UD6R>]7(BU>+@=L\'K@2_*T M5=4!:S3<14]B)=3#[E[J/:N-$B>9R,NDR(D4F\O!9_;IEMF5H";^2L1+>;1- MJJ$\%L77:F<>7PYHU2.1BK6J0D3ZYUEC"/42FNB_3O)%;;RT$P(+'81/M4?2E>;D0S(+>*MR[2LOY/7AJ6#LAZ7ZHB M:\2Z!UF2'WZC;\V%.!+H.+B -P(.!B*QX':_:J%.[UNMD3/)J%JZ4U&<3K5.CWPLE" O(;^2/?225D.EW4@4B M[Q_R:!\G2L0?],G589*28D-6]0P2\9%@FN11ODZBM)&.A8J2M*R$#ZLQ>?_N M WE'+%)N(RE*DN3D(4]4^5$?U-M_;HM]&>5Q.;24'E#5+6O==/[JT'E^IO,V MN2MRM2W))(]%C.@7W7K&.P)8^DJVEY._7LXKWAEQ+-87Q&8?":><(1VZ[I:O MQ$[+Z5GYN%N^V.>=\DFW_"Z2G9V?]A\[1>2S_F/'Y#?]QX[)Y_W'CLD7O^;[ M\M<6Q3TW;^,4H%.R8/4K:75/?YYQ"AW'7]H/1\G MNHD%CN?8I]38I'P[8/R4FB 4MQD[I:8FY84ZV"DU0V+YG@U:O,%BA3Z(-4>H M(.1@C N3LO4? ]C2Q'C@AA1*_V9@CE>M4\.7$]UF6OT^6KJ$S6Y+TNL>(B32.IY[>0AR+L ^;[(9I_ MU EZ <=SC4' K#$:"*[I?: IVAHP8H9!/H!N,,B#ZSD&49#4"Q-B%PQDV1*# M0G"=;DV(7P0>;KK?FNYWFCY.TGU5G/>WW>]C.P9!V]% <+:C$+0=;0TNZQCD M ^@&@PS;,Q1R'\[:L.P;2G\^=HP-%=@9MP?KTW*"QT;4&.3<@/? M@74"$HM2%TS'*1:+!L"]&1++I3Z\@2"Q?,\!O9]C_0I@P;0P*>Z&@7$303"' M>2'%(Y3G,;"&3!!*9Q"(-44H1HU2 M>89A=@C7ZALTFD]!HW-LF+X'!K! *)MQ^!2R1#!=(QXM%:>.'KW-89V.ZFF_ MCDI%YOE&ZE^Y7ZMJ$8CRF!PO$=]+);*RS[+ ^%O3_.<7AD9[F: M"EHQ1C$**[0)AG&C$)]B6%7[PVS"HKFN"[,)PVQXBYLC6$ =(YM,RK>=D,)L M,C&=3>>>"=G;:P#6_1[@A^N#^3#JA(Q"4Y$'8.-!9XQ0W'B6GB 4\V"1,<4H MQX7+/4;Y%+X)P/IEY- 1U$M)25*QT4WI MJDMW51Z^=AQV5+&KWS@_%DH56;VY%5$L9 7H\YNB4*\[50/M-Z?1_U!+ P04 M " \@G!42;WBB(4# 8# &0 'AL+W=O0W4/7AB"5< Y MV]EL__NS@; $2)1*^Q)L\\WG^<8S9C([=6IM3NLVW+.(." MRCN^@U*_2;DHJ-)3L;7E3@!-*J,BMXGC!'9!66DM9M7:1BQF?*]R5L)&(+DO M"BI^K2#GA[F%K>/"(]MFRBS8B]F.;N$)U+?=1NB9W;(DK(!2,EXB >G<6N+/ M$2;&H$)\9W"0G3$R4IXY_VDF]\G<YI M#+OC(_L?E7@MYIE*6//\'Y:H;&Y-+91 2O>Y>N2'/Z$1Y!N^F.>R^D6'!NM8 M*-Y+Q8O&6'M0L+)^TMW2+OM-\3^OS M*!/T]Y[F+/W%RBU:QC'?ETI>A?D8@:(LEY\T^MM3A#Y^^(0^(%:BKQG?2VTE M9[;2OAL/[+CQ#)V MS#6?7_&92^EE,0DF,_NE&_DA9NK@4TPTQ 2!TV).Q/BM&/^BF'5&Q182I#C: M")[J<)D,-R$;$U)S!5T'?+NNPO)]9DL+_O],]C MB!DD7S3$=)/O1,:TE3']_>)\NT<[91I!"D*7*OI*7]%22OWAOZ):P]:/\)VK M-1PF.2'37E1'0)@$O; .0:'GNN-QQ<[;U\MYQY)MR+I.]*IQ/0(A7K]D1T"N MYY_1TOD2X_>JVH;II-A<$O:UC*"P.^V+&>,*_#-7$"9O*+ZK&K-GKG2;5PTSW;J#, #]/N5<'2=F M@_;/P.)_4$L#!!0 ( #R"<%1^1;,W'0, H2 - >&POBA++CD"6/%GIDO[Z MZ2S'3E)=Z?JP97-(+=VG^^[3W;DRF=1F(]CMDC$3K$LAZY0LC:D^A&&]6+*2 MUF>J8M(BN=(E-7:JB["N-*-9#4ZE"$>#01R6E$LRG5V:.EBHE30I.>], M@;M]SE(RC,])X.AF*F,IN3]]^V.ES-6;P-U/WI^<#.[?71W:3QO@'0F]I!DD5[)/;D2.2VYV#CS" P+)90.C*VJ#34$2_WHX*&;0<%;GI)+I9O8+H+[.V^7'P#; M&0CD0G0"1\09II.*&L.TO+:39G%C? (%[?AN4UF%A::;X>B"] [-S0:9*YTQ MW849DJUI.A$L!SF:%TNX&U6% !JC2CO(."V4I(V&K4<[L+0+)L0M/ W?\SWN M=;Y3LP%43'9#*Z@=.AHW ?Y=-L>]2_LZWJ#B#\I\6MGMR&8.3<9N-,OYNIFO M\TX QC[$V6E5B<3NC6+U@JS1]M-&B5A34P38('I@U?[%I^ M:EK=L;79MM,ZQS6/_D'-?S;/!9-,4[$KVO;^,6?YU8K;X^-O:&[^K1PJ]HJ, M+H]?8WMD'K?(*#E^C>T+PK&+/,Z6#-NC<>?\W3M].VL ;SDI^0;O2Z(/&LQ7 M7!@NV]F29QF33PYA2V_HW+[H[O';]1G+Z4J8NPY,23_^RC*^*I-NU0TDHEW5 MC[_ ]H9Q]XIE8W&9L37+9NU4%_-F&-B!C=I>X'"(7#>7'\%\'.9' ,/B8 HP M'^>%Q?F?]C-&]^,P3-O8BXQ1GS'JX[Q\R*SY8''\/HF]_#M-DBB*8RRCLYE7 MP0S+6QS#U\^&:0,/+ Y$^KU6!6PWH'X_CC04WZ?*(*J8MJP)QA'D@1#H!?]/1K'2'9B^/CK@STE M490D?@0POX(HPA!X&G$$4P :,"2*FG/PX#P*M^=4V/_Z,_T%4$L#!!0 ( M #R"<%27BKL

"WI3/)T6UXI5=67#<+#*CF)=7Q);JYSN;H ;-::P#P;34ZH)[0+AIU&?6\@ M66>[ FB)(+;1J,]KYJ.5?;2RS[OE& @"I^FH.*V0'3X,81BWORQ&:=ECD.B" MN"R]7PN=A2K\0A<:AFN*80@Q\P&1G6.PC*V?**>$CY9L>]_P)N=N[$CJKIM]W3W]-SN7LB2W:,[ MMZ65Y.Z=Y[B8H$B4Q&D644.R9&G^^H<$2!:KBB"!)+Y0O1$S;545B?P@D4@D M$HG,?_V?C^N,/-"B3%G^;[][_=6KWQ&:QRQ)\[M_^]VGZ^7)]>GY^>](645Y M$F4LI__VNYS][G_^^__S?__K_[M<_DAS6D053Z^JC9__OKK+U^^?/5X6V1?L>+NZS>O7GWS=?/T[^K'X=>D:E_H/OSM MU_+']M&CIK]\(YY]_<,//WPM?FT?+=.^!WFCK[_^SY\^7,?W=!TMTQPX$@.6 M,OUS*;[\P.*H$FP<[0)1/@&?ELUC2_AJ^?K-\IO77SV6R>\XUPF1K"M81J_H MBL"_GZ[.E31_^!J>^#JG=S!,'Z);FG',HHG[@J[ZW\N*8N\UP/$#X'C]'>#X ME[[6JJ<-EXTR76\R^KNO)R.]I$7*DG>Y94"_7'#EO'?L"K* M["(_;M(V9J["J&7,1TU:QOR16I:/PP;MX44 K8Y!:J++X*D/_*_Z06AP0*D* M>K4*[S1,'RO*UZ-::[9MLWBO$_F7S2,'^N;UZS=2R?X+?/.W,Q9OUS2O3G*N M+*JT>CK/5ZQ8"_W>D!$P90M:STM8&:P2K*@[O-=EPW:769>;6DPZ9G]!2[8M M8KFHGZ=__>T":<.)'428?\OWZ]0WO^CAE? M43?5?K]6!5N;,)D9I1<#TG 6Y8:3%05H@I$9":BC^ ME:[A(+ )G/6LB-]NRS2G97G*UK<<)TR *QJSNSS])TW.$PXV7:71;49/RI)6 MY4G\CVU:T(0O*!_XUVF65BDM^6]\F4G.<[X=O$O;AR^J>UK] E'-NO"S?+/G$6D?%TY*M1J%5,$VU17MJ^[9$ M'8O#BT'\ABS)M41&V(H\B^DP>6"'IH>=T?)L9)_G,5O3F^@15C:^%IY)8J2* M'@F5N$A4D96$!&=^$A.!([X@)IJ;D65>ALO5NO3-\K:V&Y?QSG!$+4%Z35E= M;89)>EE8ON$+2V-ZDX[M/:[C6*$>#)QU^)L M!Z6)RR,47Q".^1U*(F 2@9-$>4(Z2(F 2@16(L$2@79!GA>'DOJ\J^?(<9!) M&_XK?ZTDU3U8 H(!&8 AFQ8-X:A)L>-G*?BYY;T2[-QTV%D*=D;0L?(K_PK5 MGKY@;H;2E57PQV6:/_!/K$!N1X<:L&H!]!'RLN[_D:_[YSO2,UKM!WD_NL:/ M,]25T'V[W!2,S_[J:*X9U?%-8VW!4T^L/SNAA;K,WJKBLD8>!+I-NAIT;7T :TE MMZO6).'4@FSOA_C(#)CC2K]]M[QK3D] 6M/VC&4I#PLQ>LZP3:OZ3I.V%[WW M'==[S=F4T'N=H]@3C:-8K_K/=-!&]2!J)#SKPX\L3RBXF"&T]">ZOJ6%0A\. M/(G4ASTM>I!*PZ#_ PPR$\=&#,23>WQ&955,Z8_ MX]C#TVU10*"[>/*RH)LH3>IS*_Z\" 22OWF(033&,H-81&W,GF(2:PC-D:QT M63. $3HXT2&GS!1:T,X]^V!%\TGJ*&@1*4^N#(W7;Y;B^ *NWB9P7@I(Y(4A MA*6AW9I54V.4JA=;X[4(W@(<2P$$CME;(#.R-O3':-3<,&3\;\7>X*W0]*%O M=H0@/3=KH@/1D_%P4T0)W5D,I-@AF)7U,(DS,S,6KG1Y_-QL@[X9YL,44 I' MJ.#5L[2,,P8[2+BX]I:3^U6A[71>F1I:VM.TITA13ISLJ)//0)\( &$\HEK< M[@OW'&6A,QOSC\N"/M!\2U$VI>IMNS;D(14_-B/$9UQ)NG,R$94L'S<)A_GH M69DUQZ''D4JK[XF78O56U84[$N:WY6$Y82_0^$B22QH M!U%7@WQE)LQRIIZ^7:9"1W*)?<2=Y PW85=1]9+RHZV^%=%DS:HXJ^.=D1$8 MUUL:;/6LO.JCV.9\EEN:)X^I:L5YX3A>$!C.$/NJ,?W %H@2,S+Y._W4\\B5NV]$%(*;EV=L M':6'J1YU'[=F8LIF@QB9DO1C$81FW"O5Y_8R-P.9VW9,'V^^(U@Q,OA:3M^QU MFK<99]WU\"9="_[96W+'L\)9OKG>\?:>2[FYYW!2UH; [K+&X)45@S?1&99' M*3C/X#WKZRPF0\ F\-69[?>GY3^V45'1(GM:)E$5+;=YM$U2SLDBU!^G<;/0D/F^CXQW:K^.SU$=&"L? MQ!X7'S7HRZXXIHPQK6S@KQ0U4X:B_^ 5$DN*)-N!"'/81FD?:V\RC_N=CR9:NC=):)3/9O9 8Y MI!\N;:X>SAFFU=U_^$1B)QV535[4%1WF9**YE"&[&7HQ@C&+F2_.L#=\JW4; ME6DL-%>29ELP7+_0].X>_H@>: $)T&*V7G/M)J['+-FV*J&8)+2V8G T#BUO MA;X3C93U-W!XOH'JDB)AI7-5$KA#X713H([/4]E!D HD?B1O@1G".#F3S""_ MU,P@)Y(9$-["F5$GD+S8,4-D2SQMF5$WLF,&N6B9\?RU9^AI8U<=SV(N^$X< M76<";RD<=<+?=.UT&J/_2QU MC6WY0"?$GC3HS_C(MG[DMJR**%:Y]]P3G,'A[3XPU[/Z-Y)*0C&:C@X=AX;( M]ZIYG+*OU1TV%TI],E[6QG$XP9?#HSR2NY7Q.:V !@./7O1,1]/W'-L4;"F" MI5H;WN;4&FW=RXQ2H@@^D2X+1MX#LG8+_9SFS_CHHJ>-YI"%MPI/.=HTJ7>; M-T64ERM:\-G]6M_.&VW"GN6F).4K=8HX/-WP7^^CDI*X"\=2>)W%+EJ+FE-B MFE^?$55@^I3;@NQA(AU0"R*D8"YV^?CL&[:T-7GOIR@)7()CN;CKP59[OV!6 M=63;#DN9C&((4>6$?SIM<8$/O/O;'-=S[+@:EDDQ'"S?I2C J?P6,LEU$^>= M%'P&WXDNO7W:/7(9/<%7H@(17*BJGG;QD+LZT!<;8;S\3,L*HG8\*EB\5[@H_1DG/@)<_2%[F] YN=I@IXDO +#)\R0.#)Q*U*(.H M1^=3AOD>.^\5!-NO-YD(UMC[$;-?M$+)3_5!'42!:Q-V?E@0$*[JX/2W"-X0HIF4QH.PQN8^!5OM'I[CK+,C M =,KZND/JV=[_GV:IQ7-^,J=[ 9Z/QI"=6!C\BK2SM8AX3[[]+[\MR?ZP3?" M1@/ IG UW%*P"Y\]_M'-DF! T?/2H(%L1DO$+O+]^.?GN5282(:%)<-XN#TO M'8VND.KD0Y\Z::XMU+<6/I5TM4U8%C+D9C#DL7+:MT'8G[&VMP>OQ3WKBM:^PY7\?,R =;U/1@SG*%>]= M)R<=Z*0N)_?LESM# ;*Z]F&DPGF-Z?J?@L:L2.!65;ZL[N%65EZR+$T$W-N( MRU5,E^4]I3BOH3UR;BI9HV%Y+GZ]^^.JA@HE.3A4$8K50"5O)51R#5!G.6IXO5Z3V2?GN^H< F[4WHB#!47E+"=M8V:;+0S> M,JGP5:]&"J$!8_GWZV(EXH;S9X&8:)?OFA6W$A:+$WNQ"FES[8IR+*4(L2@[ M#(QW#.RD[:^+)^ZE[2>R)@J!.\)?^==(UF<(H&68JX>RN>PQO:/C>'B.5YF+S6K\Y::I:(^MFODZ&YW_2RMUDISX'N9*02<6: M9%9UGJOW$G+S[JQGKCU!T9^^ED?_-W,MZ4?>1%4VP?8'YTKBQS/.I7 WE9#X M9G=YR; ?KG7-U?4G:0=<7I^4Y [HPXEJDVN-U+G6Y"\$')UD!0$_D#*7DA=I M3A*695%1$CYUB$C%-J)J?G,,G_7%)=G[[L6EHRR*XA'(]T\[L5RHH7UV=YVP M2L7+]:=)@NO*MOQA"=-?9,SF>U.^,/(]JD#?YJ\Y2-M6/Y,LHZK[JEAW(4T^ M++:0ZQ%G<_J#8]46=0_;BXWZ _AR=BKCITY'=ED1#Y,AUD_QI:7JOBQLVKHK M(O?K/&U7CP(W:M/ZEJ) Z71$&%29@D[DJC"&K'ZF56B\!!??FFY"]I5 M&*;3&IN88L>,J.],-&;HIN2D<.$Y2@Y3D MGG0U4X;E-[/_W;]L/K_]+Q+?[/:_AOWPN_]]D&D>7KQY^5]C_X,5J@#I'QSM M?ZR5P2S2!][S!ZI=L4WG%73A2W73KB?4>U;PD$91:3CMMV MC6G'MVP2X'.;:%H#/F5VZ8_B;V:K]Y'ETM"?WR[/'-KL-GCZ77C^N1KU^SJO M,U&78[01V[7K*BHJ,U??G9L$H96]>$BP MXN3,./[CLJ /-.?T[=/RCC(N6)O[-.:OWH%!@K*8 M'1"V:T9;!.C'MH8LYE<2,O_K(ZW(-8 F[SGH;FW-3BG-VR?R8PN:OPR@YVEO MNQ"7<2/$TF2^&8^1L/GR[E%=0EU7T2,OF@ZA9.S"143/$"BF[T/<$KX!D+N/+^"^[$NR4B]?LYQ9=L1@?*Y9'-O?GI_HXW9]2XMPSJ!]^O/U M^$B]L,EZ^=K M@[J1,&,3U:'8^-(:=+6B<.1*NYCA&KE(-);':9;*#:\-Q8 EYG3NFX(*-KW? M-4"[\QE2)HAT>CN@SV(&HT7!>)).&]^)\_",REJK?*BZ07QU'**\GO21'L9G M8E[%S!%-$JXEW@2+<8HZ^WV<4J6JH4OD]:@%R6?1I4E)]4[6(GD+MS.2&ACA M4XQT;GV1J%-;"O)%\%ZWP;@U*_SK*M,)QJ:PWW=YP#A]2[G)0?G2D'$&IZLT MEN9&4_7+I/C?I,:PI?U01%VKJ@MU2L@7F?#NW@K0I#A$':8&W;218W:'(\1. MN Z7A_#"G/.K_M@H*F$+*&ZJVMX)6T/B;2<\&?$L=L(2MO"!?6Q[01HE+HQH MQ37QYV!'NY&P23MARV+C>>4\U&\0;'+"XK26(WD3#+&(6FL7N9Y.IN_K3&4R M4,P)@$_N3-D_2%N[[)@77(6) ^63D<358)T$L4'L"3YS-EXA+!.99YO_OMSF MX(FXR]-_UNKQ5M;KM6^#(&AZLS8,L,W"KMCEC/_4P2OLB;K>\O.S(##R,]IQ;>9\U(H"FC/2K_L=^&WHV[(B\N]GOT7 MTC\JL0RNCH9D[3>SE]Q/5^9]+]E/?G9[R7V8S_^JP'Y_YK4U1?-ZBI-\,*'B M;W/KJ)AZ 9(DSLOPVP_+#;Y[G XGB(&'AST[HVX_,/XWOXVT('#63#=;4A1: MIQR&=LU"L]@"%42_3 4_.RUS>#S]7T+76!-!:QK'KEQYWB9^8/D=U,@\H[?5 M1FZ^>%EW/L29.;\.*9L9D'(6HK-M$+EE^,=E=L?Q@][-@?0].3$EY MKW#G4E7&DZ/OW@3E4Q"^.97]^4/9*?-9-SO3!-$UA+]RP: M&3L%9DT3B'3R9XT%RMG[_:?F/;51P(R=[6B91%2VW>;1-4E %G:..DF8TAN]V#\O*P&F4 MR==0"[4CXG979,L@_2R]4#K[/QHD4-@T(B\^-;A?[A\N7M?0.R^\;Z#7K\YQ MD74E/..KJ5.)<##3R_B>)MN,+M-4E#N4*SYPQ/G3?[2PP/LC;V[H/#.S^>Y:@(9FO!>I MF#CG0>67-ZQ5VM<-^MXI.OXT9D:I6_6QX)7DAG46K1UQ_P*LP5YFR#-GXJ'8 M]!B^95=;IPME1RVU1M<")(VH+D4%1X1LN$ZPCJ\#C0/ M3]GZEJL*0-F ['ADZS3K%ZNZW#&]YC)(.SV#LAHG<<6MFY'Y:IW.Q'EM#8_O M&6,-^!0]$I![4ZJ:=V O" =.!/+N$<2BK2P@CLDE?%("_FY-=/"%T 718:1C M%65_7O6H,D?#_5R"G>O@PG>/M(C3DK97TVY8%67G>56D>9G&3DKD(4C[#G(V M@#C[ &>#OG@-;G;*XS!W;MM;M6VG=A=K%Z3M$]%@]MQ"I#&3UD9X-%I*)GH5 M^)JPH47U=,EEI#K)19CV!E!Q<_?=8YQMDS2_.V4B;#L&B.>PC-QQ^>KU2EEH M#N.'F$#62U;2"?B,TWIZY44%XFFF?QI\W(H#A,)[W6)<0'TVT"LU3M(%RC4+ M>1YLF90!-5IQK4XZ 88DH9N"QFEMY?)/&6T=_]$:#J'_V<:';NZ?2KB<5N=# M)5O0WUP[0PA.#F9?!BE3$]Y'>/JV,:\K1C8%XU]396":@(6Y^WVYY1PLJ M7LG2=2I#AQ:$,R2!7],,R/$E9AW%]QQB\20HT)V@L-6*8^M^ P^LMD6>5EO> MLOB4/L+?Y5?^W7\V-"&S+;OA'88]>Y ;^EB]Y0A^U7<;ZK1BSWDX1,WU\M'N M?SMX%/M?\OE&)$8&;$2 \^OUGCI>PWXX_4$(+^2MS[#>7B/\X0=O.O"$UQ0\ M^L!%G5#;+G!T-^P[OVLH M1W&=NK7W!%/O%=3QY7#37K8&(QB,[5SK?4*X&"0&L"_W4) Y=0MGHE^!)5Z* ML^6\[>1ZKY.K%E0 JU-WLC ,6R?._1Z/]%6;J_$\X4Q-5RE8,#*/=NV13KB] MV\FFS7_CPY:T5P@^T(A+Y^[W/@WBE3!&#WD!Z&FAWUWNR ! MWZ'\:2?*5\0 M6MY+3WXK_)U:/X:I11"\(H"61)7PB$2=<\$DJF@ E>U7.[%P0S_;Y>,JO;NO M+E:?ROI5OVN(BOJ\%I)#E(%6DP)@0%C^EG_0J?CTS)@TJZ7EL#N_*4[;7F1Z M)%.N+L5_D=5&JBNR(\_C='K MZE9=JQA)F0#IY@8WG/#'7Y'/$L"(C]EQ9R;OXCN7IPF\J7'X2UK=GV[+BJUIT4SQI^$<)2:O(GWF.B2<9S%IBEIJ M[YX=N96-^,VF,-&S#/[(6/(ES3*^NIQS]9'?I>W"$6.,-;%BJ MNF5OUVFYI=Z*ZDS.QW48SA!6_P/W+B_H\WOET4:HX.S MG8!P%:9M%>QL K:M]LI)Z'9@OCL*XBXG17$W721U']NGB.BE2(*=L"R+BA(V M3C(A]DSS8;M1 B9AWPXES+/:/XGC8DN[+IGA'=OH\TAEJFS7M=ZK"6,/-AW@ M1P1ABVL%$&-LUA5'$WA<1I@QXSQ/BTO($<9RB- MS^@JS6E2E^_L]16:OH:< M)&/-NYXK-7T1Z:_I,'0D8MJ,9ECN^=?#(A4-7TQ@5S.JA <>QFO@GD8]J%^9 MW6@CR8926$/\9&9,\EZ:_H%E#W!CH*!)6M717D^#>DKK'71)^8&VG==H;8@3 M2;V)47P*JZ[T^,U03)R;GV#$-+[85F45Y7#%148K8ET!6#J!+F4?X9G-AMX4 M>(CKUA:X%_AN=:<'"R+[P+?JXC-Y&W&R]2;\65:B&IUS%N]4CXB"]]6W2@L! M&^S*&T[\Y#%59B?@X8/*B ^KCF.X@GVJ15E+U[Y"MR(F[O-U6'UGU5UI= M1JFJ?*SIZ]A@'DTROG37IK[)OY_,@&SX:_?>,#> M4C^(E;^C!IV'CAVZ,<*96 /<9/HLFAB^>Q,]2@JG45$\K5@ABM$^;E)9&.>O M-.J-XS5X#1/0J]&\E\L#&CB,XWN=] VQ&>%PF<=S=8R'PZB(MD[G3E MB9-M:FU5O.NQ['KCWOTQS36\-E8L=2]67ZQ%W:$&G2O0W3245EGAK 8]=QL_0&IJ0\ M<6_O#^VSHSF);]@B,@E$N_10"><$? MV7"N-%^\#'QWP<+<8)9'W;,I^@LK?N5+6=>3J7GUP>!-I+&J0<&ULJ@AB*IS MK?,<[NH4#[@P&R=]0A@C-8X_[!\+M% 6I 83Q% W$2TV@;=!MWV#_JZA1ZUL M_?SXN8XV?R%=7(,\56X 9^#:$J4?3>,<]5Y"RM)PX[X.AH=18+2S[7XA%+. M$*YXJ5'HHPF[)NZ)Z@NC/T45I%^]NZ2<>]SLO:,7^?NT**MW$)YK?> M9.R)4G'M#TJAPKEKW^;(8K.879(%\E[<,A9P&F^C@O &,6%KG*0!2G9("3>I M!%8BP#:_P':KP4N>(9-PF\Z&3^N&3YL]/JT$G_[TWX YM&%.W 5*MCG?.9%$ M1K[N_<9-\O9 ;<.I!MA*VM0DS-7H^@Y"9UD:/[77 T>*H8\\C0TY[V_5EXVB M((\Q3JSU!*'DZK!AH=X 1JB;&6,RP@S9%29.YNAPV,\@LSQ)T4T0)74?%K^5)GH@/'Z,U+0>#Y;7>0PN_&Q]KWMR\> H';H%GOW@^Q=3N^@ MY)K9;OVR"=\%9UJZFV Z"8I=;=RU!8NA^1EZCBG+HNE.MM$&;,TZ)2'G!\(R M/)O03GRVE9EFHT?6IEQ_5/T\YMVXC U-0$TV3]R$[+(IL[+L!EV6XX'2IN]B MMB2Z-+RF",=Z?N.LEYEB\36\.:/8"J,OI$=3NNFHUC+J3XQV8$#B4VGBF ML4G&V ME'6;;I)KY"R&&MEP\O[G,*&SV)%AMMCM6:+/\YBMZ4WT2$NXU_F1JF16_2!2 M*H\;=+][*N_)AM,B+YK[%2])(LL\@GVP$:DZQ46,5("#BU=<4%_D5 0=<;YO M\T1L47[__0\+\OO7WWXCRY3__LV?O@N3LF5@6)@^KR<:!WVA,[MHF_>L^.4^ MC>_K<)Q?TBP3(3DGU45._\(Y6M"D?KK/GK#>.,8$L0;"RY[&&EIC0R<@GQ"[ MHMXHPFX (J@"@;@I&4, LXQ5A"I0'#:I<9-GR#+D[JHOO%"PZHM@55RS2B3I M7S>L>OWJU7^;=PBB?47#W ZQG2U=G0IU#QL?@-$-GM9[$[9[@^W[VOS5( X4 MA'[Z6V_=PTWE%C:)9[ML*/;W^,["#'7T!:Y>J&G5OG MDEPW>WF8/: &;YDYPWQ+%/@&F0@YIGG\)$(QHTQX"_E7XCKU0-8B=,F MY.MP6Q\1YNS-97\1-K \#]CA69 :4=@[S CQ8]-Y[#N7\G:SR83-"^#*^_<9 M^])9DD?6 ,.WL7F/]:@X]QEV8)!D5XX.4F^ 6V?%876K?X99.DR'A$WDL^_[ M%T.Q3U8"G/Q$,=7E4M"!2EB4^,HNX2*/U.%%#HHS4:VU*HDQ( M6IT.ZX';''5N*/[]%TCW+@X2DAJ\R/$FBNJ6?"L>]S IP,Y;?YHQ MW,!XCS^LX$A\N)Y3WS/H*,).6^[]5X)8X")-O=QC6BSQ+ R-A_::%@]I3/MK M%'QD^0,MX6171-N(I;G[^RDKZQ2Y5S1F=WGZ3YKL6I(OB8CWF_LHKZL9* 0O M.!ZDD ?#[?<89UM1<47B7!#H M''^N(D]\X=WU;T'D6AY$;8:?^VP&8*SN*ZZWZW54/%VL?F[,L),\^8]ME*4K M< @U5=U$07%5@?7I#6'V'RB"[ITQ A38KS_O[-H\(3M@I"WL9UJF/1P3D%8_ M*3O5Z5OK7O"C3G4)^6 E,]*\T4!%@>N M,WBPH.)J0M+UGI%U],2QD2]I=9_FXK$58U7.*KYKJ4\'5VG.4:911DK.L;I$ M->2P)6775]P:1;)#F%C,!$ *6*! M6IBDQ4DX4&%L/1.^3/("B9S@#5!QJZTV48$YQZ5B$G*[A;S>N]3?(:ZDV)C\ MS/I8_59\ 9=B2>;=K[^"YU[[=@ ,@IC;KK\7[+/?ZO?V:E;[>TM\][*I5V[A M+W?A_)UND!=P-RY,L'Z@2>UC.Z\A,5,MW9Q>;S:GV[)B:UJHPU.'GD-9ICWM M.<_MDE-R?7E)&JKX:%,[Z"??.V1UA^(:2 CC9D@NF#:[?!<]J*%W'VZ M&3ZSTG@#6P)!W;+[X-!Z(NS1#GN\I<-HAN#>U,M8^5V:4UK0Y+JB-+OD7 5W MSV6Z&4A!I_T2ZO+46..NI6<'@ @$I(% ->N3KHV&1-.]+7DMY!\R&NUVB+ M&,.Q=^IU&+[QCLKJ/%\5_)]B&T-V'3?-:.D' EV)9&CSD:$L]3 MY'V:IQ7] ,=1AWE3WS[]%/V=%:<95T-0X5XQ'1 M($7?@))K,9=0E@)+3W;J M6ZCTQ?$0 8A\!DAAQ!TS.LP"R^7+) M(182Z$GR]VTI@HG**]I&C[Y]ZGRH'\P3*1H#QIE+4M@P&@>0G!^M &:R [T@ M-Q"4'-"NQ.8%&*<02M)#VGHFC&<3N.G; MINM?PW9& =]B';D-1+"2^ ^,"\Q&/GRC&QN7I+"6G -(SBN4 N493 BGP\E\ MCI%OY=_"4IM,O<]@%7JW+9_2&"!61 D@7KR.Q[1]GIL61^?@Z3^)XN]Z*4P=N;A=5^L^] M8VY]!^1(0_8]G@J"OFY!F"/#S"JG_9]2F*S'W=L!1"+M?OOW]HY)JI[#5XO] M\YGGZI@)O9?LSU\/L1,]0FJ8$\Q5/_ 9[SJR)LL=EF&6/TVQT9M,H<,^P/M4 MI'$%$;4L_O43!UI>77\:O$^@]0YRV@RV[7K6[(@309T(\N0%!U"^#'NU0(_G M#,5(WVG6"A93FI3O>0?/\W);0&J+:UI5,D/$N;AJ)G(EB!P6*5765D8WA$W8 M9DS0?92U1$1 6OB>H,84)KD;?CB8/1[/Q_#XL5!OE75?LV]\B.8#F!^"[MS6 MZWU>ZZW8/0ST+',<$>7,K\0Q;>?X6R%K8X\C94S5K*]MJ(H^QLBUUQ?$!?>& MN+BW7A+MKCB:+J/BPDSY-O%RQX]1FE_D[5K0+! 'TJ[S*.;"AZ))+QF&%+2- MKX%,[\,4APE0)WS/UEHG4,X]5$=LW6R!Q&51F]?G3ME%D:--QM;TY&+S?P%F M;(8P$TY/O;6U+=.<0EV.]6V:BZ'@=![2DO\199U2!^>0/2+*ZN1IG(?"N[S) M:$5W!]\$L9=<_,"T(O6LQ/5\SOQLV4PP@+HND* MZ?1E03J](9WN+$C=(;+K$=EU:4%VG5H0T2T19BEO6?T6&8Y;"V[NTY)0N2GE M2EZQ,$#5RS6-X+Z+3.XF,Q!%;3?(BZALRE^^Y.U(^ZF[5/"VP?')/]4O0]K, M=EB8&)9BUW\2Q6WV3B@4D,L8'I&XDT3DMA&5>#<*G4J=0#"MQ2/:B<>7J)0' MCF(00MS;]*NP64"1]>V-HX7H15X'"H^4/QA^&NM7ZV_5N?-L1Y;4%>C#5D<8 M82XSY)AG23HHL?8Q@@0 @Z%V&F\@)6J@9==2=5P^3U(/&P:GPVIUN3PU_SS+ MV(^,)5!%^J1>Y,[$.BGCIA5"IO,*4LJ&FG8>P08T2YG D!L:367>%Q]9108^H%B6 M8N%_\ZV_+/[1C9&\+-B&%M437/.H(#=:D_5>(?"VF\=>S; $P]?1L"V\J$K M_GDUY7#N ZR(42=^.>F %IHF>$"S]4G 7(^6_X"Z?E3JT&>=5_!!NP/KPEI K"N,VMVN5L0 MX]>;E@4[*(%Z#%+3-5I TYS"J AVHV5<)@E(?*UU545,^! MI1(N7_-<@'7L%A]R@<_3@!P*8==[R;81Z25\765&W@6+8==DMHZ--2%^754G M(2I^?9<_I 7+98G7EM:'+!ZHC:#_&JH>PGCSSN6(0R![&+K6^XLH.E=3N)M48@CT14K1.(9+K-5$<7!\M4KQ(+I\BN8N)_G4%H$)N)5 M6OXZ< "O\\KD:7#\HA=B\^]<'XAP.667L2WOWO89"HA;+GT.EQ\(.#K/'<=]YFJ,BYZC* M2UJ(@.01 1Y[')LO6=&L+TM511]5RMM:7Q"6ZR[#'-PZ(24 "#.;1B6%F;(, M-3-*&G]UQQZ^%O<[BBH/8DZ(V5!_\;?3DP.Y/_[!4,)W#3A7K"8NLO>LRW4=;KJJ@-O:4Y7J4JQC3R-SK70VZK[-!YMX36MA%N.P:-3 MAZ4SZ<>40!U.E[RHT;\DMY)VH 01PR+.#%GF.V./=,JD5C*&J3KM+F8L)'^EB]?O,3WU/<*_/Z6&TQ 8K$=L?0$L$7"*2;+P Q"]%A55*NJB)A$T -WG]ANCPS%4V M)KLSA+D=SHDG8US_%30JZ1F5_Y[G5_2!YEL*VEM89*%()M)@AGT2-FC2PR7-B%S;_ V1*:+B6M%P[2O(#D6^[I!!-Z6+Q M##?I8I9E5&0<%3R.ZZXMX*VBRWVH)U&NHKBY\+GI7%YGMUEZ)R.V;Y\@.41> M0HUAD3."OYO"B-PQ@,*W\K(H&"P2#;$ A[*6U1=S*$(S..LJ/[+JC)9\<1-) MMTM8TD2.B?:!9GT;*A!NJ5V+IV9&]/V?-B.!3CN>]L8=Q"K1>_I8$HZ3[("2 MJ"0UU.Y3BZZ)6H>NB]WY;(XM<;-AY&QSPB!Z5CR?\B;[$*"YR _,Z5WGRK>4 MKSSTV#"UT!)2N2 H^E(G"&@8!>*% PB5L<-%1(( ;J(<[64[X!9\YPKPQ@U( M1XIABNPRB\/AW\E]8#C5J:S*R^@)[F.HW=UZ[^$=W\/M^\LV/ ($Z5&VW3O$ M%&UHDHU.3]PYE34%B:'YYWE.B31O4 RPH/96TWCYRAMF"X3_8FL) LC6[3+(7@_DZ>R\[1T-'#X(8S?\J@QYU<@12D921$?\&\!]N3P_E+T)!(@ M CB-U&+ ])CD.^=-5-Y# A/^#]P?>(@RD=*D.HV*XHEO G^.LJW*L#)Z%YOA M1H>&ES@^N&<5PQ]TAR-,\AHCMK-)O/3N6!1)ACO*_'V4%@+7Q0H^CEPE,7H; M[234HN+/%:@%!^?P<]13E%M/8"$U&)%K0F:J*:3524*"M1A3;'H"=^I7_(> M*G,+.J+BP(V$0.-: W2.-43MIQ>9B+SCLR)N[B61>X!;/@_?TI0!UW0Q31[% M2?14[-,S;*B/UA_K_LC?&6&UJL^!BM#RT8Q:^8\=VUXGQT)2D"M/R/;0^W MV @+'(_K!Q;O^36/1^7P"?SX-BWY&N.&7JAQ/N(K\IA!Z6\W:C(,U(!\T3-8 I[4H6J>\P079 J1.S>9,M]<^(VXQ$CT6D(L> M"N]9L%-6R.*3AQ[I70WG,UK&1;KI\31-;0:=*=N,G&M-< AB ?7V-E'11-WN M0,UFC42/&+,U#,%#P4[*N*@UN_VP$^X6FK?6XN0Z'2'0$]+I M"EQS)4UGVO>@.PO2=(A CY8)M]0M-[^XA;\D#+:([>IYS,Y66%=BIRCV>UEOH+=I@Z_YV6(,PK*9VTU>DRNYD65L0@8=(0.! M:B"%5=Y&(LBF\MKS%&V0?( 3+W _*>:B\CGDI#MJSUSB4+646Y'*1.[3F%/& MS",+\''*X8APD&FAE@:FS2//@CXFX+8$V[M$:$J"=;3H@A:Z,\^1[ [*[#QD MU>00H7[HHLVB?,9-0 AW&MSG6F[?PZ'E((XYGDX. G9]#&F96W[.&YM'=Z@7 MI,$=T@2T/5F0QX4&8QH\;/&RH)LH3TS(?]*E(WYGJEQM-<2B\[08E1N%"#B4([&(5H/@+AS94XWJY!;;7? M[K26ODVBT8@]PV. 6$#K8@"5)1/":K_MV0D[6#UFP5SL !T!'5[LM;GO/?OC M)H7MG4A]411/*U9 8LK!3%Y:[Z"S/0ZT[3[+HR NDW5UR8?-W*7';X9BHN^D M06TX/2QY!T=?73/WDO(A4F<%0C:#3?MC2,Z3B[.%)3TMY8)\J:$MH_I4-&EV M505R+^J^Z[@EU!17F%Q&6#%EM@; X9GQ69VG69Y$ROC6]_R[P^V>UK.(4V-E MFZY%L"'_: 5G>[Q8.I :Z-/IFQTP(;N M#78V-2 22OUIR>./T9 0JZ&G'X^>G*P=VQ9]ZT814S,'S7C,TUZ]J&"4]W#N MO&19FHCMH5ZZ YU7T.'4NB_3W.XWB;@-[DDGA3B-KD]I$"BZ3I/UP# EFRUW')%+4__"*O1 M005X6N,C*U:0E418J_70"4RFCR6S/D >]CR7S250Q36"P>[(#]]1ST)]C(VJH0;6&:4X' M9U=TS7O1_ A&MNJF#;89%P=G/>3F$0Z.T7IP MS<#1:R"TNL=HHP/@T&!ZEU=FQ1T7O1\+]J6Z%UGH\D/K1O-IM#STMNI)-!K:1!(G-?5 M8C+,7V;(- _[K!M.8F![U?UYPJX*FO&VF0)BP790>PQC8UQPKAVNUU&6O=V6 MW$8M^PX.!YY":X.]UCQI 4&3-$0#3?Y^-C)-WKB7A7N:96,+1-]#>$GH-.9+ M$(!DX$6@EX=,CS$>5/YYSO?I:W&&^('+X7E%UT,Q!4./3U@2^IKUMD1TB)// M0)X(^GX/+[29S$PYYU>(Q$&*G@#M/6I'>$23801'D)Z%S.SS52TO/@P*&#P&?2BTVG+TYHC*1)!,M"2T\= IL45+ZZ)XC2JZ!TKU'9' M[U.3'!1M:QY]% 5IB 9T4QRS\"-AOUI.8-$G#6NI$D@\D,",L9J9\58+3N*Y]!"<]">)VEI MJ4KU$DI*5,QDVASR?-S5;+'Y'NLVS66!BO@?V[1,X<\K*FY20A20*KF >0/( M(RY]0K[.=/0184ZR7/87<:NX@4,Z>.!6<8N(U)"(1H\=G5\A9)%-9[AS3?X+ MS;+_G;,O^36-2@:'Z&6Y'3C &GD>K=D5[7K2\$!]^2N0)PU](@$$TO5C;&;& MO/,=FLORA.4B#^YME/]ZL5K1@B9PQ?'#^=N+J\&KZ4;O8L-V=6@X#^(5($B+ M@M0P9'66%P+)R[#7ULW&@DUB<*!DFH#IC$'P@$(>U0].3*>Y:]"UI.WE9B6? M)=$P$C7 S9YTE"H6ZK MDS2?-A2$D5;=ESB0E$4VII:VIJ)QW).D=ICV) X:+ 6XX;_RUTJRZ7:.-G"^ M\BKKNE+##!DX4>H_< N4RJ!RF8B*T^N4Q!R\18-O #,WC BYOVL#8!:DOG,C M 0GQZD ROH7CO]>XJ75S3TD5W6ZSJ!"92#)6;@L99ASM.-&),(:RI'3?P4S'L;:=;]/:-4H (#4" M.2/QZY;];DU>O=H%BVQ%3_?N00680=I2Q5 \#6CRGSRF*K^CZC$+YCXTY]G8 M!Y+A3?T]/BH,_6/F3#9XN-P=W!;IMVO4S^',E^/V7(^ZDC#"#+&!'IUQOCB^ MZ12H"SAM?K(6R=J$%00&Q!]*V252,0)=$HH]>X)31]&[6M.'TO"#LL^T^>D_ MNPHD2BO$T%REY:]UYK3H3EF@2.<5?'859=.^3HR&,&#.B.SV"7$JM > ((% MV6$(E2MF7(08AH>>I\])\O=M68%N*V_829*(8Z@HNXS2Y#RO,X^*&I&W$:2U M9VO(8BU[0>6Q%;VFQ4,:4WD1^8K&["X7K?P<95M5*0M?9)'3V#4\UZI 8%L* M<"3NH&O2KP>9,][&G(4:2,]S]S^V45&!!2$W5VF4=8-+1Y+@F+V,G$=Z1%S/ MAA8%:6$3"X?<%%%".]5""MU^.IJK.%$03Y?I?" MVGFQXJ#9&HJ7P!)9T'N^2J8/M/[VMN2&;:Q,,HAK!9N!T(R:@#T< M1 (AGQLH898>[.@P2RQW'M=V$SV>)QQ1X=UZ9HUU-<&Z=. M]LF'3> PQF5FS#KWMR7$_IW;5PE]_-]4?7=&\1S^?L1^>[XN1DBJ1) EG&ZH M&Q$*;C)M%GE>-,_@"(\;XB*R-T].UG [XY_#);1&WT NA@,M.[^CV2$MK+>H M0SQ0(:AQ-C,$[YPKGBMZE\+2F521(AM@+%DU0X]019D4^IZ@IH$G$#KFH"7W MH;><'&F4C?](IB'F,0V..%]33I*$LZ^L__F0YD?A#UK/HE>;GC8]+3TUR47S M!P'BY"(/93X.<9<9L>!2C,8;MJ*G=RT[=T<<>R& =,A+,SI\'@HQ5C'/ M]ZXBR]@7N/OUGA5G;'M;K;99$_&RBW11[2Z,7L;N,K2(N); %H6X49O4.$A4 M PECCINQGTWC:6C-!]-E,/^'QANV--^NY6":+V1N$!U.#^D^%?O<1XFP]9KE MUQ6+?Q5QY>7%MN+V8IZD^9TZ9$3C)7S\R$#COH))! 0B,'##3: @'1BA8DMT MV,YPO/0=JAEEE.O5!YIOZ4?:G\%&ZUELV&5?FZZEJZ9'WM(\OE]'1>"#HV&^ M,B-F!8_1/\\Y/"X"J4%,?L\[UF+P.VV'B[GO@+ 38X_KU>28>NU^>(NA[Q.= MP9AY)><*65P+3N/X6LK8J=*7IZ^AX3STROC2H+AZ,,G775\1A M6@V&U'0)P%D0#H@TB-J? !-Y<5K0)*U>+HC(=!$H'M90)ME4YH?>W[]]:BU% M,_=F[VOV?)Q[S0?8[G?LYUEY._O9/NSR'.!E;#BM^L M7$XJQ@\*X! W/0O@17$7Y75D! =:LBQ-FNL,ES+-7!TUT5X>;Z_RE6=M@L>Q M1 *NR" %W#8S-=S!"GLTMAL(--=KC#)S-P)@_,UR"[C-#E MXIQ=WK-<71]<]0@F1O>@*?=I[#D](@B&NEZJY![388EG#?V!&]$7*[D7>!_% MD$[VJ:U>_Y85!?O"_SB--ORWZO#&Z;1&D-K5C)BO?:89*LQNTW6_$7M.@"2R M"@A0I$&U("TNT@(C>GUWM"(@)9398;_WI!E\/1%U5Y*S;<%1R6VQ/"X2/UYL M8&DJWSW2(DY+FJB.:= -H5-GF!+T-;_-D6'FN(_^(^9Y-Y=;-T$9.2D*_IS, M+G+[1+K/749/XNN3+U&1+$B->T$:Y"5)\]HU15[P/TO1QY>!,I"@Y9S9&SS/ M6F*PPL+P0\C9[;=20C]5S*RUQX;]O#],IHS:Y@RTYV>7V4G2M' "-"/SGLR&6H;(E MH*SK0>Y3R6*!;F3.!8R#]P>E* )Z0W'@DUC\#QTM,A: M;T-%:S1D5T,/$ SLAQQ 9M$/::?_^['#9A8;\[V0 M.G[BMT^[1VH?L7 1U[[1'R&?87F>RUZJ]($3(EA=816,-SUB%35*QP3F6^!S M$ E_=P@B8W4ANH85*YI66XZCCLT-;V6[F6_,CS#,P)'U@<+R-!ATJ?N:1;=4 MMWGG<3DJ5XL$$3;N4IOW(VX3-4.]7Z:35Y.>KJ(O/W$KJTBCK.3ZY6)U14M: M/ SR;B@'NGNFS62&YUPHD;O>;C992LW$;?"EJ:+6 MV[ASUT---*R$#?.U3[HTF#6#!77@\LS8XQ874#]99\7Z""G>0]Z-&>7JR-(8 M_"[,AS2Z!21__\J&H*K@4/*"_YWG0C:8>5/ U&]TF>+OZPYA_V3R*$7K]IM8)\,W?KF.NI+89MT<_ M<0$J*YIP::F*-.9_B47S4YZ*LJ>7M!!5BSELX6D4WL7R)*[2!U'_;R!8VCTA M0RER!\CYKKD&#:["!C;9X9;YVXA +J^F[K!+K[OTLY>D@4\^BPX0[2NI\^5D MPN+MNKE6JF\ 1[?;+"I(LKN?RWE;W5,2WX-S'4X@BAV#F]-48/"+J^M/Y4O! MYTV'S^(D@D22SR\NKT_*EU]Y52 >YAOS-_3!\ZR=LEQ4Q?TEK>Z;,D*B=('2 M4C)NP5H.-B6EST>,I$1<-_;HDQX+D8SWSEK%M7.P&\[=I>[Q3I.S@7W#@H>JJG?V#U?NLF>E3((+(5;-)T,VK.LZ?OX! &>$0@ M6@N(<.L+5ZG)=3>Q;M4P^>"1(L8L,=1[UL?;2C\1TLC3Z)R.O:VZGD] =E9I MA<:XRPQ9YMWRKRCL](9O!RB>0EOP>ZWYL]+WR.(L<2SR2?'--=6@EQ)4(L T MN3/19?>!?:'%+VF616M:5?3'@FTWO=GD-9_&.,_4K;I/8,4IDQUI(FAKII5W MW!.2AC@Q0\X&=_!<;"A< M"A(7O5-NMYW?XGWR"[#W_YYDX2T;'<-!7HCWV2-T"AR^:O2E&PUC_VM(#T,PT/N6LD@?Q"71\YS#$2LZ'&'\ MA29W?(;79Q9<=9GL.ZFU-:U:ZOU44) +.VV.C-E&VVH!_N*&M<2)@Q MKT(%VNDO$CJO3 VM"Z#D6]JS4N!:S.X+KYN; G[/"IK>Y:?;HJ!Y_'131'G) M+:B4Y3]&:0Y^^BL:9>D_E4ELS1M "J$^(5\Z6Q\11HF[["]BOU##(0T>T@%$ M !%Y 9A>0G9JG4X[FI@(<633>>[;:FKRV M=_.93;!#81N?9[T<]KTI$"YA:C+9=%[!&OX#37NX2BB"\JW,*4L=<3^CTCS. MM@E-X,#N)(Z++3TXHUMUV1)FPFD)',,PW_-DNX3 .%'73+BB+EE9%;1*"YF7 M259:-3@KF-H<._1Y#%BMAD_AP5F=/NJ^9;-968F6]>Y MZMOA;:L11X/N**[2N_OJ8O6II$,WL[3>L;*?.&C;M>Q='%C0"R( +-EJN>6B M*"-PIN\B)O<*X;8\Z!HI3#OF9;^@DB7E=F&0E;Y3_U .@2JV,W4RR?)LJZPD M8O@Z-A60)AEO*8$T\:!2 SGK*SY%D)A]FYKV3#;MQJ+'IO(XH)UU6?!M7;J) ML@:"C774MK=CNR$04_?U4WHU96/?D"-\4[]RY;2PU[D;Q &DC%/D M&@-"-<@J8U]* O-Y;M:Q>M(H;.,1MLYI.?^40Z(+R"5#DW>/D"+H9 V?,&O[ M6%LN%GH5S5FL^BIPUDT "UR8HJLD,5+0C3P^@SF=UC>>GH-E,"JXNF:"WCC, MP3=CXI%QX8>9PT'NS):9P4-<#29Z#XM?T:*@B8RQO(D>ZS#+VD6I$##-M]#! M[8.MNX]?E^3AO(73)U7T&$BN=-G,D+SSK\+2BLO] \"K.,O3VTPZ2D#!%E7Z M3W%)LD9\LN)+SU]I5+SG+Z@5W=06\>H02]GCA@H+$;DC\<<1A,OQYIY;,A&0 M#;5&3!95YH#;<]K&=/PS /:&4Y[JGCQJQ[&?LJ7G>I9S_O[Q.5CE@V.!<-PI M&#QC,7[/A]""%'>;\2#$0,Z##'_[#&5X;R20(GS,WCE+L-H"PS;C0X(]V%J< MN=\]1PE66!73V!O0(Z(7*:#QA@7OB.Q ULJ/>Q M@6$,[BC1.%S7YNI,=:?.%G926XZUJ-=MZVY_]LP4ZNA>S0*[9^VI$2;Y%V;% M1W/0EA?O3$USGGZ9&IQ[CPR:"PA?#!>[;YZ!%^90&-'^EU[>SC/7,:1ESFE2 M^XL'PY@OH=+HSCNAL/TS1XX.RE\1P)J#QRY#9W\?5M6 M@*=-B;<[)B*WLA_P[>^__?Y[87'__KOO?YASSNC)4\\\Q[2=49^_333@OY[8 MFC^[R(R(\3[81CA,XZ^B/S\4Z4KGSK?!W]C-\P+4_K3%O\]N'FW\:.C^S M&\<'W.3^]IE,;M4YAPWNSM1C]Y$^5C=?:/9 ?V)Y=:^LMCZQ.<=^NT.R'DY! MWCPSIYUR9!!^NV%VSW\1LQ5?%22T:MY15?X"JKS&4L&QYW-9Q*P$4,W"*V\4 M(J/TQR-;\1$WY=X'#X[G9[92#3BA)S'7L_ V-679:F#FO=]6VX+VS+_!2M0N M22#%WB84UW.B6WU:HET*N&2'EYS495 E9-+%3&K0QC6G'GR;;L@A4&3CSQ;6"/<,UH^;M3-8,%NJ,U77/$?/X4U[4J;A% MY5_(>]#F!2#W + <.SC][K4\-WWS*LRQ*5)ZF:6!"6277ZQ.ZM)N _KK[=-/ MT=]9<9I%9:EKC4]O>*(-C@?@T_)N,(Z8X.3VB0BD1$"=F]%M8;![3&U;(^AY M:OT<95NQU)]D7 E )#,4?[JB)2T>:'G&UEP/*":/R:O(Z:%#POD$>'=*FD%> MD-=OEJ]^6) 6&-DA$RM"@XU\ENC"B+K1T+ I_ XNKA>KYCHY7Z7D+.LM23RA M!6O"JZ0T%QE>D#:Q $1GWMU?NI8[;DMOJ!V'D+TLM;H$WB#G%" M=2I6NMH7# L+,^-';3I/.@U$@Z9@'N3D88G08?8$ M.: 7Q[":MH3&&Y,.WGM;=IXS7Y!>$$E\-@N]#J^/#M/ MJ>IXSNQE)YZ%ALA<]F4'O@6 1SX#P+ELR@9'2-O!T,]VS[+[=ENF.9]7?(F_ M3?.N(:R0U_$7D#*J;MBU7#:429?TW#9%&GQGYLR<38##IY*NMMF'=&4>^'K\ MJO5@A1V)\"$).RQV P^F]!%3)GGH4&5!)!H"<,@+<0[_U7,$W?ZNO$9_R^5JDMUM8=N"Z<.\1A?X+AM(TWK"'?,5 G'2I M$R"O>;K@OC\)B[<0B]SC*1SHUWF^8L5:6NN0P"I*0;)(Q0C?^!-EK[_R.E4, MY(J9,W?B!/G(\G]LHRQ=I33955R\CA[$#!V<*H:O8B:-)@G7TX?#6+8X2*

3(D(NFGHUD^CK26-(EXWJV[N$@ M$LCL[";C,6%3&>U99MOJ GHR.O8X4B95S;J604D7HCAF)WFCG&:F[/,=@2ZO MST1I >Y,NJN0K!"MT>>Q4>6J=IVGP11U&651FY3_%? D;IRWS)AAP:*;!R)' MC2X7(EJ:'+^L37$^5P7G%YAL/FR]DS@66X#WG%=P6>&&<>LX@EUIX[^!RD&K%8U5\0[V"2!GB3T@ MOISM]A!C7/(A^86IVA,]$L K#FD!,>&0%^00KJPX>G)Q>@Y;V08R:3 O1,BM M#M,# M?V2$]O)F%B&U%YM*9CKE>R^HL/I 17[3P1"("2U9#<8=I.C<\.P$M]:)3I7T\A6_]Q+"H8YM!RKDI.=="WF2;!E-'AN'N M0Q+>=V[+-*AFYWU"CQ^S-2C^??=KEE]7G./"ZZ'VT?<^AO?%[S7GP>?.Z9$2 M""[([[]Z]9ILHD(695Z0U]\N7KUZ!?\G):@M;JIOJWM60 Z !?EA\:?O7RV^ M_4[F0N>?7GV[^.,WWS>/IF6YY2H=?F/<@N7[Z02.HZ(2/ QG-!;',^2;UPL" M(R">XW^\6A#^\H;;JUP'9D^A?/S]8\IT!\JW==UFKB]A P!=3#/ZD5:[O.PW M##(67!;L(4UH\O;I4PE.CC:_V GP6U3=/KGELS)2.@=;$M1_>ME)]E=U/;@SV',=Y=BP7R.=;AE M1EB&Y4FK8<=7'-4;TQ>?PY;]KD-'BPUYD>;UMV&B-W68WK\Z#',RM+2=BT5: M5]+VG[8E9;+5(!)6VRBSDZX#1@])5A_WPDG5951<%-<55(D19E$3*SHN86-O M3I:UT+J$I9E45%"O):4P. ".#H._<*HQ]QP@GD:;=(JRN2]9(;-YPB2"6U7C8FK6SG2AU:/GR\-M# SC!??0>\1I53V+K^4LKH')X/ZR MN6*8D!4KFD2Z#;HYK2Z&TML_U3&#XGGB'^6J.;Y J9CJ!F\B)[<&!5_360,* M9@+;[>%^D;\;\YF[NQ@@J1C$[%03;"%M\95/9*$S05 M"11:=?AA; Z5WD9]ZA$\AYN^0G=E3; Q%GBJH$6_&S$VO Q5V/B M0R^F^;!>[/L=HQ>[[3C7BY)80+W8RS4VRHK0V_&/5*7KAAZUM>'F30;;87/: M5K;4J#X@ D3;Q,90RB&J2T7E8YWPM8/N"L?0EOF(6[[VR#WYVGI_P^Z/O61; M4^V._6=2Z^<=&V2(_\Q4X)(1NY#SO**VGFWVV-%1IR%VVH=BQ:3SV?@B8"Y/WE[2Z/]V6%5O7J67YHC!\ M(<7@3?1!WR@%]Z?3$D+(RQ\FC&83N.<[=+ZH[9#1*.*!)[$!\,&A!GP.:C,:01YC;]@10)]AGH=">*\HKTT M.*X4L-G$?/W(6/(ES3)Q96G_KOSAY\%[0>AVD%)I3,^UL#: A-.RIRQSSU;<+A37#C@MDFP+D4?NGD*88LID ME%-:PVE+?D9KMH7K#+$,#X)%/5">I'ZN,TU6AO:-BKMQNM[1O8=M^4=%H\$\ MI(*Z%1\ILA^(X$ -S+Y04[6&/=V,5@@RJ)[C[67'-_^X?VW0#OH/= M@=58[B9,$VB#5I^4>Q-78EF(B\.5,!Y:/&0'B'P.;1V@!HC9X+H''[\(>

W"2*WS^H\\BS@"4;3JW6COT0AT$C#.4&7')A[S0NT, M2Q9=\?[N]JO<\3.ZWJ_)_1&W_$PN^0^X4IN?L"[Y_O?MN^+WZ81VP3>_/R?/ MNV*D]#SN0^R?7-AI4] XC>IT=]WXD:OT[KZZ6'TJ)8J3-2NJ])]]]H YP]U+7212^DN%\L* M7U7@U*));UJ?7E3W4<6?6F4TANQ+T$@F! $8R!L2K[!2--KJ FD3$?9 "_F* M^/P'LI7E!;/TH:XVNP/4Y7R++JID92BQ'X',3\#&)5LMMV7=:$]46)"Z5Y-F M%[,H0('V,VT-C2:,+:5CNYJA5R;N;?J:]KW#Z<,P99\SL4\'%\.QR8^3[M8G MT^V9XXW/H"3U;'_&6>G]A/R!JUQ6/ T=CQ\_@CX;WS7EOD20I(44_FE0T2F^ M4UW4SD[E>P:;Z; EZ.[=,)^5VIGF=C*<$"4&_Q9IK>ZHGS. M;"G4?N@+A>9K0K:%^%FPK_C_P$>FD-L)+2&%&$'1^3UB;GN74893ZU[Z@XA, MJ7')344;Z_^%0R,--H@QK-&1!AX450DR8:=((K,X'!/='!^@5=I>@/DIJK8% M_W>P')GYBQ@GAA8!UU--@EB0%L:"-$",S^K\]1'II8ANMWPI),DN*(>MR#:' MS^ JX).M"[-9Q/!BX_MR M:5.#\3S?;*OR ]=RV3>].14,WL!>(U6W[%I] &GRL[Q4)*ES50+TR3=A3G,*%/ MTX:D3U[-^>PE]=;?6=%8>*4B"E/]$"H)UV%CSF]EU,1"Q5P.L(_I\21T=%+K M:-*-4#IZP5:44MMPL$BE%H&5:*4)_4%L;+7=L+Y"E([E9"A,2<$L#VKR8[2F M%ZN]::J,01Y]%J$TE6WZTYVAXH_'V#392<%W=:J4- -/X-P.W99<#W4/ M280381IB]%'-_F;;\)C)"G2)IX]H9. =>&SL'7CMS#KP.[1QX/3_GP"&W1YP#O2R< M@9B],1:S-\[$[$UH,7LS/S$[Y/:(F/6R<**Q(6X;G^=Q8'\+;$*>&W1$P!,FNGRD@]#.":U'EMC4#>V>1NYV1ZT4!;KVZ?CPPIA\/0<%N!>GFK'#A()>W+E_\ !.01] MQJT!7R=?<)*>WO:0-B+AV\20L1E**_\0/L/VPL-31WYZ+&Y?C3W/N-6ZI/VRE6RBTGF M0!<$!#Y;D)5$+RUV";F'.>3%K<3]$J*6JRC-1=H[UCSZ@EL!Y4OIH^1:BYO" M6WB@WA"P/,3R;D:):V'5>P:=#43;M6C%R M2G"Y$4B%RG$RSE:&X97W0@Y%?XE+]0/H@@R%IT*70"FP=_*8:6R<$YZ'7E35 MJJ*R*A@D?WH'1_6#P6[C+R!%0]VP\]L0^Y2)(!TV?DV#R\R<==XO[<0T?8#- M<3E:@&+P6?3%FYXVG2]*191087Y)WVJQ [$0+I5=:6;A.4G8]K:">_51',NL MPMRX^_VWK[X1;?S^^^^^#W0Y96@\F!&3/43ZG&[7VXR;I@_TW6I%X^I2Y#^X M6)TD; ,&JS+LQ^Q%1 R0'@'W 4$-"B)A+(@$ M+60 D7+60X"@S/VAG(HB)< MU^0U!W+H)Z172PK#Q/L:\5]3 H/'!"L3*GX2R5P^I"OU_6[M-VUGTMQ1\!4N MK $%$S?LI(>( .+!C*$+(M$0@$->_)5&1:@+[/H2IY,S5,7D.2P!R=^W904@ ME56"L4VX6!H.2,UBF5B0':QP58G1HZ2[@ RRWO-BTKGQ'^Z>_)A$,01'?;ML:045J_A\ M?4@3FKQ]XH9.QVB(36T-*(Y*J:V%M8,&B7M,F+;)N,/Z" MW#ZU3\RD.LG4D626AR=,-KTKF=H( ,KTYV,30/N]:9GRU.V[%NHFA=Q9 M/HL\R\I)'$O_&$W.Z(I#2NH //#UEB-.U&F-(&7,C)AK^>N@(34<4N,1)P%E MUX=ZQI['NEY4[?J:Z$H F'EKL3>(:2BIP_Y\ M=P=>KS>NW$FC0L.,>1?.(OTQ2O,/K"QK%^O[C'WY"TWNJ+2;=$U2DU:FVZ0Z MU'P:I8"'O !$+Q>$@UH0X9 '7$0 6\S-##4:KWX[U'P0 AFBW84+S&6YP(T8 ME\,O3308^QMW+;%MQ=BX0YYL^#-!#9H13O<8*3KL\RQK;[=I!M4)!O5E_T-( M6=IOS+7L--3"*C % YD>5\*ML2)#"TAM0>^YX*8/5-Z;TUU=]=Z?OJX.TW&^ MHEZY1=1FERGI]&F[2*,@YVS7)13TDEI=HO M8L5SE(!SN6P1D V'L$SS92Q!A)%&?8XS/!N]'Z=P!/1H)_Q M%]#'*ZJ&W1^S["C_]W_YTYO7W_\/0@6",*$[&BQFYGSS+%@?HCPYYQJ7/$L,V.7;QF"\$D0;7U!&G\#*TWJEKUD MG@/2,W .K@U[F$OQB/#@ZE\+F% HC MMC4?6=X&'0@CK:XQ39ZQ)E+MPMU%JT@7-1\F^?;CB2@0!Q@S=MJ_8=!>?F!9J7VXP!&P"7^>B'F'& M#.;R,GC3MGK<40BH'D-F^#+AO8Z"5#%T!D&,I_QS6IU&1?&T8L67J% FJC1\ MVV+X80^5D+&%/7!L!0Y:Z2G"-(9LG;&@36+]?GD,"AP2M)&(OU&>AIZ%;105 M!)Z@9N)X"[9FHYI2L!FIAF1E5MKL,290D*^%NXO/L&F=XPS5$,"A6:K+8]_G MQP)*WETR(??;.HQO*^ QS@7?>=]BLI[^#_L-1ZB#(Y^KBB?!VE4%J#)15M80"&^(2!@\U)YA.K+ M(/+9)XQ%-6^>;T12M^LJ*BHSPTP$P\,A70Q_T!WD!;FE=VDNJG:P%9$$?JN, M>YN!JIF76ONEN[L MCO5'&O7N,[_DP4B@U*#."NC"(T"!"F$3& M8)^%463<*^^KNP>^(^J^G0JBD',U5JWRSV]9Q\]'6PO[Q,$.L+3+M!TR2.4\ MKRB7F4H8(I#H,$\&5GG--RU46"=_+ MIZD00/,&[.9:[2'D+;6"-B)4K@6'_46L4W"F(A:F30T(LB"^V):B5NE+LFI@ M=?+,SBG-[) \CJ>7'66Z[WL(NUK=BFG9\P3VGL&N)5\3JT,2,W,F(4:7[LUT M0;NZ -$SXDR#*=YK+JS7J5@0H1+]J?"QW%$^N92BK/$&NN*"LF7W!1=:TM+F M[Q(G+SZRBI+7WX2)M=9A.$-PT4.=FK.TX+8\*Y15:/H?0-28V6_(><:.FEJX MPC *QK%Q;OB^A+(?[P_1$0K%,O D]KK)<8N^ULP>TJ@K)S9Z@%A#=QF] N[Q MA@2"&?#(^Y*:BQB.7]+J_G1;5AQ3T2SW3_O)D_])58X$7"/HA=>$F#?_IQ$J ME/_2<;\1L7(-)/*%8R(-J 5I82U(DT1CK+9^PU#"@F\ZKO@)[E,R+87 M&*V8H 9OHF\8CE)PGU9#0"!48I >*@8P MTLU.:QOWYPP]/OZD4 MP,O?3WWB_2-?9:H/#SUZTP@3N'*SV MYG[@'>WZ%NOST!5*@9ZB,X;'P?=>%1*$BT)+8O]RRTK =;K8 MW/'-$RAF/+RO=4,%NP>VB\:7EK$,&Z-S@G,.<035.6KJ*^JX(&+S$L;UX&A: M,$\CYEE7_5BPLKPL&,>JT#,]3R!U1*3 -$0F5A' M>1!-J[HAO/R/BKIR5U!Q5I^B*LWDR7J7804:=,((%HALECB^,XF,=-W M9JXX!E!0>91O;Q/(%/9IDT05??/J]1]?_3!6@DS_76SF+AT:SDL\M2!(BX)( M& 1P+%_]$+P$F<%(L$GL]>XE+=*'J$H?:*F7XF+\!;1?4]6P\T#_'>79);K0 M8#B*UGT[R14PIKC K?4,X5XZ.S[#GG8D M/[TS4\[R$-UQ[*P?FQ0]KG@M%GK9PN4E5TZ)2.]T7M%UJ;3*QQY%;>7ZFW1O MC 7\ISW%&W\#?;%6U[$$=[4@3H+@@DGK]86;N!)U!8 C.^H[/B9[6 M,C==)@.M^:X&+IA"<5D^R;EI<7T?%?1M5-+DE*WA,H+H@BH09V)SV(@;)%EO MH35(?*@8&O>\F.( @+I#7W9P2E)(G*1B)*<5*0$<*6E5975A9K8B19LHD910 MGUU<=E\;1Z%U-1L]D"GM3Q=]VB$ MGJ1[8&Q.36PO+4S(_?NTLYJ*_?*E,0$'V.D['2:W=?BH7*SDEN!B6Y6PLX;[ MYFO8:RMFG.YKV,29(\U[RZ8Y@@.58M-ZWS!QXQ($F+?U/K>#8T%T>NN M9#$L2WW'#B5_W\HTUB4WGC_2+SLO%E^)<_YG+/<: [7K46U@8XE,: 7U^(6K M:(\;#V:%R9[%]Q=6_,KG5G>KUUXZ,;@DA6T&*<2FY'PM**:X, N,^[XC%IP: MU!](%]8N4UZ068R626:+V9[G\A6M(K@3]2XJH%Q<.7AF-/PP9&;L\G$[?I%5&+U;GW*1Z2)-ME(%#4#@(H;+;?;JY8>_XVE4] M*2. D"T@SK,-*;D6/0$'S.P=H'#Q0MA18!98Z_M@4ZI;;C16D+_J Q>AC._" MZSUW?2E4=<1I\B[VL%.'AK?LO3I@4$E[W?0287\("&'.:HVDB4UB7HBU0!&H M-/B<#;WN8_O9J[W#A"D-\U.EH8-O'QL/Z)X4MR',6NH8T\1$)[\.*=^^?AU, M4US^;OK\K%0U2M)ZW/WFK QC'=6QNX9VT=A;TRPB5>N>;2$5C E6D+V>(295 M33RD!30J-\>VCQ[+ BUI-3C<8J;W\L1E;)B([P5L&,V4I7X:;=(JRH:OW.N\@SX>&VC;^7%82YP ]66:DYI^ MX)OU6@QG*"X&,HUH0@MCE]'86Q--(T7KODTC!8PIII&UGF%4MR0>U#0:DYL> MTTB+9=ZODZS7++^&*.E!!:U\#GUUY* ]]Q=&@" 1%,.J7C4KF39_0AG04H21 M!K36RU,-Z$$BW@WH0323#&C+_7QF6MA0IOH,: ,&>IYMPAD%L400YUT]0:0" MRT?BS;3>0!5FSV5F".B]-&W'%7CA'T8Q8;]E;Z$WS[ L,I+7Z4*J;G&D^HI' MR'V8P\QI71L:D$!X^^[B],5MEMX)K/Q+2% 0W5&%9");04>I M&E'SM1P8PL*L#\Y[CM@9UIB@F'J-BG1@D1VN!='MO+/ 7IR4,DL#,,>I#>LB MY$ZX2=?\D8O5-?^V7$&E7M&/E"6OI\QY@^9=*@,-&+/2$AIXG:D/)[QRJU<: MR$1BAHC +FJA>#AN\N*O-"I>SE?WF,P64Z5D/*R>M94H$=2YA3UX0#'\,%*3 M]#?J6B\(JJ1#-NQYQ0AGF1F[YKCB35G.?*Q5LUJ(G*TRT0^L+-]S)IXR2'"P!;P;*I-1EF\I[QMMO:BTK$,1%5-Q>H/(:8EEYN']0\V=&AS(# MMH?N:PX.9+S$8XP/51&Q(DGSJ'@22>\AD0G4=6 9 M!WAW#G7Z:*DZH?= T=]JKHO,U^[:81

_)9<101E2!QD5L!,GQ]*!]39YKE MA1N]^>N\,_Y'6:6Q/9UVV*(_G=50=JV3/N4I;-Q%>.*SF2]'PS)M/O3SVKL[ M+,ZBLDQ7:2Q@7FRKB]5)'&_76Y'-79C$$/E7T'N:E^E#W8.11& V&D6[NZ80 M=^_>VD='V%94A.\ )'+7M >1U*M-X"QD5H:5N1FK9S)Q!KW&TYOT/&G\>(2G M39F0GE\+ VIANEC:298T_NJ./7R=T%3,DW_\$?YKXJ3;9)R M^3NI^.I>":COL^CN0.SU'C84Z.%&78OJ^>G[*U*3)AW:!(A[%4%-YC(SCCT3 M'3L8LFRG4<]ZUD^H\U1-&S(4VM*P6M"V,PBA[D'UD57TJ(3\@73JOH:_M[!%L$I-.4MX(? M'9JHXAZ3,&,*>;#\;LG?6Q,@O:OGL2#BGE68$AY],L!TF.3[:G1\3Y,M9,S4 M6 A L]Q$M]FHWK74*O9Z]33JKB=: \_ $*EU^F!1)H;( M@=,D9/Y?VR(MDU2$R@X>?&F^-24/CKIUYX88D!=E;@4 TD40]F!*E^V'B7%T M>>E9]IH([9LBRLL5+2Y6/S*67!37M'A(XV'OIM&[2#G4HN&^T$(3\]_ @+\! M"&$%J:&$=4F:C06;Q&#?(EHCXSORD^J2I9#6A*,>#@O0>PDKE(.-.Y?&'742 M5430)VD.-U,"']IK,IWA.!E.["X>:&$BV_79]RAGCE.]\O6 M$.."!/W=1(\GV^J>%6GU-!"E,?SPI%"]PT:='U?+K3PG2UJZ(>,E1EA[%&XW MS*_@0C1HJ(T];DV0_)AC_:(4TOH:9?"@.,W QCI+R^CNKJ#R^N;%JK[EJ>4' M-7H7F_)8AX9KN=L' 5N &L9<')1F(\$FL=>W@-8!S*>0IZ!X&K3$!I_%"F!? MF\X%KB9ZJ.I"FF##S&5&'/,L0_5U7!T1&GH4*4%]37JZ?3TG^1GD+#-AU[P\ M90-6O,&;;KQD?HJ1:OG(PAG\)J.@[Q\+OA6XHIOV6 /";6YHL8;C#>6A]?#C MZ&/H_F;]97/JIX]+X#2Y+W8.VG*2M?%3R6AGG!UZCP@,,^59J]/2YPT2L932B0"0D :).0+AT(:+.%#5XW'Y#A_D2&C M'=YA.6/Q%N;,29YO(2_#AA6'RGOL,<2]E;[FW&]G)$TBB1))U?M5E4%.,EWV M>-9B/T7Q?9K3XNDD3Z!$Q@;0#6YA--Y ZJJ!EEV+4$M:Q :TQ,-N:70XS1#L MTQ6Q_,OF4UU, WG<#-\YSK/#[$3W59"$[X(\OK#X,^OND-&P7!<2&I5UY/A=6B[%]UNLZ@@25K&&2NWA8B9 MKNXIB:.B>(*M8"1RBI*H;'ZYC3(1,%;>4UJ1!")\^"]\T8WO^6Q.2[H@=WQO M52Y(#!4!$Y%7=P';Q_^_O2MKCAM'TG\%$;NSTQU1[K![9_9\*LG2C"-L26.K MIV.C'S98)$KBF"*J>4A6__I%XB!9)1ZX077LRQQR$?EE(I$ ,A.9=7LX%% < M^!X7&=K3O^S;!FC6"21K5Z@A:(=16^,,(N$/2=E"M<&VHC@VJ&97-78[K="A M(EG+\XCH_TQQ7?\ ::9%F]'A9=\7,"XE*=_T?6#D? L>ZA^"6AH'RY"XTZK0 M#\R2^IYB@_\"<_E(IYS>,&Y(D:?/BZ_,=+XU?6JF0L/[>S-*G:DM^Q\#'!O$ MD:!?Q'_'/KSK30FQDG-@33WCQN$+V#=(]@,K,^,77/JYH3Y.#>M;!05=Q @C M23FFRV]1P$17:BM0J-E(__('#I4J3+1_2JUBQOL5Q+R@6BN(^7_&*:96E.[S MBIOI\@?FCY@F!@[P,$E07LW^J"!EHB\ZCPZLB[+)FV=(:ZD.A!<@8QGO(G1W M3K+3OFF:7QFXMQ1&]U\\%B"@(PP;7H4.[B$""0(HP5U@.L(GAA(-;,U^*BN< MDKLR_PUGM\DWT>ERZNBU\&M#.S8Q:J@@V 1YDQB8,TX.K+<2J_FO%P8;(ACV M8=T)*!OZO^[RLA1!YV><5"M@]*+4C/8MLXGII4Z)04_[T=)2(9K"#&P7MFD* M%@HZ5<#^F.-ZNZM9V&?"-"Q_8&@=I@?V;2!ZRDB2IMQ1H5!=CG[DUYX+8"3A ,)EE*^5P M2%L,*$_]U"*H?#IDL,!R3SAV<'E2JD1'5)81P(NZR1\@ PG>N%_O+VZV7W#! M&C.Q]@_/8\$^U6],XGI+8_O6$R40VG$Z]UP95-KJ0"! 0=&B@-)(&@UK!E& M&^\QPAV'J> 08HH5PX%JR>CN&1B/$)U37C?$2+:N+ &\@KPE4$JFP V6%"EQ M!8N@^*V595B@$=9"+( Q7T[.N;2R&.Q=;T.0Q-.;#; A'))2\^B@++NP)")% M 6R)D$$J90#&I1[*@5N:F)9%=?V]L#!:L@]]A\*L((=HP-&RS,T1&')KB)3(2+%MJ8%3'1E9OE M\>NJ!:V\WM^0A@Z=)T7Q_!G7!T*O?KL"WR059+J-G;VT/C0Y>"D1"'+J4D*B M??[PQ)_!>8LC@>S1 18T (-6QJ/9 4NP28]4AP&;U8#- P?$TCAO2-44L&G] M-:EV\$ZP/>!JW](_U'F#(QRV]!8<,9\!2XLB!2[A_]U07+-'@<6/;(X!DX,'/0),HC#>&AWR9;7U2, M?L0)O=1>82@'SGQ5]7ERR)ND@!2+,2MA/YJ)^3"G&L2NF,/37I,A)6%@B20\ MZ17:($#(W$8"(^(@-XC"9"7Z.5#T6H1B9L$^XP/]5U9V ^\7?S&=2GGLAST+(L^3R3(0\TY[)"$;1@9D@CB=W'?FB MU-!7##.] K0%G'FA4L -G=_JALTR_>T-X1%[S>12HZ'=9J)J00A0QIYZ M@R2+FN0K+N$9YP%PL<3'..T%G,[C1X]'!_P6D+5<,NOL$KW3M\16^* M(Y[MN9\9>+3'AO,?3.$TD22*@&IP!_:L)(FJ>&QK!]PG%3ZCRIA!U)#:=?X> MKJJ &FRO9\_]3T3%HNU34K&"!N!2KYNJY96 H'7-+45YS;P*]14I'^EN@3-^ MRMXVMTEUAYN/^!$7UWNJZ-08/,#6,7:Z71$LH[H&\>$'.6^O@$_]:@OQ,0>Y M 3 F$.,"#3E% U;1V3,:_DZPBQB_B#.,!AR+WEW ,Q),HXYK)+P?VP9QQA'C MG 5">M[1=W3#KX%FK9]D\BKGSH6K!6I4""ECQLJ;'9LP48:-'J+Z.4KHM82> MK=@,%&P&($;3<["A5QPH@P&7&NZ[^8Z>OMHR;[Y'A$MC0V\[=)A'>GS/BF?Z M^[SF=QU0%=(V=0-U/*#TQTS-CQB5,^+KQXMKTPHPN0U(]>,RF#7TU\+9)SC) M0NV6\?B3ZD=&X::EP8/LA8LH]"-)[ODRV$>&MIO#0!P'6A=KYF:6VD9P^B9W M76FC@;5$">W>5/,72U/?V)QK91#^2^* MW/!FPN]^_&[W/9+DH]TI7XB0J,C%C*H>,4Q9*^8F>*.IMF0UTD/V= M*^)TKH+%,":[AP$Y_\4J)"010&2@V %L:(WYOPF;;)RO$(1_<^,,/YI(6&"6 M.8(9ME%0XDKJJ_&B\QXW-[A,"DA^VJ9IU;X(6=H.X]P[/DXN<@&'25P."QXX MY-W@,'E4!0&:59QUY0\&S9XZ:$B)_^!1@05=58H J$Q"X#5^ V4R<59#-$(V M35;J-:#^H>$Z7B;@O3@9J2KRE)=W:RG7KR%S8B[(T!5 V0O)+TFQ\ YH\G>F ME3U/Q_->Q5.\;&4DXS[8F98E41:0Y<7A'*H E^S ([(&F$<,XJ.X>L39):DN M61E@J;(WW8W][_#&#]JV7/=>R9LOVWI+?_DPGCGEGYK)-<0?JB#>+W_PM2\T M:Y*DP1&)P^>7NXW,QN)1FAI)'E@F!><"238VJ&<$"4[ Q@QX0< ,^CT(UDGV MUZ,0TK$#D,F(51A/X,Y-_Y-BY!?/AM -'_;]O.0/A_L(C4CS$J$M> ?33Y2H M89X+L42XL@:P>22PE@0^FOP]*5H>N2D*\L1*P]/[NF"J%I5?)XXK6M\:'F&4 M:(2ZWRJ!,;G4>N+2N'BAK%F<-/0F.ZA2R/.X5L>A=M7" 7\7O#RA"F>>3JIZ MRXA8R715UN7\'@*[&51VJ"'G5F3@&EF;A;&\6)\)FMXO69PL[-KTWKO/>0K# M1U+'R3*UFQ=E=582=F#UYOXN5D88#FT*+1,4OC!4U9F1 R1"@XNSH[V*W@DJ MDG[1U5Y!?*NRH.^QZ 4TI6^ZGWNQDSV9=1S4>CSN3S)&O-JT6^T(\N<[$L<* MMX(1;5.V_E-B78?!GVUIHO2-6Z,?IK')C-F/V=M$3=[+IG\%'4Y^)M577-7# M!,N/>;++B[QYOJ*2&*W39/:QH0*J$0EE]M70F!A]7WP:.%(%E#\>9[]W:#9( ME5-/ZT]3[XB=D$-7^Y-6XJRM\Q+7]1=\QY*89\[\2M^85O.;&]O_@S-.*^8Q M7TVXQ$ABP2M),B"SAXG1WQA7@AR,%4Y78IX-QL5'E&02>N_'^=T]O0UL'W&5 MW&'^%N)]7K206\:121+R4WW7YVDXM9XXXGH[ R^ V^79>X2QOSJ$M\YY4D#G*2S%,J+K" M%X;J/#-RJ!/N# 238ZU3C@S.LI 5R0&@(8(-4F')TX)3T1]B($++9*)/R;?\ MH7WX@LN<5/ 6#I;P9S@D?X:GDQ4>L?[Z'YJD^"@1")*MHX1$.S_$$W\&RT4@ M01P*DE@0 X-6R*/Y^X@'P6K-62TDJZQS(ZIZ4!&R3O16%#$7L:7)D#<<5N&H M:EFN#RO2PJ:DN*F(<*I"2(T7.?I0UFT%SM?/."44XFA##9?CFA@<%_2#V",7 M0+67WJT7UJ$7%G08JE'6 MLI8@.RGG?,!I7]!M])^A\H(0<"5XC6!HG1H:XFW> U^)AJ7I/L.-[GK_4XVW M=8VAA5_[T!801:1'T*K)?SO2LY/3O_E AAT/V;R@VQ,!MT >4I>"IQN:A=X2=Y,1>-5ORR:7+BKQW#W']04K>8,S M>/@$<9.6;RS7^XND@J3-^@97S+4SZS)Q.K:A;7""(92Y< +6Q()$DI*!41DB M13U4)+'R=)4!6M;S4>"%=%S^-D2Z@J+[8=VN$>)U2@.;)GHZY?6=ZNO]1SA; M7>^Y2VS"W"S^WM"$3(X;RBQ, C!9ZBZXL4DLZ^FSI\'P- C> RGPXVD%+JL- MT9;>&H)ZU_NI&(Q.,&]Y%)=!O&EJP7)]]& 9)?WXYMQ@6Q7$31&J),#;3YEJE4\4*=#X MPL2I.S^R;ZO""\!^[.I?# "8EZ!RS9*U[Y P+OLJ'T6/*8)W3U&7B($T5Y&D M,)T1N/A[IPD* 3(!)^+X,1,#EV6\&,2/G1 XB@I*Y<^F""I^Y5+%^M$C*=J& MM3J(FUNH*O M/+&V.$F:,H\>O: GNR)&V9 )32<*D@V\!5P?,&2\E'?PO'MH)::.%LL?&!K^ MZ8%#W?BG$9C<@%WR8[#Z._+LX?[19E9OT"W>MW!2G=@]QG]D^Z"3#>9=6[NW^[\P>I'?6S0*$#J MC!'+&*\N-YX6S9*V$$W)K2/OXD5T]2RI\U0OZV)^#+,&?_]?X6EZ+&]?6^_]EH:,GQT"8Q*4<0@@2S'&'5#BE%DY'!(>FJ*U'? MH45/%"[J@2!9YIEN71==A(J"EAT%X/^^2GF9Q>YZD:7'(A--CD]">>_>_H&U MI(-8A S:00< B3M"X,ZU'2$^)S+PJ4&^:]RFO[:YN)9.IR M_-KP/# QJO<3 MJGS".J ;,_=H2;A$4V*1'0ESMZ+9WSIR(@2^Y?AQ(!@R81(I,^8DD/-@\HJF M(+,5&-645>N83\)3_LZAH3T:/X;)W2")(6XFGKKP%PSQC$3C11W.D_K^LB!/ MM7JT8?(3^RC#BZA> .F+D5Q15F);V>#1A083Q-(TUN[HG14;WH NZ%)IG M=95;_M9>]Z9I!%7"(8P_(@YD1>JH,!/C>JDJWM ID? .!)Y$5_@>EW7G)H,4 M-%:M!?H/0]$&:L";ILIW;0.7LUMRD\Q42WM&K(_+^ MM"3 $^M^"4;['TO&-ZGM,+75&52R"4WM! MI8B&F(,7?GG$98LAJ?GB6X.K,BDZ#_K9\U\PN:N2PWV>;BN@/8'J]5B;D_8X]2)H_W:U8689U:+C!S!![<4?3W[^U24477O'D>F";MJ8J&XQEK=4:-'TK> =ED"0] +,^!3>9KU%=-YZ$B)5V6;E@7#?S M3:H5OG!0._=D9'U%?<35CNC&%255]OX.8 Q/VK;E<*U9,O-HS4"(7MIV2G\F M:MC.2C#:?L%O[V>8+N\^G?$]_:^ZH<>T,KND?\_O='<.JU&M]Q CZB&/2\+; MLV,(Y?^C&#=(HF3W88%S?1N-W?2.;CD.YBSBYM-=^F]$49@VUH M;/@8AGL,A^U^Y(8W@V "*_T@]E=9PG2#]J)$._M[G.;>RHHUL3\M2S3:)O53 M"4TN[LK\-YQ1LW"&2[S/F_HS*8I+7L]"1YJ>=^V&;DB1I\]3VX[IYR9!2@TR MOG500$%#+(-^8+]P..K[1VANS<*<@Z(PU*J(US@0]CQP=NF]!CT)R:1#R?2- MO.#*ER9%"HUMA'4JNNBOB(1&"'^::#"QG:B5W>7^!R?59?YH>J<[_=S3W4Z2 M\;W"J1#_[55<>5[(7>/J,R[,:%<@6$*DY/TR.O^(<"6*,ZKF'@'MS 4P>W(0$0?2<@?K^^FY#YE(Y>A2SG:64V?+MO<&5IR$?'\&3-CVAY MK]M]CRN< ,578=C'YT'#NL\(-YJ)?X_W&'+AZ")C5YIZ6UKDH1B-9FW:M:B& M-.L2&#/E'!H[<*\Z8\5L#D=MN<7$N,W=I<04KLW*'SG(Z'TY>.CD7J9\#N[% M'ABS[FF3#S)FDAUI&[@<,^Z'>< <9_SDWAE%F\CS71)RM.UDO$H1=,@N4PK< M)"',?$CKC46?=,C=I:]N-;@P $!TC'!]6XS%E([N,[;SM(9+PT]EEM?,@87HARC2I)*=J$Q(Z^ M]ZF60"> 8O[I]2CFD>1U5?.E.%>HG)=THFS"M8//?89K*9D FOGG5Z.91W+7 M#=>^$&9$O3PI9_Y>G)KA-BQ*DRIHI_H@#G1TF5B@'+W+(U7=O&PX+Z\@"@7$ MX[!M?X]>1A5]"6LHY\1"UA7]>I;S9PPE!Z&Q(OSC+:X>WNDOYYE!W"_G$6)K M654 #>?0=6'2CRJZ^A>!\<8^@6MOBGE-5M<6]*'K+,.-UVUSOJ=7( M2;;-_M'6#9P,INL$*?S<)+0X,ZQO1:.D(13!B:.>NGGA(*?,6 <2">?OP/E+ M.D!UA*BABO8072D&WMWDX?F25,/NIZR W(?R$1Y>0N/')G]D0\PQG9\\_U3C[4(HZ.4/+L%"]U'P@PX6H3]#WFF3%X?>L.#RKG+>74 ;; MR']%46*+R2'N)+Z*KH;':W';7.*,7N<**/?:4OU[/OKQA*X['-EI'T0M!*%V M* =0C=KAQ)"0P12D MO'O#XA3*-19]]I"8%_%I>P@%N5DZXV6_SD_)/TC558 >\\//_]+$!3\^HF^U MF"%MW+;6E@.KKKV,.(K/A'7< /H(E!U;#XRMOK_NH%('E.A@/74K]$!X'0_X MMC[@--_G= ]CJ[%L>&]O5.7U5[3#97K_D%1?-^CI/D_OH:%!T680YMRU#2I) M0PW$0][0KQNR07528&C1RZJD;\::]FX0;M*(G7LGUN%I(]ZY65V'%_3\GNH# M/0*_>/@(&S _ Q<%>8)PI9Z#U&!@M[Y3#0#>73@,"K2E?I2T42*)K\G_:#)I MRZY)XYFP?U+;/D"9('I:G.GW1&'E)*J.3?W)"ZJ7"35ZQKSPV= MUOI%=8>Q#3LT;<,'OD$P!CE4A&+&Y+7Q2J5LMC'.-Q#CH(&8!W C\ MT\,1Z^@ O,=Y)A[6ZI&HZA-F?SKG/Z)_DQOI%6[^DN0E_"-$W67GW;_B[ YS MMR8%;K$K65+TN!<9(EO3#F3(@B^+&DRB!KL-%!E."E9H^8XB0M]!.]+OP4F: MRJ HN@=8=8B])YBD5K#CG,IWO7N)K:W2W$&<*('EOG'6UG07JZ%>Z"XOF99\ M[HIQ?\C@E?T^!R^)\)^GO[9T4\N._>CTWZB29>?%6\9VDE@83/:6 MT%A#U>A^62!(V_2M7S0&&W%HIGZ'4C?;@D2Q#U[9^50W-U W'A!#R@%XC!-@ MJ\Z9-RQ2S]IH5HRL0A-L:[[CHJ@OD^J.G"7EUZOM]#.2^5\:57(?'=%[T7:@ MBAA9!'0WZ.J'[0_F3T=<<6$:_>%GP8:P]5C@,J-GPG$>(Q14G]<9HB'"P*&6 M&@9')<;W'.R1AJCND?"-H*RX33Q&/92$3;K]M+O-] M\SS^.M[YN":VV07]( =%%T"U;7XX6:;-FU2Y4D!_X9K^I?K MO5W,3(^ QQ"9&I U1<34$/L*Z_B2E\&):X 8\03J(\SR67%D53/ M)PE=D+,U=H;3_]KF2I;+8TPODT4CY8(:K+G3YS.ZXK9V!#&?$_,WT7M[[Y2Z+B_SJFYN<7E[3]J: M7MK?DZ)(JC%7UJC]<3NRF7H687 1 MQ8LD8,01HU&7_NL1E?6=4 KN00KN<"2X/1/_MDG!7ST.O/5U\DC'KF-Y[1T;&^)QTBT-]A=/'4UIHF1MJ4= MQ#S;@M2V-N&E8F"2./M9VN.;2FC"O?=Q4BFLJ;KI6$^S,B! O M-I;!.)V-D/WTR 5SN_*BV\I>V%$_^]34F6S&:0JGYCVRI@9VKL MI@7=$@%7,BG2H* V@&1DPE:9 M#&'9)4B%5.@602J8;/H#^>'9I*"6 2/, 5AU&/J$CA9$P@)3"F5*"C_-LV1 MMH-GX)33G0#495:R4B2)TIQ[[I>DM29'FB7I"_T5'\OZ/+#!O[$TT@"GM&7B M*SBT38,,5$#$N$;WZY)-_//M-#>O_I2GL-(\'?I45<0RV'5:M/:V2C+H$B(* M45,#/A;54O_*)'RU/'J0.-4R#.WXBP_.#$YEC.Q1N?%R);9X3U4;(?2 MTVDB#UPC):EK^'LF\]RALAY[KHB2AL=16$,2J!IR(B9^:(L0,M)8;L1PCPJ*BJ.B8Y9C]H8FQ&!TPB'T8I:R]BASA-[ "/666-HXB+T 3*1 M_W*'@V6A!@_M)@U;.>QAUO6>Q7^VW_*I$,GB[XT#O1/C>J]( ?3@&,,HHE^ M9J3&:8NB)=KR>L5^H<&Y*VSD;I[P"OQ!XP #^8*Z5ZWB>3L]],?W KF22'P/ MT#@GK][[L["F/'E^5-0B6C/6BZ2"A);Z!E=?[I,*0W/*E++Q/B_:!C!KM5TU M&LVZP:H6U9"M5"4PR.]%#-J&=4E-62$E 6]]'5/-9G&T-ZK%U+SB0P/_28!# MPC&A%1P*^$]>XY;'?Q+["&$J/^-4'EG8+6; VN.*\+2ECTV3=>!FUWPHZZ9B M3K-S\HC+I&P^Y67^T#ZRWY>,#9LSW6/T(.39%Z5+AY+%4K(B2I=W MDFVX9+,7DDT&G*!#6]4ME8TLYY_!S"9W%6;^I"A!N3#6D,10E5=\F![^95>S MTJUA$^=/J:[@F#V"SO>6]GOR \U-KO^<[_$9>\4K=+23#VP:]4WR#&,$6*_* M&%:P>A>QANO(QJBB R<;^_+K02[Q_0J+3+UZ:ZJ^]#S95DV]"6QI9]MS#KMO MRK:K9FA0+OS9= N.C^M;CCBR2=./6H%@2+M&4V"L^ M+)\F\@;.)5E=Q.@%MO_/(+$21OP3[PLF7OT)=WK]^$\9L0DU^4TC9LE_ )^: MCZ+[S61RG.$H;M.)IZAYSPH!NC*5N'LKO,<9W>R*@0E">+_'Z<+;G;"YQHL3 MM)QOK";U=6BU*'_5_RN%_CZGLP+GV3PI]+1;=32W6KY$-50A-&A)B[(!X37I MM?+4+.NWGKQ?\>'UIB+T>-X\PP.7AOX":C,='J9=$D%IK^ P.XDQT*%6TF?A M5BR)QS[5.I1*_-/M)#.O_I2[O, \G785]>/4;@X%_I'^+_I'^2?Z'[NDQO0O M_P=02P,$% @ /()P5$FJZFEH;@ &.T) !4 !N=W!X+3(P,C$Q,C,Q M7W!R92YX;6SMO6MSXSB2*/KYW(C['_KV_IG&8D!3]_=N4?/N_ M_N?__7_]Y_\3!!]0BFB8H_B;Q]TW#ZLBC1&](&OTS7^?W=U\$WSS[OU__/3# M_.,WGQ_.OWG__?OWP?<_!.]^#H+_^9\)3K_\!_]_CV&&OF% I%GYX]^_7>7Y MYC^^^^[KUZ]_>WJDR=\(77[W_OOO?_AN/_K;>CC_:YP?)AP/_NF[ZH^'H6^6 M_OI#.?;=;[_]]EWYU\/0##<-9(N^^^Z_/][<1RNT#@.<DE&*PC>M(_A/P7Y8P'\5O'L?_/#N;T]9_"VC^C??5*2C)$%W:/$-_^_G MN^L7WTR_;O &_2TB:[;F^W?OWO_P[CL^[CL&PQRVD8Y:_ 49S5F72+,'LLSV=&\Y)VWZ$DS_A/)1;!]^^"_3F@^;_N M:T:[7?R^9[-9&O_7@G-9O5RH'O'=)J3\FHI6.(GWLQ>4K-7%'(&1AGUX)++D3)E$ M-UIH ^!:TNEPCD<=/4PCNJJ)3+V8.O(2]B< 309,@G=3)0%4X+O"#! -@PRL M=#W3[C^_:S1HAK/G4G9!!.]^Y=8,90(XV05QF(=!D89%C)E]#C?AH"OIL-K4 M8/&&FC?4+%#T7<'#J,'R7_L3?V"8ZW1!Z+J4*FT6<[?)WASSYI@WQ[PYYLTQ M;XYY<\PN D7T6=S <#PYI8WMRPP4US!PVQ\ MJ#KL=VA#:([3I3PZV6&F-[2\H>4-+6]H>4/+&UK>T++3T%*^SK5;63_S-+UB M720\[30@^0K1@,UBGUVA-,-;%#!X%5(6NZRJSP[K I9-,F^2>9/,O#WB33)ODHE-,C7M2K<]]ENP M"#$M:ZI0L$8A1ZN\#10M,.DZVFPN("3>RO)6E@6ZO"MX&+5)KMB!Y[G>Z!G M3&;T@N9X^\K;5]Z^\O:5MZ^\?>7M*SOM*X6+7+=Q]7.P)"3^BI.D;%6!V9?2 M)6;;&X19AO(L4#2RP.MI,[84(?)&ES>Z+#!67,'#J-'UH3[XLS2^/AS[67GJ MX>F'W1;Q9IDWR[Q9YLTR;Y9YL\R;97::97UN=MUVVH_,<-FRGPC%2#7PU3A7 MF_TE^+JWM;RM98&-X@H>1FVMZ_J0[^"6%62*MZ.\'>7M*&]'>3O*VU'>CK+3 MCH+?XQJMIIA$1?D/'O1!)>MV:YH!7$B'/:4$RFC&U8R!$',PKI)PV6#(-/Y] M9//JG$LFBL)S$K_6?=K^/#9$!>7'[(H=B3#Y)PKI91I?L(UL@DXR=&1(+VJN MFJ5I$295768#E*)AFB"L*#1'%)/XBOVNR8R6CM4**]]-&*1O1FJ"\ZC+49N] M QVN'^(F6PU'WSA.$TP/M PS3"GD/3DMPW5!2G[C BZHS^/#%&M M"<54X6@N\5SA!GXKU(Z*M0+X=H@TR>L[DS9*9YT+@WHS2 M A\O-J2,]4L5K12,Y_SA [H3"G[0+$WPYXB[1? 6,=TMK$^S '#1<"T0SXO' M!$=7"0G;P6P8HP6V.[3$W,V4YI_"=?OV-P_3 N']"B6)3" U#=(#W3I,DK,B M8^IEUG[E-([2 M]#^'0=<[_5 E?O6$J$IF2\%IA_)PD3+2&MA&0[55O&:8'Q M#\9O_R=ENOH]"C.2HO@ZRPH!727C1X;Y.EK0&7]=A=!9GJ.L[S%EH!];XXR MBH0D(HL/3)'W;E!$$%X'D^('-T@!"YR#J?*C&U0!1L#!9/G)1;*TA-O!1/G9 M+:*\#9Z"*?&+6Y1H3V\!4^17MR@BR$X D^0WMT@BSH2 ZVA.Z:UM(2XX.9S2 M616"5' *.:+#*KCWX;1Q1*D%)@S!Z>*(6@M*3X)3Q1&M%IY9!">-([HM-$D, M3AA'5-WV;'@X*1S1<<4A,C@Y'-%OQ7$YN*?-$;U6$&V#T\(1I58>%(63Q"DM M%I1, :>-4UJL,"D&3A.G-%A(QB^<-$ZIL9#T2#AIG%)C!2FZ<(HXHK]>RM(8 MX11Q1(V]A";"PRGCB$8+S1^$ATX=T6TO):G*<((XHN!>BE/?X?1P2KN%UU7M M"?0_Q-1Q1)=KS7P$DL$1O4V8;PDDA2-ZFB#/\UEVC-[V)")I1A( MD.(Q7Q3)+(IXR#2[0Q'"6T%?.[7)!K [ND;G(;VE9:0F+M\$F2-:WJPMJ"G, M-(M7I1[,BGQ%*/XW>IT*KS##!CQ*)QX8AY>C;8"_O69>98H!3.9[5:#+85&; M;!P[X)&!3;($&^'!D4^P! OY\0'.\OUK5:&^71PZM\Y)E60G:8FL,M5WYK6D MR29DKXRWY_4E=/H9X_2*YWP#VFX]JKM8?<[QBI!"7?1A>(C(/0J)=6MX",!5 MRC3IZF"J6.KY[T\5:4ADJB5V:J11]E2!R6-IA* S>082,Y:F<_0D2R\98VD^ M1T^2 2,WL#2X==90!;L)P;IBB1L![( _57PMO2#Q)JZ?D9[^*D?H!TB4MV] M$;<,",HS/BA:H33#6\0+U=;HAF39>9BMKIA._0\4+]$'9FKR7\X6.:),G4[" M+#M4:CV$3_.PH=7AR%\QX+T183+GOV#R)XW+4;S&A+(=IB4KG*$4+7 ^3\(T M8XAT(%27Y;V_4=W?>']T7B_+XPIW.,KG>H^C)7N?YC5FPAR= M\O.#V5I=5?,CF7(4DGWF*/ASOF-]QILT7NV'ZR+^"6#_!+#/P/ 9&-X<[D4) MQ2> Q[W[=1MU[X.L6*]#NBN]^7B9EE8G?W>WRB[!Z3+8,!0CC!1"&YV7UF80 M=@?.FXM:S,59%+'S'M_@\!$G;/F/J.'I#\!(QRS7%A!+1],-29=,Q5KO*<%8 MMYUJL!E#@%;DMXNJL>HL_K/( M%^M&4%O_K@LVG(IA:_J[)MCN>,^D!GG1^#>=,+52J^&O)LH"#^R>71%Z22FA MYX3I3!&_\QJOA0XS#>!U5A6LWO-ZU7WU= -[0(=;@H%P0^033&!1,!68Z36- MQT \:.H^25?P,.I;?257LM+>P82^OJRS.W10ML]V1S_4 ]-XMN8JMD &C/DI M Y2["=/X>KVA9%LI@,(3*!YL GH49HBG$L!1D,\P@,?',%KA%-$=8PN>$K%I M54059A@IXB0;1/,=#[#GQY"=[?C;%H)CI3#3)KPX;,+K5F&FB5C%LW=A=G N MS&O?@BS2I#;9QX]\_,C'CWS\R,>/QD&^V85!)%Z$J6.M12LG/=P9KA!8ZOH@ MZBX&5VBCHKN2'JJA*_22QW?'-[)=B96/+?C4 A^N4%7.HO.$>09QIZOPAU#\%,;^I;[H8[_8X[-3Q[BD/1,$<5SI\=!654!>U*ST_ M.M()[ )WA9_D6@DL0#WUJT;%)@6G8;DBC\%$43]G13]G%FM/MI_PIV-0QOR!,X[([2IA@/1P59;^9KJK M3)WZAY(T)5GJ7_SKXW^_LFG>_F%D%Z5WFMKJH>Q1H7Z/EOSS'Q!9TG"SXKW3 M&W<8-%87S'NB'4/24ODO'3MU5Y$K>!AU>;5FJ< =K5V6\,X][]SSSCWOW//. MO?'R=^4* %'2;J9.$U@B.U!MFKI/!LP@;<;6U G@G5+>*=77*=5=\]7MFOHE MB!C%<1Z$2XI0!Z=4^P+:W%$R$'S.W,FY?UI _ ,E2785TB4Y"],OGV;M.6GB MD;[OI>][Z6#?R_-2C%Z%45DV(L@(;!]H'&IA3J9HJ EO(7I4<*=)1D_=V^D* M'D:]MEP-OUV S[%LN"48W'#UC0I/-G2:"8Q(&I/T.LT1?62ZQ.V"63DHOF-J MSLWUV>V=N'^CREP#N-VA+4FV.%V^I+P0)] <'P,MKUXR^GV*11HED3%*G.%'JWW&H'?(Z[0 M0FI[D*[:O2L4DH=?8/:;*Q$Y",> G;>N$$7.)*?"'C!1HF!]GDX85VQON<(@ MD-NW@\,%3)[)]MOR?1R=DPVC]W'TK;%\:ZRI*-J*V3V@0)SN1)Y?@X0WTE1M M?O5ZFK:DG>8/^U0=+:DZ-RC+$"H[K\KCSPHS',LBLC&\[ H>OI^/+:&^:=W9 M/@3E0U ^!&6KR6.IE>]-GHXFC[+NI]OL>?=]P,B-MVS]+0IPRE HRHN@[$RQ M0O$2I\N 886W9;MO1?.HZ_+:S*A^ 'ISZ^0J(P9+7=XSW3E)2V#XVQ7"!"G( M%*.87!].SQW.O@C2TR!3+,&$OY#VCTH*S Y"0"7GO/^21BB1X67*CDL\RVI0 MG^$7)JX*'D8]"5>$(L8PET_1BD=3V(]?0QH+60PRQ0 F-;?O#X"X M);AXL!70"^\BV7 #&'PB3!/;"Q\A PE&>E^:]Z5Y7YKWI7E?VKA<(;G_B.I- MXPI=0)81Z6(3ND(AN0L2HENYXI"%GR-EP\P5$LD9!NZ.<(4FJF(&;G)-/:]/ M_6!)K0E72*(C_C79%%\?_Y*D_ WE!]4>('L74)1C6OUJDX3*[V,*5M 7YI+! MX"-96B)9%VC!Y$)<*NOXL>#;RWO E%%W0K@2>X + M7S6SQ96.%$ &ZN2M=$7\ !YSL_X#2(CU![ MK/=]D*T8*1Y#1LN #=\P-,J/J89\I0OIB_P"0?$!X),K96P!\0ZQ)7&4H_@^ M9T?R \0;>+ZS3&6QP7+U])/8)0.,X4K'_@?'6' MDO(RS59X\T $=UV/%0P$BDJA*(DJ-HXQ&JB_79P?Z3ZX"G7$5 M:![NRHM36KD]S*I33UQP!0_#"1C/.@]GF6:5!#C:2+C^K2IW=_]9\DH58(Z) M$/CAS!Z?ZAFE_ XLS_#9[LVY+D7=L[QC6FP2II_"M3AM8?#O3@U_%II5>Z+S:ILZ*>56*QG *)PZE>"!%H&UZ4HT4GKJ0):!*]3P MSZF\QMD_I^(>X;/&^7,+\X@P3F>*51IUZ-X. M7$Y?,I,20#ZE24M*TPWYBN@?.$G"-8"?*(!K*Z8&2]^(.#- -0WI L>R%^SG;E]5R:%?M?-REKW1

66ARO;]T8VW!(,A!LAG^!SC'R.D<\Q M\CE&/L=HO,"%T*XDO8RWJ9,'?-D2]4O-%=IT4!))!UW,%7*!;372W19RA5;B MN++<'^9"6%DFG94\VE,G"#RTJ.82<84N*L*EBRO<_825OJX/5SBIVZT^2$#( M_100-1^.*RREHD2W^4_=SXT9+CWHIZF2P*<'"=.#^L07M6<#_1A0Q [Z,^&@ M>3]O)NK+\&GYM,_E\>V)ZI=54G2_V9PS18:L47/K'.DX;1UT_B1T#T'6DEG2 M/D@3E-RPO5V\ *,UCT0ZUDC>2!HA_OAIF::)LR]G3!ZOUB'](HQ_0:=9@='N M )P@*@F=9@=&DNXR@!DVX/&VM;D,C[9FZ'KQJ _O&^B$B17 65//0G(%#Z/9 M5'>5%G?%E.W]T]2\L'G/0K(\/M7I)J+^88*R&LY/2/R2D'"LS[/P>18^S\+G M6?@\B_$B>0(KBRB9-E,GAHI^33JHL0[3I]F8$A%):%*Z0BFY+UG-,'4EY-*% M@P!ZHBODZ<0V;C< 4I7)*N:X^]D#$&?JU#E%KLH ?=_NQ_E]JP)(V20.5./*[F"A]'X&+M]4);CJ"PQH#LA5PG'FJC )Q3A M90H!7334 .37I2[R$#[-BGQ%:/-M#!ML!?3"U /9<),8P#NZ0*:8BD7.TOB& M?33YWP7%68PCKC6+X\"P63XB;#8B/!*TC(G/F>6,\V/=0"" I.-MP4'Z% YP MEH_2^RC]:W+X*/VQ1]/M*/WIOK@BT36)JE;G"EWD5R#I>,NX0B&Y^Q]BQTP] M,*9^C@!&M2M$\4^IO(D3^Z=47,,;+@^!9M74#T"G*U3!@>T*P\"O#"7OC2L9 M%G#RR'V]KM#$9YWXK).N62=P?[;&3).,G5N\P%'(_AU&$3_!.%T&&Y)@WMK@ M\(\]@/+L$]45=62D=(/)9ZEHR5*911$[H/$-#A]Q@G.V#7.^';NV^)#:I $ MW.>(S;(,E=T_WGP5 '#G109 X ]"OR":';]J=)TR^<,?RP. WF'Z $ ?G=[. MY_@8BR'6,Q!VF1W FM? 2/(>Y!,,8'%69$P7X,W-UH\XK5XXKEBG!0OY!".) M0=F*-_]A_[G\J\#;,.$A'?$)ZC37S",L[,)=L0..MZA252"RK>MT&UHX5,8Q M_U8>&PEI"F3MMDW@:DOY8W(LD&68]E[/ T^$!)_Q4G" +QF M)DBZQ,S6K52W_9^$UY?R?+MP?/US5US%ZYA,0X.QKFRX$0QX!T]"@?>R;+B) MIX.86H?0#0HSJ-@'S##Q\ [Z>J1K4Y+RYKI5EH^*YM1U&0,8S[EZ1U)VT&_S M%:)SPNP*E&-:0CM/F""O1X@%1M=E3&#\DO82TTLR>JKP&TV7GU-,*%.2,(GO M4)2$658:[*6G./ZSR,J6K!\%^VH=9Q&2,8DPVB^8Z?A)P=$FXN;LJC M 9(GJM.-M B+$-/CF5H O #D$\PU.F.PD66*X<88>)Z)M.K# ^?'WK[;\DB4 M^AVWAYGY54EID9#OL9)/@GJ,5,/0Y]TTKC.A S+T[Q\0@;4_CHB"31*Y@II /B2+O$"5PZ1&GWZ69.N MY$^JT4RDV;F2'JA&$6B,VY7,0449I!XP!Q/*\D>:U @%=8Z J?.S"]09(ND* M3+%?7*"86L@(3)M?7:)--^14THY- $/3AZG5/%^F0UPHCFAH0^<'PBGGE/: MNF(T&4XEI_3VWM%H.-V$TTO0/0 M&T9?A:VE"KLI)ZGO!LK*;X=A$+TI=]$*Q46";A=O'09E_H4L^U-] :-8OKZV MF0Z-(Z8Q7^"DR%&LB'*GU7PZJ)/IH"#6L88C.D +*YN85CK1>*+ M_02G@_I2WL/A/1S&.<)[. >#N!]YIT9WIGAG1G>F>&=&2JF>E?%R16N47/\ M#*%LP_-(IDZY7I::;D?0CP&N:[ ZIX:(EM#F])$#X5T]6EP]SW+C4-Q7I5OS M&K9/I,Z]SH4F0/^%QO19B5@-Y*F2\ZJWS[U]/BUH3\\^%YYB;Y5[J]Q;Y=XJ M]U9YN[TTE):GVV3Z*=C4K1F",(T#M._+T,UZ JZFS9!2@L?;5&;#Y\#- EDE M2ANO51UM[832N3^U#4JV-[NL-&2F!>WIF5U0,>4M,&^!>0O,6V#> I-'K%3U M)-T6U\_!LF[)52FNJLT"ZP27M\3,6F**FP:RR#HQ@J&D M5D%R@&+AKO)*1O'>]PJ$X]1$3UJR(O*)JM"6O?6NG&.\-8ZP%I7O<*\U>ZM=F^U>ZO=6^TJ&;H2E=(5YE A24X?>]5T>+5Z=\..(!T756=FO(R@Y"=_SM MJ"M"RS]"6Z\-M=P@2!W>Q&AZDP:"1H<%A@.\_M+N8\AD$/LO&Q $ +1NO M'Y5TW*$DY'T^R.T&\<:JZ9)1C$E7_@A"]3:)'(>AUAS3U]DBLD ^3:&XTVJ_ ME]0[)YFX% $XVGNDO$?*.$=XCQ3 (]4F@+SGR7N>O.?)>YZ\YTF2L=_#+'"% M5^3>%9"ZZ+ZSJ:M9!J:,Y6].2"DSD*, 3"_+7XB3T&M8XUBWG_*W8!%B&FS# MI$#!FH%75(^U=71<0I?3YLE4 \B[-LTFK$%W"^354=MZ4REJ#,3?.81-:LO' M"NCXE@F5J*"4R1+>OE6VX;WB7DG<([U("N)3 TL_[F+R/R?N8O(_) M^YB44GF&UJET&W[OW@<9?P_BD3\*S)OY'EX%[F;Y@=?39OHI0N1M/\VM^#ZG M6Y3E*+YC_Y_BB/WK/F?'XG.*R_,T1[3TJ:01*A\NF7T-:9S-HAQO08D7HWYH M3",8S+<@*UCQ%!@R@R^9-" [A.X1W>)Z']X\5SY+2NCXP^6+^KWW?R.^?9C$ MW*VM\%;#2-_SYK$WCXUSA#>/ >8Q7"QZ^]C;Q]X^]O:QMX]5[.-1%2Q76 O< MAG(T"T:[U^''@*(M2@O4T\6,KSAYGX?D4$M?O?;B QM VIW.?\< MA%%4K(NR\4E >$.4,J6:HA63(^RD!(RV75W1G1;7YZ+N 9YW76NN.#M?A>D2 M9=?I['G+RO8]Y\<;5HGU&[9K*D5FPZP]JJ>^$ZO"//@]3H'FQ+,H";,,+W"= M=USDMPO C@%ST(9K^G]WMZ MOZ?W>ZJX"@;0J5QA(' YW9"VVNEX0,J8@:^ES M1,&A\7XGPRF3D*V"^5W@FV[(D7!?@7>'-ORYOG1YU"C[;%?_$>Y Z+2:=QQX MQX%QCO". XCC "3.O)_ ^PF\G\#[";R?0,5/T$-UTFZD_1K\5824B=ED%\1A M'@9%&A8QYL[D;I8:>$%]YIHB2-YF,VRS@?<+9K@I;K\AZ^V_]C!6[Q?A,#D2 M&XK!WPYK>NS"-^=V0X,6.F9T\,X@_**J>#=YG=1UF77_XO(VG)Q^\6*]#NKM= M_+[?I5D:_]=ACV;U%@&2O_LL-)*QVH<+999K?P[WIIPWY:8%[4F97BY-<=FB]K,(4 MUH^(WBX^AFFQ"*.\ MX(^]7H51W=B@$4;Q%)C&.9*&O(?M=H-HR-,$ZLR -M.I=;Q1++SE-]D[M,LI M-FYY>$7; BW3*]H6*-K6VN#@BVH\+K&.-EVT$=V6Q_L@J\RE@"R"#"_3LOR, M_;5V0W&/U(8D..*P]K-+AOB4-JME.&"]3:/%IF%F/3ODAZ9GNX^(G[LF^T \ M<@!0S@CY!7E#YRO[E"$\);?O&=APE_+!Y3.$8T82.5SIO4PH0W8<^E!=Z:LW[TAZ9)=5.NCYGSMG J;,01H MO-2X>A=V%O_):,;W70"7?'A_^RZC^9%MQWYZ;=>Q7_WK8_B$U\6Z$=36O^N" M#:=BV)K^K@FV.UZ@WR"C&_^F$Z96:C7\U8 /X9G=LRM"+RDE])PP#37B>D?C M5=QAI@F\V)4L>..!(J_?9;H,:<,+8KD!B_:_+>0J49E2=TG_;Q@FY5&NP<:IEE8 M[MH'=KAX-YP[%":\,7$;AN %@M0DHC=A&E^O-Y1L2PYK5G-A@TU C\(,K4BB M@()\A@$\/H;1"J>([MC9OORKP)M6S5YAA@$\YI1L$,UW0G>T>�" MV:@PTR:\.&S"&UIAIDUX224X8*91 7[TK.LY27/*9"]W+NP]#='_Y%DP[K&16I/NX[_C0_D'H%T0S;A(A=K%7_NS:4UG=^6UV%F"FT8,# M@(\=]T\DC?JB^6(9:W'NA:DJ?M.*1OLL!9^ET(1\LWN22#R$4\=:BY5/>K@J M72&PU'%'U!UDKM!&Q8PB/:P45^@ESR(:WVGG2D;6V()/+:CI"E7E'*KL.G&% M-!V%'<2+"2:1Y?W,V[E'$$.>.G\(]4]!/'_JFR[&NSW'8NIX]Y0'HE DF#26 MOU+:551"HR5@.EG^/&E'.H&C,:[PDUPK@:573/VJ4;%)P6FMKLAC,%%4,BA= MD30Z2GA^FBH)? E/:PG/$.'(4ZON$2?RCR=NK:-&C^C]>)J+M53JDJ4VWO5D M+9GZAGK'N\ZF3++.5/KY)*@T #O]X@RA>B2;@JGUJS/4&J72 4S'WR9/QS%+ M]W075O\0/!890S++^-/&*:E M;W'&_O&BS?4U4TIQF,P.%>[E^[*,=7+T'!%E5T",F-95>E8D5;AZOMPQ)[:% M6A]0BK;AG'$]E]5ANF.@M%?"RD>?5DGW/*1?+M,MIB3EWV$N_R?%(DS],'S+,%)4-$H'FT'_+46$"[1[>)W4DD1IN*@ M+,]JLK>55'5;S&Q)ZEO1>@3]'2I?##\G66MG.?@"MN%YSA0+')=MADA:6B25 MSOL.CFGK$K;ARJ[+*WY)'MV5M9N6/PU?R9)[S/3AH[V[8#LWBQJNA-&^8Y1J M\W!7!H\?2 WH'CV4?4+,)C@/LY7D_*LLX1LOVE* ,ZV\4%_2X$L:A"%MB8I% M.NN5KE (D!D"45.=20R1,TPWV\J9)!$@@: VO"N,HR,_Q'+6\/DA':(;PUC) M)Y0A,H1Y<8(I)-T]$R>823*Z+7^":2=]'$8GE')B,L2C.YK[4["I$]O*Y]K0 M7H7N&$H3!IW&C16%\Q[RAU#TM+95SK6ID9A3#5N M<]<+IGCWO'?/>_>\=\\/A3Q,;!*E.V'J-(&U !>-E/WJH(9I$U5G3H!O%O9 MNY5[>4<5M#G=9O\O0<3HB_,@7%*$!C#XX0MJ,_550?)9VUI,ZPOTF%^G&3N; M?$O.R18QK32O>\QP=R1)<,P]X?LJDC.T(!3MXR\/X1/*+A!C%J;)EK*C;'Y% M\_H=YB:;?.1/#OJ8TOZCET^\@@MQT-GG*M4=EVU>^Y MVJ!(U9UT[E&*";U!6T3#);KCQ+M#I=^>[TL3_*")I_K,V!\H2;*KD"[)69A^ M^31K3T,7C_1/6ODGK1Q\TNJ\O/WK%TF;[CGY0.-0"\LP1$,-0/[RECT+,YS= MLSLSC&_3WT.*N>7 )#=JRV:'3C?J".5 _H'P"&6X-4*(&ATRS!J-:PS@BEY"MCGCX13J Y/GCLY.-*QQJR MX.9M&V888N$=VS[0!^E]D-[](/WI/@LDL!"(BA?$%7JT2F\"EY:NT$)J0Y*N M5IHK%)+'[&%VN"MI'!". 0=+7"&*G$E.A3U@HD3!QCJ=W!^Q5>$*@T!NWPYN MA?%*^VQA$_]LDG.R8?1GD_Q+%/XE"@=30IMT4&A$Y83Z"W1/_3JAK@(F,AM/ MJ _!P.F3)]AM )HJ?L^HENUD4%>NB;-8F*#SKOI#O]&%+LM:T K\^B<@G$9EV M6EL:I_%.ZQZZ;_\;3+?2^^Y[IAY2O WY>X4!/EB!6=GS;X7B);.5 _[3D M0Z98@DG&..D"97B9EA(_^T]QV'M=P_6_>^@9R&4G8&&%:=MP MPS@(*"VL,%*8:<)D?_FD,V\^?Y60KQQ0M.>?!W+&M(LH";,,+S"*+PK*D/C$ M)."[]Q^9(%FUG=)A%C>Z[S4*ET_1BJ?NL!^_AC06;CADB@%,:M[;LZ/XB4?Q M8"N@%]YTLN$&,/A$F+ZW%P5"!A*,],XM)RL1/Z<457%^+A)OTU>"\_E&K%-1 M'L*G%I0ZK 23K]-RWWBWGG?KB9PXDON-J-XDKM %9%>1+A:E*Q22>T,ANI,K MOF'X.5(V@UPAD9QAX,X,5VBB*F;@)M74BT34#Y;46G"%)#I"<9.M%_.A.$&F M'LR?>$*U(J/YE4^HE&1 B_N$*D3&=0UKCYF_"RC*]V55FR1,>X?%X2OJBWRK MPN2#VUJ"VT>)).43F?S!/H)VS"*PX3_ MK2[%>NM/'/X#@S:"'XS76S74LEK1?$#IPXH469C&%R1)0CH8IK"5!T7V BW8C1$??X"_ M/> MH!\T80# FE!_)AB[R?Y8X6A54_0/G"0E56?Y%5[DNWI@$_Q#K#OH#G0%Z#9% M_RC2F"DE(V#[9O&!7ZY(_V+W5ZE?W!TNN?N0MZO)Q.RG.-71;*8V4 N.^^V" M$2G:;SBAN_K(GJ&4_2/G1&J43O#9@S+#[6*!(W[-/7-H]]/=>;%A4>+W]@U) ME\P26-_@\)%786&4M;,U;,8 H,U#^H5=,,IB7V7> & ^'VV^?%W4W@17X\!! M-_,>)2C*FP1I=S;MNZ;1[)RS,.%9UORK#>).."\NOXUY!T;TN)^UC*97(::_ATF!;A7JON<5I_3.DS@ M52(MB:I<?JVAJF<%#B-'3%&QJGB M@)/1$7MDL%1M..4<,4"&SAZ&$] =NZ1WTBN<:(Z8'J!,>^VUP.^#;,6P>PP9 M>8+H:#/[E@0K+ZRO,K@C:+Y 6$N!,']>B:3W.8F^U$\)WO/=RNX8%] MBIF, MOBJ80H6NF5K&0RW/"L3O*.-:V>WBZ%VY^?TL*Q4X%+]"8^2O#5SQ-[DBNAEO M*H]*REZGG&3L)VGM7.ND0:G)]G!!Z)IOYXSW9,KXYJ+X8Y'D>)/@E@HNV:1! M063\Q[02;D64Q/BBPS1'4;)]@9OTF.-:$9I;SE%S]G9[OG(?-PQW]5@G+Y5\%DYU&#FM(? M^; *T]O*U&2JTY:AQG2H\FS,\J,=N5TLVV%K^KLFV.[X MD6G0@AK_IA.F5FHU_%437 \X3]#MXIKI0EL<,[VBA6["<:9@_0/GJSN4E)(R M6^'- Q$HYCU6,%"*4-WHXKJ5QC$&8%76R%OP45[':-'4WAMUSV##M1[VYOX^ MW+W5)?= &%+'?^?.9Z;O_Q/E=X?P9>6?9LC6O^+CWK603"\0;M+[>:5JTFO] M23?I9? 8+A5\:7DT*W? T49*Z][:'G?WGX58@.:8*%<;S63XP);(L^NTD@(M M9-'U>;-O[FI"\M4;[^4?+\(<'7(-#&^"%#Y'=^GW4GKOJ5#*;W-;(@)FFO2O M$;M\0C3"&X';-PWQIAJ-1J*WPZ4G3=EQ9[I#$KE$YB@U4#K.12/;F.W93 M+6M#Y]D*3>,RYRM>&U(PC< M3[VG@1CO]F2*J>,-/OH*@0Y7FCNTTF283#576$N&,F69OY"]^,Z=M?=N7\PBGOCGUF M31D.G/CNV')FR\_@%#\A0W"DHIMG6FMJ<_0#[_.SQGD):\!4_("W'F9Z/DHC MC+*^S8XZ+J^OY5$O 'WC(RV-C\Z*C)W5C!T:)B]H49ZCZS2J>H:%R9R2N(CV M(JYJ0LP.8$&Y"LL%&].H=J\ 'FS=(!VRF\=EEN,U[Q#,OWB[N)S/JI9\_/F4 M-8H;L9#-&;3=R.%C#WB-'@@7C@G*T?Z+[., 0"5S!P7XAGQ%E+Z,4^>C3;%DU9Q]F)SM,DMT=RC;L&L./"9J'E+=3;X04,G'0C=YW+:]E M^6S-6_?.0\RU&WXI;\H&@P6-5OS*9EH0(R8[Q AOF_N?]5EOV)Y0]7:ND5YKHD6 M%>D64Y)6MW1Y9^!2(>2L(>CC IUF&4;"(C_X1 -876':?+[;!QB \H;?]#2[ M79PSJQ7G1Z&.2N:WP"Z;9K1XCS_'<7YLQYSM2I&/&+B'7S.D'@E2UJ3AM7Z*(B7+HX M2]VOE^SKR'"%D[K=ZH.$#-RO0%3S5+C"4BI*=)N'U_W2S.&J4Y6SJFPA@:]. M%5>G*@7'3ZA"M5-:RZE5HW;-ICG!VM+N89X3JAL=+R/NA.I(!\\<.L&24-7 MNO:4Z1\#BIC.6[!_]DV/!BRE+Q4:#(Q/>]:2]EP*7B8B+E#UW^OTKMJ?*W:J MRL>YPRCG#2;/F25.UNS,L!E)49Z4+&-2G.D&X=,KD =<^=3?\L'E.A)7VR?9 F*+EO_M6.M29+2L<:>26N M;'1$RWOA#F=?SIC.NUJ'](LP404ZS0J,=@?@!.E#T&EV8"1Y@Q PPP8\GOL; MM+VD)YIB-,GN#6"6E(6+*!U:JE8XX133S!1JY_;^822M7HY? TFS+P?+F&F M=2D3"3,28'S"C):$&1MS2'1&A2Z?-F7N[P->EX_-W+/?9HNP3-BLVHVV166' M6MYH;*DW$FS;:=ES6Q"('^^Z8&,B7PA;T]]UM0[G[]NTE.:\ M^9M.F%JIU?!7$UGHU8/0KT^K. <=,L< +NPNX<]51V7',KH3XB <:Z*1^F*! MRC??K\N+FXFF.R;F>:H'MDZH>+-7OM()UFSV]4*#23;]=OHCYEZ J>A.8_WQ@D':TXY_#L(H M*M9%PA] "0A_<"%@L]AG5RC-&*,$C.)9D!7K=4AW 5G QN\3?"N*KU#.2)(< M: G-8C8"G+ZD:(/H^1QK+3G6L^?]VK]E\KQ;E50MK_EJ$/O=^8I[O*[33RC_ MP$C$_UBVO@BSU55"OOX#Q4M428Z6!PG&_>*@2=) 4"_8I9SR'Q- MM&(FAVT<[%-%W$\5T>F&M3RXX]VPJHXB4RK,J3ET]6K4&AT $4DSDN"XO*8. MO\[X!18Q6(,% [:[!=]G=1TF>'_XO T]K T]D$H[IR1"*"[/W+/C$BV*M+7, M!C+%FQ2J4-\N]B(OFSUF93M*&?R"*=XXLD1!$^V1-UJ\T>*-%BN,%D.4:-2C MU>]9W7&P'X+'^L%V[JIYQ&GYH2P(LPPQI3",_BJ8D10'81H'2=U'&:/R[\6: M_;YVYB@&N ;^JK;(U2AP>W5:2TCJK-ZY\^>->VX$?AVS/<8+S,79K-S,6;V7 M/%OT>2=GU4:>%Y269_[Y#U6FQ=%OFJ(%NF$(WEE*P.=D'][M7B/56C\\$5+= MX>6*::*?LWJJ7GJ]_OJ@1/N 4K0-YTP0BPR7ZF@%M;A' M 'B>)3BU]VV0C#8(_Y%$.V=?=HVV+VU97E25S<.=( :A%09GJ'U1 MNU-Y2:@N>?'FFRY2L]V/H>_#SM#UFAG.Z1(?!I=WRL,J3#\0$G_%R>L.W49@ M<(C:6S:>T)T6JM;?@_^\6EWQ>(Z_HT^LTOPU8G3\Q-)HS<*32F^-)"U M_>/.G/@Y)1M$\QU/'[/T\&H@;^NWC5)71SR<(=I'.,QQ4*R=.]0"$C5[+? S3+0SL2D,V*(&@,7Q7&,>_CNDS1Q4S M1W4%&<>CZA;11Z*[O$T#V4;:)'G\++;;]@PCN?Q>NWY'=*3 M5C!>%T"_@^,X)\=K0NCPCAG.[QZOY:'#>V9%8!J\<[_XG1MUYZ2),."=^E6Y MS0CA#P/X?>J1T>R<)TJ;\T$::O<>B$ZT&U<1AV=#>J]$U^VSHC+4^RBLV3YP MB>IX7HN):PH&Y*4@)\^[)OIN5&^CYO1<"-V/ +@JTCL#;!) L&H [P:P:<_@ M>;*ZVP+]'"SW,I>GS.&#NVF?49=%*Q07[&>R>![:K1G0(-_2U@)H0&A]XQ\M MC7^FW<1C$'X#M>X8D+.--[?P#3O,-NR %@/\. $8?[( QKT:<5%0G"[GB&(2 M2^ 63?&E%[[T8JC2BV&N#5]PX0LN!-:6+[@ $,877(Q6<&$Y@7QA@=6%!9M2 M^6+?I[E-K[S(M''G3@>("G*]>;PC4S'*91I;S28_M9'#%M_D\X-T*,OQNGSI M)EP3FN-_ET %J$HI'LUAV14 B[R8_5#PKDTMKLT>1EG7_1W(E=B/O;3Z *YP MBG-T@[=OTVYG1Q#ORQ06.:+_1"&]8A-:' 8]5NSVKJX12GQB0N#A*TJVZ"-) M\U6;OZ??HA.BQZ!,,4%^*$$F15L#HFZ+30S_!_;]X1B@7&UJ%/A*AL/_*[$5 M^T^HK1.4>)+1AF[>1S]9SZ$Q?]?OK/:S6C=,]+CJ/CCL9(C!&Q1 MC<9S6[I$MR:5>L1""W=#>>\LRO$6\N+!F)\R M0;FC,W*[>'U;M=% .,FH%_@\W&">:\85DQCG!;M;KJNZKOBL8/R<_Q/E\Q"W MY6NK3C>"8;;B_W?4E/(.,3["47YH6/GR%T"OF#YK%5<49AME63"!* M[L>AEC5 D7W5=G63/X1/M7E[AE*TP&T( V>9B8@>5.,YQ8STFS"9A[M2>6D/ MB+;/Z:BW#H3.@< HXU=P>U"W?: 9J%^)@WWOIGT/5?GSI4IK!.EO5J(K?CQ4 M.L^H5MD(W:LF3ONM>.X8)'V'KN^REM&$&86E"/\#YZMS9B2Q0U@U" :CW[J" M<[!^M@\Z[F[# C;N;@.8 MW787L) ]6#?X/-6P;5C QMU5=R-W7\@,UL_>[7:$WHXQ &MY_1Z<#QR@^FIN M@;MUO%F511?HF$MEE"*/^ MM3NT.5QO$"Q:QYL]6"_ DC-6VW##2+Q,++I]S$-&8::O[V-Z[ H^CISL?;2[ M-BS[KFA@F1%$Q5N*II;BUYF4JY,O*ZP4OIXA%EF8D.FN%,A.1:T MQ693:2YALJ?B=;H@=%VE_DFV0&VV.Q6@2CSHJS9]U::OVK2B:M/&7FA]7<6N M4*L''0C(3^W< 1.RU?B)[*XPWJB4(@.6M3A5C#TVU0_?42IF<*5#JR[J*F7' MCE#:_5M%W)0I5CG2W,E3B]R EI@Y5?VMBWMA[IL1ZL-=9EOUR+LK0A>FF'7- MKAQ!W7K)A@_Z#WH'6@@IJ9(W/X(V9?)8#TU*>*[V",?7.<84)8>/KA8Y0+]. MZ=A.Z41CB93Q.=B*#P;<'0ET@EZ2K-'71&+ ]&O9[+F" JD.TS9M>A@1,U2 MO_HS#$F[U[Z-9^),2 T"5T2.%[$T8-3T($:+B+P1)4>?AL*C2#UX4K8K/N[A MN0Y27^!8Y' $YA/ETI^&&J-(/;5.2([% VE]FGN">M+X. M/;1KQ49O0*?JH_%< )I)I(C\BWBFH"78"&;^].@C[B\Z7OS6QE,V;,-?5X[? M8%1Y0>DNS>E=.;!#4G30ERY<\=R-P;*#E?B[$KV?O3H":KQGK\["Z$M"EA_1^A'15U]N'S# AP=Y M?5K*2\>8Z/FBB8H5WF2-.ZHPP\QS$*UO.D91L2Y*'[/@^;7N M"YGMWB2 ]VSW,?R3T/.$<5N#<.BQ@EUX?J#MG5NAT^S"Z)GJG\(U:KQO>JYB M%[[M'=QADTRUXGU#<9'@!,PPT@0SY[Y7(>2-8WQW+R=[8CW0,$9,8_G"JSK* M'[CP$/,':(X[_:]T:H2^?=;IM,_JHHC!'N:6:P*NT%#>?ZNSNNN*K[DGFX'M M/U=6*2-?1>--R*>T; M;ZIE-J@YQARK?^E-(J@KV+G3U95@@CPB/0'97X.$AX>S8%'PY))@';+_5!G0 MS! O_Q8D1VTKNH5@>WY%6]!U$#A]F%5+F+75T]1S$T'QS4$81:L#\RQ,RD+W M%4+Y#?\P%[3MT2_9<$LP$,: Y!/,A'O 3\;8]AQ,(SSG/!FQ]2TPT13C$>*W MD/$4+75\WLZR!9]],=E%T19AD4TS^O2J#+C9(D?TGRBD5TRYZHA@XQH6XOJ) MZ14/7U&R11])FJ\$D?U.RUB(<<^-G<">EB"2HBV J#K=4@P?V!?[;.*+^;;B M^)7TP?!YMBWX?4YC7EY6I#GOK!FA+&,6?:%V+[:M8?;BO^'=W%!+!KK\PH1. M-WIQ0H&$7*"]UK(8=^"%VGUVLNR]KT:VP*1V&$BGF3EADB=)N!YIA*6CQISRW.56P?[ MU%^SJ;_3BDN/&V#P";*GDR KC=40]9B(*[21Y[_ (EVNI$2I\ KDMG.%+CY5 MS*>*J:?U](BT.'=PA+0:QHGFW$GKQ5^-_@E7:P'6+3H-II-R5V$8:]0LH@&FEW'381EIUR^< TTBY#["--.H7 MDH/KG">AH L"UG!*G91Z/@C%E)5S QW2AV&PSCW+WREKY];2J&NZ#)Q6TWB@ MI ='@:.S<)I-XT62 3AL!-JYJ[QWI8@3JOJP+6G?P55R^T^84A$'G$1PC=Q^ M$BFF;< ]F>YJXFWI'W#:.*%[*R;'Z"X0?O<^R/A[4X_\O:D@.GYPBF9%V\U] 9,:N<>W(BJ,IY$&[7FEE6[L(#^ZZ@M+EQC(DLN,9G_&:4 M\O;]?!/.=L]#:DNYA)V_#97OKE/&ET5I/I>)&@^K,+W=E*W'/K E^+M1U2-K M+630_7F'*?P'XJ\QH'BV95?Y$I5_O& GZ2K$M'Q2Q/ 6@.%S:H^8!L4?VD#Q MIT*0TJOM^Z_?RO-4'H7*/[E-9?M$#1PTUT_ I/?&S7/S>XF],4WHY>?-%N_H MPM*^4] 1/AOW*&LCPK-1PTS3)$RE#V2,^2E?".4+H88JA.KK@_"%4*=3"-7L MV2$ZA9XKI)07@PC<:*[4-K3RTS".85?(Y&NGK*Z=VI1J+_L^S6V,G!MSP(UW M_#S%E7U!S@D"0SL@BKV<5FV8I<&5$:K.[,^.,N9A.ZWR-4M=:..5Q547[65Z M8DPOB7F-5V)WZO16#J-HS];[.0B?WV )"$>D=)I1M&(4P5L4L+W*RE^1E./* MVPF!IG1,[-,&D+X<0,TH^71!+>F"[1YH;?L-2\K3S'YZ\_>>P;Q "R;MXS.4 MLG_DW.>:S>(_BRSGI!!VZ>NVB%EL/[!#=L/VX!/*S\-L=960K_] \1+-R\L1 MBJ[**F;Q+:_8\V,6O$X91R(HIK#Y!G"LE(GS_>$3QF"%8TWTPHSP&5H0RM20 MB#\DB1>XZA#&&>IV\1 ^S?*/ MVC&E4H$,_58UVD7^]J#9E,D><(/2":<5&K=&+?3T@*[ M-XB23ND<;>1!=_FMZUPR!I1A^EC+SD5M.Q!-W>9V+@[;@6HJ]KMS1]/G2?D\ M*?7PEM0X<.Z<".DQA']IA&-E?S+&\-Z7\2XT:]O:#>S6&R$K:!(A>ZGC0&, M/8M6*"X2%& <;,.DJ(I,>(')7T68X,4.ITMNL//V<1E@A'+ ?&0 = 3(M:#@ M ^+& N(C[Z\L *Z%O?2&1!-F+_):D2M"SYE,QSF_0<114, 4'TEP,I+P^YZC M#SQPN[BHM0&NK&49RL7,TV$%*_#DE55W[)JB6Y35;UB!,6R8:S2N,CYV)ILY MB"$\7X5TR5B-G),L9[^_?.*9FMVPE:QE'>X7[.Z*2@NU$[K/T\V&OR50BA)> M5*9:AYFDK9S:Y!,(BXZMK/DPZ.F$014/%^DC)D[LY1>.3@\2@4S$DXP"=K8UQPOV61VJZN1X MT1B]BMA>D03'92KI8PU.QI]Y5XA 1;1$44"@^$C0<-&@H:K\RI-]GFXXU?^ M^29IX_Q(+9K>(# 'Q>#LK[8XS%=HQZ[**"7QC9H8QP1,F M\Q#'U^EYN,%YF#" UR0MLPS:4 1/-(%5:1ZU05[^T6A]6 6"Y'0JP!V'EF,5,W^']XGLPV3,H\V_P\I)1[246-E97FFL"-G35J*H59EJ"U^LG^100:YMJ +.][ZRZ?-F=>Z1U,-*W("69%;PWB-$53G&.;IA" MP<#+PW2)F1)8B=]VA&"3#&#S@9#X*TZ2%KA?_]D A-?IEK$PH;MVZC8-,0#I M$9.V 'HTPJAF<00'NX_ 9;.R:;;@)):8;P=:!K=$U9-/,($%29HWE,Z5&J51;HKHK&F8#_6(4$(""<8P&*^#TY(33;!2#-P M;T*\#V4QS>&(/<3B2F&F$;P(.ZWYCM>=E[$ZI@1MN)'?KJE"IICIFX3PEGNS M,ZDE+1QK!/8\Y$T +D.:,KF9O6H/$+7>Y_"))M+\$9,W*#Y6EEK0$(ST116J M4-\NF*4>IA$.DSG)2D>[1!M7F>K+1:30=F_@9-*&>PN.E&MD$]S)M^YT4GRN M].GD2NM(.9Q*ZIB%*8*\@N(.,&)HJSM MVG\5=;Z#+-?\8>8B-&7"%9L1@.\Q=609&:XPBQI9('4>KAB+RI2!%)"X8B>J M$4<](=<5(U*-3BJI2$X9D8K"69JMZ(HYV>W2NFG-QAO/EK29+M)T %?LQT&D M36];0=FZ-."'4*.48NV%,Z:F(C\!$P3=,CH[7UW=S4^G%&=P': K=D77KNIN MF^< ?%^&7,3)O*Z8YVID$9>ENG. 5&BBVAS %0M=C4JJB;^NV.>*O-2GEX93 M!KL:W>2IJ>,9[-831[6"])E4>OM1'7Y=/GI**N/QJ ^V8FU3! /+= MJJSL5L5; ]XN>%B\/$2(;G&$LGOR?$3?](B033" Q?[VG2-ZOV)B1I(Q+QMN M 09G888C(/@OQEH ^P5."B88@-"_&FVB;P5ENL>=?1"*.U(<^J$G^W MKK+Y"T;,VX/0K5X%//C;4';YQ%B;Z0 X#>FNM)JY>XG'E4C" %Q>ISEB%T-[ M.XS1OF@!)0\N!8G D(PV!C^C=YT]63];+(2_=;01^"LF$#^!\FJ4V:<_>.9N M]1IT1#&KZ_F4MV#P8HS1@WL(ODAA;AAI%G)N M^3)12%[")3X!L$E&2J6W*"W0_E9XG:7 P$P*=@4L>1X*]E-M+B1N).T%((W "NA/[!J78=+!B MQHM[6\LO /_#>*%M&_E&Q9?A2B(ZC#+*#L(1\M'M?[5+Y@T>+QO=6AFC,3PS M7AJ[G2<2$#$9,5_=6HX31@)&S%"WD4E@>02NV%M2; 64:?!1N6)7]2%+8^Z# M,_4,L$/4SZOKRN'J3(4.E-1Z& W4J(U(2VAXQ8Y"#S4/86Q@B?,YL9)JIIX2U4KQ+R]1\H7J(/ M[.CS7\X6[%J\0U$29AE>X*BZ95,>?.A$OOX?LHQJPW,8<%7S&6+=89>D3PR\ MNL].4G\0HB)X6:[]9AO@;T.HK.).-M8T[;JNV^:S6GQ6B\]J\5DM$"^\XRPA M),0H2LT(O&0RNCHTC0#D']R>S%4,:A4RE?AO:A@P4Z7FZ96V17\ 9J M],ZG)$?!^R KUNN0[KB#.L/+M#QM[*]AU1:8!Q V),&\=]?QT+#JC1LD1\W/ M8MYP)E%H'C$V!#K\_7IP\(&!80,#;[F2_^9UQ^?=1\1C:Z] (P< )1G#M/' M:\<(FOB^ 8]0O8]G)"VR-_V]7SF&A&/-P=[>G[P9?GFK91-8_!Y62AX(A9;! M!J _"YD!$:'[%4+Y#:GUU+=B"SK<$@P:[P/X! -87""*MV6./_@X0*88P*1Z M-!8)V\6_P@0RQ53,2%5(B2<9K16>>(QG&A7HA'Y!-.,6$S.7:@4== @49KH3 MRS&GJODHT.E$@:1:"U'7#ERAC3P\!-/Y7/$B0W@%;$&[0A0=8=2I9-S[,"HH M>@AP-CAW.B $$9K^SAT6(47@!NQX@1H;Z0(WA\%TL;[E/:B<2=5" I-'O;V] M_M(;A:0-L/L!3*!IM+A7$,,J[_59&,E,>(7P!M'@D1>[E/7M=>+9/5OV +/_>9UA$8-HV1GK-4* MHOC@K9;@[3!N,,,<,WP(UHHC,*T'"XQ&&09YLL H!E,J,O0Q'4,=9]O*U9]S M<=OB//U6LP7_T;LJF\SI\#V&;8KLF=8 ?*CP=$*%OF#,1SI\P=BX[:;Z-$ER M(O QB KH5/%*+P:#JI#C14NL#0> W ,G&"8!NAUTQP!^"!Z+C,'-]%TV]A&G MM4:*V2?3)6;7<1!F&"G^%28Z@P0>(J'.@\2W 2U$2)1YOH]UB_P'.'DNHP MK? F:Y0W"C/,E!*U'86SW8,%P=YT6,$N/)]A_!2NQ2>JXRK&\$V: M(-U+P7=")&%3#6 V9U=;FHO/6N,8'SIT,G3X0,,8\3,G9HFV8:8@7C,-E#]2 MI@*^;,ZIA+8&T&=]P.ET DXR[9%T5IE=H5 7'8X,I!:Y0D- E1_$BG$EG@4X M=-T\,:X02,XOG2TK5TC44RR!+6Y70J/0,P?US+I"EYY\I*![NU)%-P3%^A/) M\I*ZGD02."G&"Q=/@D*R()8K;VZKBZ-J=7+_B\ MR\MLV[".FP?R,O5B#*V6Y74-S8X[V;,5BC\0$EQEP,597#.3Z!40=ZUSOG M#X.1!VHR.):;.6>; M61H?/LW$P.53E!2\E]TY23,FG2+.Q>6]NV1LW>BSZ[%<-R>1JE]RD ,$\E(. M>%0U=Q>*BG61,%SB"\3D5X2K9R@1DVWE[9?&LS6A.?YW^?O6'6_Q&PRU?)#^ M:I!(9P6[;ADK"SL3- \RT9*G\<")>_( IAC Y(:=ENLU.T';\J2)<1 /-@$] M%^$KDBB@()]A (^/(5,W4T1WQP=2B =@AHF&.6W"Y6SWP* 1I,XJS+0)KP^T M/7<6-LDF;-J#3Y I-F'">4:8=*XPTX2; M*_221TB450U7@@(=60FB];L2&.A((I%AZDI0H"OW0 TN5UIU=*03V*!SI6&' M(ITZ^''!E%)^#]MJ2JE[G%RYX'REAT\048S2JCAI1C@FOU6421EKYO58RP@T M6GAAO!-G74K T)$\5U3*GD?TC>]1=UK%KT'"=8]L_Q]V.CCAXX"D0;[BSY>F M&4EPS ]/\!@F7%L)LA5"77,KAON@M@2+H4'V619:LBQ*I?H&AX\X88LWQ>E? MCA@TV:!<^HZW%KM=?,ZJWEFM(+P:-R@@>]$C#1/V"=X4V@,Y/(+7- M%>4S!17"..C CXJH-["&Z:I.W=&A&114)M/S;L/<46=EML>8*^[DO+1 MY?3T)8ER=H?%YZ;5BVPVH,.LLFR82$WC2H9", )8?&S%;(\WP$9U\,T+-MR8 MP_0ZS1'C\OSR:8/2K,UG))AAM"N[0#T\SH50=P,?SS:*80G<.>.;%AP.?S?: MB>[EC2H ]^U LUW]5VR;'Q!=R^!^.]"_1F"+>WHD:'\/*>8@R%CCS3@89TS+ M:N]_S7EO^>EXRWU_.*L=?18W,.^HDHW'-1.AE40I'\\):#%]Y+KF>'Y B\DB M5V7'\P9:3!:I&G="#D&I<6G8']:]*Y%[UJ$N\O4[[V3]##V519.TNW8SVXX29=D7T7JU&P6%5OL9_;T20WV8?V.J8%!]]XI2[Q3@^VK MFHMJ8'8RGH@W#W<D271&JT@J@]WJ6TD"M%'^ %;USS3O7 M!G>N#7@^;][!Y#YM9#YO]'2H[:J0C<(W]M )JAR-XT%[2Y@%1.WU":F; M:57T#J1VGU;5[V!:NFYOXV_!(L0TV(9)@8(U ZR@5?/^(.2(5('3X_AH/28. MPOQX:JG_106E7.E[##/,O MV2()_"^'!>^M@/GF^1Q( 3\::]9U?&#GL]WAG__ 3-N@T6IW@[8H$;2]59ML M$KOK=%/D60G2.^&SJ8 9EN#Q7AF/]U;B\8,R'C_8@\?'HSOQ[1$0]EONM(;W MQWM__%#^>(W*G??3GXZ?7E$I((-(1%>()_?P=]&Y7(E_#,!:,K5NO-30*9.J M47-TQ;<]+*D:E5-7#J#OE&QG#-;B\(:*LVF\8Y+;&DZ4^;*<.S9":@!=K"/< M/!.)/L,\B+HC@>_>!]F*8KYUY(\< F;8@X?0]0Z:8\)IC1*VZ/(#2IGUF?"'L^,U3G&6 MT_+*KUE=S&.=UO!A!1]6&"JL,.!-Y<,&IQ,V@-PNI),(=X5"Z>^S&@:(O2 @4I8OH:EW\! M1Y>_*ISCM.")&W7=)4FSX'$7+!%9TG"SPA&;NN0Z6D='W0B?UN>R&PWX'LZ[ MLN<,W54F2_U#N04E^>M?_.M\]LHV>?N'WDX[&"2?[UL@>?[#R.Y#[]"$.31' MX':8:W.T8];'-9#1_,@MP'YZ[1)@OV*JTY+C\>$ 3I@T\AEHK"Z8]]0_AJ2! M#4%C3?3)J'CEBC'(.>,/&D;Y'SA?G1=9SK1>RI3?I(@9R_!8(OM?_! ^M?AI M>JSD'6;>83:8PVP,^>==9^Z[SF 2FBA=/U.GB=R<5;C7IN[> #-(FTX^=>>& M,@%>FT=3YP#OX)J$@\O&7+S>VK%!-U>,LW"YI#R9CRM'9/'\E[YN+/#2)MQ4 MBL#Y'#)K7"[@G5-UJ2BRA#?EO2FOUY0?"=H'O&;[?;MXH&&:L:OX=O&!D/B6 MWB.ZQ1$2Y+DIS+0/+V'>F])<$[C5<#&U:9;/"4[SZY3!C(0);[!)9K&YW2*J M@DCS^!-TB,%O+^_PPGQV [*-@0J\&P;G7GY54-X>@#Q#"T)1->Z!(\<8"V4YCEHLX0%6G 8= M+I^8K&<7&4Y#NBMOAT\DY?O,Y H#<+E_K6 X.D&_&/PP+4I>L1_Q4ESPV6=! M[R7V"5^#^;>&D?3>XW4Z'B__^)&W*15MRL&4*.<8:&BR-:H*X[ERRGYU&'K@8,Y5'=(:/ 8LQ;,B(VWIFB MQ9FR[_AXA6)>4%[*CED:\S)T7EU>2\N#$*B+9,]0BA;XM:7;?\%NAFQ?/]$H M7-S)C33B>=+;8ZN@_):J>4#&-\!99KN&U;!5[*N*4\%BW;"$+&$45S6T;)0EWIL[ M6;^+#0J7=_9Z9Z]W]EKA[+6V&Y6BL3,>K]A.(36E?$1/KN5T@AJ98 HIOP1D MK:];S6H%$TCY17MK6:B;@0@FU$_.$:J+#08FU\_.D4O-, <3ZI?)2ZCA7>9@ MXOTZ>>(I>A!,AR'18H$BWJ3WV+AD)B3B+[*2-,()K@KGAHDT=OV#N!0>=K\)T MR4B_O[/9@.H=//X&7G7%)@GY&J91FP-VN(7MH!PF:J2 MKF8/_BT,/,N/5+J" ;E[@9,:5?I]PQY:?2+\FBZ8"'M,]N\5J%%"M((]>-[F M*T1G\9]%EO.+2_Q0EW2V'0&]ES V&\%($5/9*C[\Y\-_8X7_.NN-/L+G(WP^ MPF=%A,_>NH115#CG6*H+(6$Z@W,-.KJ0JK-=.5Z<<$+4DYL:XT4+)T0F-8O] M!..&':V\$4.&S@1SAHX1VGCLNOI\38>\CM,KJQR,($QC-C;=_QC76U-:7F%Y M,95#V %Y9*/+.V*C5%4X/T5Q,1U%&.>.^RQ(&%C58/ MZ5F8<#OG?H50XT/+KWRELN&68"#L(BZ?8+ 8ZJ#-M)U2^ 0;L#B2(5 \CJ8$ MZ;OO+<5&86->SNHH.0=&Z< O'RC)9%OS&@'P^U:P]J4RM=\M8IYR&ENP6A7T,:@QFK?06[=JET3H"1XH/M@I_]XYS] MC/-.N]0\VSH,][^KO27G1P_:S]*X=IYDE\P^)3NT=Z:H$*';!^RB$S@W"S S M2'^S S6XMF&EGM$+ TNTBB.8>(/]KSCA^?K7:1ZF2QXPJ!6)^D]*. +6FQ@9 M7O\\%#E>_VSC 9U3M GQ7H:JH?YJKIWH\6+X?#=GMF;.MNCRKP)ON#M!$=&6 M5=J.<%.,7"_]PFUA^D8BQ^Q/8QM%!K M0W_"O6(4/>4GE/39+5/GA-O#B*-()]0.1BT8/4*KE]\JPJ3\#6_V^DR9=GX 6 MG)AP'=W>(SM\G!1./[C6/FEFE(48X02#*^^O"&;[%0K+V(03"J[$3XQ0PY'( MBQ5F=&BD-E9=R@K$AYFXB_PSBDF=([8_^=CYR3#HB:P M0R[M<^>Z"4Z?)7+TZQRE=B-+C"ALON:?B MK\O42O< 4/71[A[X.0BCJ%@7"?>K!*0,[?-'%BE:H33C35<3'M0^NH9!XSNZ M#?1 H\^=H!,?[V8P[&;0L]DP]X-.QM-JKLV>P2SSD,Z/@:P\U#P?\())UQ3M MTW'G_,]E?FXYA]U,.44YIB7%>%R<^[%O%TPNMUAR(W_5;)$H$+EA2'1 V62_ MB!F)<)4UFJVN$O+U'RA>HO,*? ;M!R;)^)]GBQQ1 <9JJQBMMO?>O,E:MW9( M>N]'\7X4[TQ/PBN6T\ZP3*JGEK'B+55MB8]]=1,M;MD?@DRM"Q_QNF" MT'7UN,WQORFJ;N^*JN4R73"X@RE\"1RB9,];)"HKFC#$:F\2H31H 0+9X%&;Y=;J@[#^T MB'+V)9ZB_PS#+N-BK1WZ1@#C$3Q[R/K9S1_,A.9C^]MI'9K_YU MSJ C"8ZK=XOX+C><,?E 8] V"BK(4!,^(U$_M)=_- #=.:$;PM_$^T32^XHI MA7VPI..-M"UCEWN$]ZT49FM"<_SO\L<6+ S#.!1EH'.*6E_2KEAA(F>:7LQ M5C. I'.:>+0!^.?AK@3D@9FOP!NHBF3A2= M20]3>83;IJ0'BXLC>CM4G+NHA.1J]7HZ)T*$9 [K9T3*T*R='7&@JFDW-S5 M1BHU!9JT)ZC\&OQ5A#1'--D%3)$(@R(-F:#CGJ.C--,,)2CBOWL>O,!IF#+6 M3ZII'3-11OJ\OI2341'PN24^M\3AW)*1S@XLB634@ZLU7G(9TI1IIMD4/V?'MD#:.,9'R7V4W$?) M?93<3H/+T!WOP^'NA\-]^-='^'R$SRR1]$3XIL)7_L%#'\SRP2P?S!J+# +[ M_[3"5P GV6E%JD!^-XVAJ^B0^,(MN?VOR\QF)N&B+RN2,.)G ?JK8/XH M Z^E5%-AFB68M)=Q*DTTT_J,%&F99)N':\R&R3S$\75Z'FYP'B9BO"!SC."R%U?9%:&?T-=G!F-Z M9LK^&2&9N[S3&F9Q?2 M&U)J#8\A4V6.WUB_X[=5AG-TC^@61Z@2*7=5;UT^ M@#\RVN;:UO59(P7@ZS5)[_F]+BG\;AEG(I!;*AZVQ/F>V2ZJH==2+7EPO M.G Q"9&$6887.-HG?'(DNY"O_X>,Q.7SD&_ZWAH4RB;Q8!/Q4GX79+=%GG$- MCX'4%C)]/<[HFSS=H3;Y#L_!J_!*TH.R T1S?': *M2WB_LC_T!%V]EC5OJ$ M98A YKJ3^3 :M(R$UUE6H/BBH%QYKYY.*0_LWKWX4D%M1:GS2O;@7>K60Z M M6,BLS'0[%73 VZ3E\T#^^2S&TJHE(B&NI,4U4V.GTA.DSRDW,UQ M.W6Z*&,-I930<>]T!HDQ@NOWB IOIS;\#T_;7;BK)96HG5\K2 M.L!T^[J6O;JVNC_A"&ZQI!DM?XS4CB/F&;%H:LO5^(7NH M78>U$C/"BJ;J3X2V#K0(16$1L]CN+0YFQ+VP1"HS XJNRBI&Z@TR9J)^("3. MF!%5:V79/7F^H]\4'L@F^ H$)=@K>Y>9KY=/7$U&]<%H@;YEM-FTM\D547PB MZ>'EHPJJFIPMP(LGO7Z;6W-F_LN;A1D,MPM 3$Z0CCW$DA.BA%!:#+/HA*@A MJ>P88M%3ZRMI5#[X>@QKZC%\MT9KS*@3R7CV71Q-IYU83IM!5#TRCKKD"HWE MZ2K#*=Q33X>RC2]=SEPTDU<^%:)T2']5]FPZEU'4@6CJ_E'GJ.9?*K0QD]/& MQ NH\WT\:9PCFB$;TP+47+0CR!#[\YR@L0/GI(N0*D,DNBJG8EI[C 9P;T+2 M;^J_\/_'<\38;_Y_4$L#!!0 ( #R"<%3BAN7(^VT" '=X'P 4 ;G=P M>#(P,C$Q,C,Q7S$P:RYH=&WLO7ESV\CU*/KWRZ? \TU^=Z:*E$EJMV=<1]L\/#Q\>X?/O.&'WFG9+3QX MU]$^/=IJ-/;>PEW[(-[P5/IL\3F^:1\-A'*CXI.1=+=ZX+;Y]M]?OURY?3D0]F%U%]?ATX47[%14X*M _OOC MY9>WL19!U WU0,0J#&"LYFZ]<5#?SB8)C_Z8OJ%X-_?)\M4\]+U6O;5G!TFB M>CP:RFP3NR+JT"CV#KZT7V\TIAK*R/XW+<3P)/:B\FN M].P_,!=/JO)MAQNTZW_MI.?[=EA$!+B@AA+G2D\V6QDXW41K&;BC\K'MW0)8 M(^5.00#E%AZ4=VZ__$F\4WA43\$IC1C5/"BBH!LF0:RG39EO%D8'=.X),2S% M<[Q!#T\O;V)Y%[]E/O3VPR]O[5Q_Z83>R(GBD0\'H@L/UR/U7_G.:3:&\7N' M+G3%0/FC=\[__)6$\?MK-9"1 M 5R+0OW.$4D2H:^@(&#<) XCUU]PZG)#7_5)XG@P]_P]_P MQ%DRD%JYO)B[^!(YJ/>'A5NCR3^;+0)A(/!LPQEZ=QS 7H^.8/E:^*>PL7?_ MDJ,WC@)VEJ,#]?+'/C3@],)_MP]V?WE;F,9BIG4I>RI"MA2?P9UILQI[ZL,9 M($7_5D:Q^-PRSSUS? 8]]U0F @(N@*'RC\ M!_IGP1\_(N(4GZC(%?Y_I-#'@?<)SL:;#W5^>,'?^Q2ZR2#]X 4,$7HG<"UZ M\^'D/\_Z+5R<^1(^/NU;)UJX*+ 0=K@'*+8<[AV\*7Q;%3Z8!(HO?[OZ9#]O M:.*[MN^'M\B!3D(@,4DG[B9^VR7R&EU*5ZH;T?$!%7&"\-IV$?Q!,O#"V).N M&@@@(N8'D,CZ]IL/NXUMNP8[Y_L7<5BRB,8K+V)_;W^.1>PU4&YY'"2.PL% MQ8@.43OPD&(#[02VK&24GSG(..\"Y0-AT D<@ODF5X8F,^WP"TRNU9IUY^!0 M7O6%EN.3O !%20*U\*[BT/UQ(?2YOHJ1C?XN_$1F;YGY-F9$@].S$Z#\6XWF M?,O9GG6O5V,Y.S-!9X:%T"-1.XG[H0:QPGO< IJ-&C!C_-]\R]B="2I+OXR] MQ4+C-(J21RP!">2<$Y^-4? MS!F0?87!,M#1[2>SA25:RQ-X0FX5"Z*DNX^BI-M/8 A+LX8G<(.)-3R2)M'\ M#VL'^XW:[IPB\_83>,+$])]"F9ZRAB=PAD6#H+%;V]F><_I/X _/ H)'K.%P M#(U0_VX>IOHW_)Q!SSF/^U+#BH9:]F40J1MY&KCA0'X)H^@"+X0!Z#_TU$48 MQ5K&2DM4BS[*0'95?.&+(+H6=X]3F.=9;[/9>.;U'HFH?P**]6_2Z\G/0@5X ML=V-I0:=VA=1I+K*)=\)+!A8$>S"_,O>06/'7.O>V9]<-YM,,?W.AZ_:X7/^H4[KP131WYS'! MPBIV%L!3%KZ*UL'>/*O8*17&9L*B[Z'^(76$YP<.#QV%+TITE(_.('9$ +TX M"P-VF6;'8V_6Y>P"4+;F$FQVQHW[#Y^/4CFM'<3*4WX2 TVXDK %2L9'=^Y M?N))#X&%RTYB6O5Y]UCH 'W?5J=L#]"<_OS:_LZX&^!A'%SEY1[NWJ/]_/%) M:G4C8J+BP)[(672IHA_M.Q753T(M52^ )?5%T$/?QZW0WE%L"L(?EZG4@^(.A@B8U7=5(,G7HU4GP='Q_L2Z+Y+L M\&%T RJ$0Q&,OHK8[<.6P8ER86S1D^?!B=)1?*QZ_=A([9K-ZKZ)VU46_*F*D@"M]E(.A KXN--G83GG'5_U:$&6+5^K 3QRWKV" MJU&7/W45"QUCT"OMQV*'V_)"'*>.P>0,SO'3_>3O,7EKOLGCT\YA8>\Q/^B= ME^B1%#K'A6>)LUW)K=Y^P:W>;2UJJZ?1R-3*:P(@XA&KR' QBI5[Q,D:YJA? M(E.@^U]AC8-D8(]Q[MS"4$=:>B"P"JU'73;6P+H5'WZ,E"XL\9#-L3C/3_P>!X^#9Z> #RUHP0AV2 C6F+:@$B%UNS3Y8B;/Z[= 2S?L M!1B[!PLWYI(HW8D+&0@?'4AMU]7YX*QGLS/M[#TE (+V'>::#- 6)+W[P@+& M3$KWA478> @408)(FE<>%^RT/X\7%+;C*6$_R[\=>W/%&^SOS&^">>1V'/%# M<.V(/&>G:'FUP2/D1LU'E1QWNR";/C9B9F\N\]M.F?GM65#BQ?;@GFBX;AC& M01A+3$=^!WC7^_6-#.I)Q$2SZS8/@)VU=NMB>UO4=]P#63_LPB]QN-/TQ-Y^ MJ]L!L1)MOO58ZH$#.(Y:A>-+$<'_FR '(' UN!1%C@EP<(:AIFT76CHJ8.?VOG.-/N#G?V.)T$K.CP +73'=0]A]D+4#[H-X1$V.J'TU7Q'!%P@7=DS&LZD;Z M^%ZST?C'(Z9XV!1BKR5%?;OEP12;K?WZP2[\8D,%QTQP&W_+W%&O/?WYE;3 M&2C?)U $'E[8SBY$^,PGZ1+K=;:;-0/6+O;;+E[ MS>V]^DY7-NL[!WO;=;&[(^O;8KNS>]@Z[.[L@!A_-(8R,*>I6#:!3X:O/A6/ M7.')ACRHB^:!5]]I";=^N+?KU;M[#7=W>[WH$3F$B_!SFN13Q[$1DKX5' -%N):Z'3+K.+<##DW@JD(]@"C^ M-59#?P0B4/91N"Z-IC"OO@*D M]K8P<=P*$]43]TO?UZI^ENNXV]@Z[TMNETPQ[21@8A3"<+W[$[;6>&EHO(D0&B MS@36UWCB\"@N=VRV]%>^D #E-DE8701_8ZF2=Q$5Y@!NX5!!F7=]C8P#N47= MUFW8NHM .3;6//AUS>1&@Q]2G@MCL$?+'R$_H["1/.?5'CGG>%BM%W3./D' M\ZRD(@#V+^7AWUT%.T!?E:55=HY._U4L7C#^\@=[J3@Z@]S^%5ECUH=LAO:] M[%XZ32][U"3J%^_8O^U'WA;V(MT;9-ZT,@#("B)EA],K9AW<,^^;V_9 MO_']THTVAL/&7GV[L02[RZ5@X@_9I-*!S)UY-XQ]->-;9N!%1^IQ>]:J-[;K MJ$$OTYZ923UUS\Y UA\.?>52Q8#QO_^FB:BOOY6%P]V8_7 W MGG2XQ_>FS'N^7'MC9SC#WM@5+(#PI9F=]BN>NH%%?,@]2@82$8?ZD31RXGV\ M^$D&(8@Q9% @T070SDEN)M:X/'0@M\;&0M?8/##F M1;+KHOGD^*\$X^I!YPX#JBQ"KH8LG="8$I]Y3PP>RQY.B?_TX&-WR 1L4!;H MF0,V!.6C..Y9QIL/)>F1/-8O;TL_D>YC.I.Y@&5W]V6!U?98&1'^A5#>:6#\ M1&L!N'O7MDY O)2Q0$W5ID"L!?3*%[5.8)O!=KD6D)QYG2L%W*7B],^%P&WO MSR3BJF$GH3Z3MZ8H&T:VZ#" GZX@!W&'&G<6@CQ5); M/-O9.>+EO-OVPF&:N?/@0^G$S*AK(I/,M>&%(_;PSD\]7@_.+M+QNUG ]N;# M3$^.P>[Q\]HL26Y=#N-*RIS5P7S&@[E&DOJZ'-+5TBFJT_F,IW,=-+%U.98K MKS-6)_4Y^>A::MJKMW$0-2>SPQ<))0_AIWY^K?%@Q1K"QC4ASK'4(>Z2U MI(JQ43OP+F"&FJ/<<_'[ES*R /@XROUA'@P\;E!)N':>Q.?=\1&6&[N>8Q_> M?. BYM-WX[G$MOE"#@D3'BFVI0A+9=C'$3:)];O_/ I7RW2""QW";.(1%L_& M;LI("(8,B+3ESQ<1>*=PXL,;3BPQ63?3JN2IJ/3@)3'I) M]XMS8 J;MEZZQO,B6Z&S085LLR%;?M,J9+/(]C%1/O:YVP"*5EQJ1$[G6 MCH(])W)5E*N436(-_W[H;YQ@-GW=%4U;&K1;.P+W8FA74;LRM/N*W34"J4?Y M^QM [>Y9=T7ME@;MUH[:O1C:K1>U2^UV7^%&O]1P]W5AAKL5(7L5L1D#UC(3 MB_4_HE,=?1^%CVVUKOI2QMCB-BT;95JA?3&=T$;+";E4$9^R#.,V*5_,4GKM MIH8?5Y!:XECBVN5+,L";86'/=_9PRQ< M02\/P0J8+P;,,1FT ,X'9-#\HT]7&!8)^3].0+^*Y1=U([U3>"3HJ8XOV]3K M^./HJ_@SU$>^B$RH;Q+%X4#J2^D358SZ:KCLQ/S9,&CF*'T M(G'Z6@M/#F!0##BC/\[$8.E%E!7%ZGLWN\+K1>+U!+Q8/"YL;H6W MB\3;C\+]X8>]"F\7B;M92SA/ M>$PJU?=%5=_7\I655.2J(/^"D'^]6FQ,0O:J,_^JYJZ]5W"Y$L[= ^Z*E3_9 MM4 ;O"C#M(57!;J7D,+&@'<_12X\N@!>O)/RXL9>?;M1P?E9X;PS,^=YL+\,C\.5YS "OZ5QX54KUPAB\'FZ$I4/;%W,8;!*NKH&]=6D0]07- MK*^,HK,982K!;W5-+F7M["HX/Q><7Z]MX;SF]"02[<#C'5IE&)>OI3*:5_!= M7SI=P7>UZ',A/^+QY9"6%<#/6?;H:3;Q9TJ4J$#XXJLK 7\'E-$9F7/7P7,-3J9]Q0$60M@/J;@RS J8:W0R MTVO? D_J$Q5@HC/1IC6 *)D%'EKA^AW0"J;K=TZ/0OB83J@0_FD ;_2TC-9) M'KIO@>MW1"MPKLSI3'N]E A16WIL[WS0<7NV#HT;NO M_UZM$U6!X-5/P9J':RYST.3S=ZE:^^H(RUV:8+D O!)E I8K1W^Y +@2\9M+ M%$6Y7-"C8G+C3ZT1+.U+]ZQS-8#;J"2C)9*,%BSV/@:XE62TY@"N2/.* )=R MTUNM/[ZH0)YWC[3T5'PB7"J$3)#\+GT_.A&Z%WX4P8^S]G(#<=HRC&!4OICG M8Z*XM0N E)>'5 6TYPXV+X#MP=H\V:.+"E:MP+HJ FT)C"[E3>C?J*!7O&>2 M"]<$M&5 S7K1W[,!4\&[DECU3(+6FB#)>D)J6MK7_G'X\OUQNI%D;RO+@9Q_=KFGF!8UC1BZB M48):XGZ1;WDN15WU;E=RW,K9NG<59W;)VM&E;R]XJ=KJ;2X!YMGV3"N MU8G>?J#]TO0%K0;$'FR:54%L>32E>1K4K7Y[LX)'8$5[TJ5.>*'T[\)/Y,=1 M^O,WV#>AW?[HB[R1'%&8WCL-ADD#4CS-[ 23,;" MJ5VJZ <#,M12]8+C.[>/=C_X\U9HSUB8?I->3P6]3S*"1S*UQOXMO79D'LE& M7FXDN&\O;G4JW]7LZS-L[U)R_B10C'U'[4\I_ =21(F6'U04[K2: M^^_@GGW?WK)_X_L/$Z@*FRML7A:_^,)Q\2P,O'2_*MQ[*NZ5;.=Z.9"FU7&M M$+-"S*4L0%LA9H682UG9_-&(N8'8MI*L FO3RF']0#[+PIZ1HK]"R^8YN?<%;R=>B\PN?90!_%ARB^PTJ*>U M9QY8UWJQ<55!^D4@_?S!&Q7P7@)X"_98S"Y457!<%^EJ#JVI OK:J$^S"U9G M8?!7(GP$@9<]P,5J"C6Y.,^OAO" M3J\%\.=::47:*\1X6<18&990(<:+(L8KMKVW9**-L4NIKG@I80.4&TOO*@[= M']\"%6-5Z@NINZ$>D!Z&U^FE)<>"PL*,OO:(Y:VL[E8!]N4 ^_I2@*I _^IG M^IF*.!2AF5]77^AEY\5C$,N<2Z6K6'K C,E44[AH!:/GE846'4I7HCU5 %UA MK>=A<6C*5DRKH+SF@'[P>X\N1+R2LM3"4"A?\[5"H4?6Q%UC%"H372^OOJTD MPMR[EC4$[H,R0P7O[^YCU_&_CAA@KV!AO#A$?:9)@SY$MY*_5WY/ER(8_E9A\EP M.;$%856V!(,PTQ?R/*XENZV+ NPXN%$Z#'!RPK^$K?84A;-<*=,4 M["+4L2\"[S>A.Z&^2N";W23P\/YRPM">^(=69K/\'UK?LYW6_=E/ZQ@>+.JT M5L!_2> _R[DF>.[4&WOU[<8?7\(HPCH5*NC)P%4R^@@4+$XT]L]*+X]*($M/ M"5_+JS#1KHRN=1+%4B(I=)6_W*">?=&E0)]EZ<^$!09L"Z+N9?K!61BX(A:@ MBX?#OG*/;V!F7#X-!)+E!NNTJ><*I:5KV SQO +F"DK'T^Q :?SP9QGVM,!= M,?K4MZME@R)*Q5/G^^:#BP*S'KW[=K491I<*="M+0BO0K2'!/&JO*.B.VIM. M,"O0K2S!K$"WY 03E%\79J[)[H%EIC^./H(FW!\(S26T*9GY4H(LGL@S:3:A M[+74)7 $JG$XD'KB&?/N5_%GJ.U#$1<5">35<&BO+;>6\M".Y=+[RK;N\=Z# M>R8P&5#S !">YL.8A* MA%("Q\W@7M4YJL[1BIZCI1(EJG-4G:/5/$>O)]T],YOI(97EMQ_/,.B,C28NKK-H%H5 KP\ BR5HETA MP(LCP'()VW,B0#N^"%40GP;KBP4E2ZR8084*%5NH4.%E4.$52W%FO69(*;N4 M Z$"V*]<+NYYQU<]TI:P,"EF[=HMO8*K45>X%#MOYVP2F!&QS]7P<-5.0?; MU3E8X#G8KL[!7&VHVE$DXR4O/#&]=X]]8F(IB^3OK]VJJ0+1/"!:7$GLPBGB M:O#7XJZ=Q/U0PTPX*1XN1K%RCSCH<+F!5+Z&#$2EBUGZDW1_2Y/9(+9J%3L7 M"\D'/UL5[GP*0JU"_/Y:$;R!SQVI*6GXB.A]0CD5BQBP@YF,52Q M\"DI.G>OPK(RN]&T7=N"AVN#_,]$J\A0I MWJN-7P\L:]UHR@/+737FPC=N\:,%LVWV-5P#L\-YL]" M!6CW.Y/QD8CZ)WYX^YOT>O)"Z#6$\RRK77I /UBGK#K:KW>TET-,>!)Z5"3A M.4G"ZR.(JHC&DA&-YP^YK [_4AS^%[5:74K7%U$$F\K1C^=)?-[-+9[B'W&3 MM.SC5MY(UMY-.+X^PYR6XE@=L.J MK=L!6ZK$T>J 50=LS0[8L,VSJJRTD%@=L>J(56)B=<2J M([8T1ZP2%)>\]L]2'XI*A*J0;V61KQ(N*N1[+>1;+K9[% 91Z"N/-N@4I!?3 M2@2&%MA?^HI7&8T+HQ^32 4RBNQ]>NLXZ,%%J:5W%4OI7VAX(-'R0@V7%-\P MGK=\!W)%7,JW8H'28ME>FE8@#^[H9O#G"DLK+%U^1EYA:86E&\;Q81-=$<6G M05?#/SIQ8]C1=N#E]GH4X3T7#UHK1O0H3-P$3EX(F M;@+NK '!J,"T7*>ITHI7YD15H%J*4S5I/&YL%PHYK8<&N+3*V.-MRP2G!;H/ M=C(,V*MO-RH,>"4,V)D= Q!."\2 _0P##BL,>#T,V)\= PX7B@'-QK1:GA4& MO"0&$!Q>P<-X7S77"@.65 YX/@R811)<<9O8BIBG5E5*K+#C-;!C523("CM> M SM61;JLL.,5L&-E),\*.Y9;[GAFJ73)&BXME4RVA'NS-!+)$N[-TO#CY=N; MU^)&A4CKRA^R&G4=%DI5&QE5;53^D%?%@%EY1V.QO*.1\8Y&Y0]Y50R8E4,V M%LLA&QF'G&AW6&' 2V+ S'+ 8M-QRC*N*@Q8=CG@=27!RBZQW#4]7E=*K+#C M-;!C523("CM> SM61;JLL.,5L&-E),\*.Y9;[GAFJ739;+?+)),MX=XLC42R MA'NS-/QX^?;F%;A1(97G=^$GE +3]OWP5@2NC(#N7LI(ZAL978^&W(T@O7L2 MZB,@QRK&YC;+S7AF6UJN>\\]:UPDQWFAI)\*OJ\$W]>/L% 5!BS+"7^F#,P9 M@3KYV'GWD^Q*#8N_%G?M*)++FO?\6!C/L>1U)^H5]%\*^JM)\BO\> 7JL%B& MD-84K+C\*W+Y\8*"3R7Y):;""KZO*\>_BF7P,2>\(NHO3]27Y_Q7T'\5D>_U MJ,-!Q1^6@/\?+/3\E]6,KN#[JOS_]:I+SWO"*P[P"OQ_:]MJ]'8?JOA]EM\[HTCM*OO?]@\\;8K MW+C>#<,X"&/YQHG#2]F-?GW3=9L'C5:KM5L7V]NBON,>R/IA%WZ)PYVF)_;V M6]W.[ANGJ\,!O^ >P&+W#@[0'_UV;/)+L)R#G?V.)UO;]<.#5@N6XQ["ZLEG?.=C;KHO='5G? M%MN=WY>P]W=WNW* MW?W#,J3,$'!_21MN3<-K= M,6<,?NVFO_;*EFBN1&&B@5_ BO'OOH3M1.KNJ9L/SM\$_7BG=_&3I1/,+%=H'TUKMBH/S1N_]]#7PJV4NIL ME09ZG0_?SDZOCS\Y5]?MZ^.K7]YV/BS'M*Z.C[Y=GEZ?'E\Y[;-/SO&_CWYK MGWT^=H[.OWX]O;HZ/3];GKE^%W!6@UX?0C=!B12EWC>.$08OD8Q,<0V_ M^=!LU/]%U"\;\(/]S'/O0'&U/WT5^H=S'LB?7Q"\,9%%IEB_O@'ZY$K?'PK/ M \1+_XZ&PK5_FRD5"!Y!4@6HS.!B[A!T<2?T0!6(4])Z(W6L7.%;D,?AD)[S MQH;W^F'.\A#RM(,@$?ZE'(8Z!B:+0\2_OE&P1-#FWG7" MT.\(4)U@@7&NOV7H_@6<(@U_>QE[)-H@D#A>\#;D#]V<2@=XY&MN9 MSH?VV=FW]A?G\OCB_/+:N?AV>?6M?7;M7)\[0#BO@3HZS6WG_-)I[O[D_>R< MGSC7OQT[.9J:TM/VT37>;AYN[Z1'B5?Z-M8H;QC\>$L(^-J$YB343MR73E=% M@*'.2 KM@*8IO7?.K"3G@A318U9/"VCSSL. ?IA9WQ,C'%H&,^(-?/N3=(TJ MGJ.!V\V:@\_QSKX.[7IX4T-=T;'7I&/76@210I%_\;2LL0*T[/JR?79U2D1K M4^E9G** PX8RTAF--O?T_P?.:,W9CRAC7IKO[G3> 1C6*X];SU1=3B#(__;]^,K./>G%Z3A7;3/_K,D MS/&GXSOAQ@1L-$IHV5,1GM;8$9$3#:6+7@'/48&CXLAQ^T+#("^O&,S(16?= MP!K3^IH3 4IV2[8SSX[+F.^B/E1@V&4Y.C4O1):#-Q3@.M^N-W=W]PX.#^WA'7NJI#N9SP)I.F@,B7 @RG';^ M3+2*/.62& >\0N5/)3VF>R)0_Z6_JS.3X[&G6Y=;5UO.\6#HAR/8R>+9<,[" MK9\?*\@OEZCT J2E[7E8[\"3G9R@\:>XN)KSFQ?),)Q MKB^ !0.16!B'SOP0XQ.;<5X7(7S8_W_4D.6&V9C1P=[!SE2IX)6%=[,NI,9# M#5NMAL)WY)UTDQC0&BX#C8$9B,!S8-4.+OLE9??7W)O+5)-!2U&C>?@^@K=\ M.>R'@55]:\C#_ 2U"D=H*0 C/,GZ\#1\PL/4AD?GP*#MO4D=F"D-3*OYH"_I M2P@<\P)G/9<0A>;9P_VQ#^VU=A]+U=8(-:[@?&@5*_@(Z[M8J,89)CI*4/&- M0P>>0,[,,VZV?NK\C$<,+5EM-WY7:;\O(61WPC@.!^EDMG<7*!\: WV=OP$7 MAW<.=95U=*_S4Z/FX']_7C(Q\EK%'#DBA=MW7%]$T=Q2=FNA0K9%U?N_/P;( MUM[& U(+8CE7HT$G]'^*?EY%,%;G\7 BA6'[H^:,Q3:N1%^(IV_-[9 DQQB MK'T?!,>%& U?XTP7OK](NKPZF&&(,=/B&='B[/O%O]<"YAM.#8X-T49*/FFD M0)(^EWWB3$2>^&O"-O'9#SN@EE^!\NG&#@;7R?@IOON-TL2B,4VL5]#$4%4_ M \UX+957&T\RMF>G@8>&8^ET1H[;E^X/O/_#4;PK.0>NBASAW(*J6/\1A+/)K@K8OWN9^))7N=/8M9N< Q#L]]:T (K_R&CL(L7F M3(VWN-]:]QWF_"^<\I69\2E->-93&(Z?P,FIM=8OY&,!V!*$,5SY*U%X".'L M49"(IIBMZ![SR#;Z?HJ7*(HI.Z_AWX2Q$)3J(J.*GQ9'+[<]B7Y ,>0 MYJ?FSSSU/M 21!?/$;Z?XDP>F3K2/ #E^!/ 65R5,>R:$0CO(V!;XX'=T%_ MQD>'6KJ2M.EFB\>C"-?(^0D&!8[N1 GH8E$_Q+@5&WP6]T4\OI1;$4TB/[UL M5O-SC>SH/[5R2^Z < /=?Y$SH[<"I^'-W$^9C JF4TSH>F**'8.&XXG1M'4 M4_$ FA\E6L.@'$R)HFLLXF16;(<3-PNZ3YO:65AV7JO#478X$$$ -P8JC@&E M2/K388"BN#]R)(CE(^<4A2+ADK/FDXB%<\(DMW!LLC'R-'B"75_*7L*9=7SY MRMK]KYV?\,K^^]9V:ROE[8JBN888S?4BYXE7D9X0&?W\6/S/;1KNF3D.&X+_ MGKIAT^^O;RX^?_Q7>?PXOU[W93=FU+57-&<54B*B\S>G.-K)]64Z7)GHGOO$ MFS3QTK[>[]9U>,O7QV^@N\*Y^'SV[>N;?!8G/9EE<=I?V8\L'?*B_?FX_O'R MN/VO>OOD^OCR';"96R"AXSF.A5VP.92MN7(H.3-R;&M^^U2^-;C#3]V8Z_.C M+Y2N:\;W5#3T!1 U%0 ?D?6.'[H_BN2)/FOV\IX$U5NS 2H 7HHDCC$/GQB_ MF%+#L6?'J>;\&OV4C-<'@)_^6T[O)P[5@V:$/"&?V,O5Y3&DX_DP@'2$"^@$ MA!$9!1)85/""TJMX6.JE-R*8)?PT(@]R 3<<#$4PJJ&,!L.!.(.3[3EP=F[C MOKV]!2*;I+F10DF1_A25P#S(?3]MBGS?>Y\^.,,CTR>9/HJ"FGU\RI339PNJ M;[/5L6RS9:71O BZM0*I1$_ VFF.WWOLB<8MQ&\>;C7_,=T..#V_9K;=^8)( MQ%N40Q.^0+@RB_VU,-_FWCW370@X,_E@KGD=;&T_XT;.D.FACV!O>Z$>E=A% MZ2':<-<\-+.)M#T%;C/D<-VW7ZU[MVM1@&R]+_'D+56"J(]X[WD1Z=C(&SPQ%CI6 M&HWL@C[34HYX$2^6Q+O^KK%IBD#W'H$;(U=G-.RC&8J,3R!1HX4_#ITD8F$= M)D'5!QV_Y(_SXK8)/PV>= -8;HNA]HR*2T ,1N* OHFB/*5GX,-90 M](3V(@*_-T=CAC7Z$ 4FH#HDXEAAVCS & M*& V)\Q7],A G85(BR@"9H'7+%1DMRO)V!:82'-\5:%)* "XXS'7H>^$0,!R MZ)#I9@D@V)A[:*>QDXNHO1*Z(V#L^OF=+T=DY_^ING1PL0B:=B,\VMJG:<[M,@T?<&ZZ-7K,1_F0 MS(6S>!$>.8^)>G/\E]< 3M'K 7(@]@PHV,8$[1E@NQS3AZZ)>,0T GT5 #?R M39)MK(L^/!@@LB^-.3;^;K#@A/P0,-HX&EP013KQ0Q&_<;"6CR0+31(HAO:W MJT]O #]=!>N*?GUS>G92+-43) ,OC,T#140Q'8-,/]763K-VT&S6MK,D)3NI M#QC@ ?/_9Q(8W-]N<+T>IR.0>R=#Y 6P.A^]DA%,$EFVROQ6E4DSJ%4WA/)M!*;+14T]"MQ8V!F[LO/EP6#LX:-7VM[N0LY/UG]P=7QD M?04_HS ]<6J;'!B"D[G0X=W(23NGDQ9E)MERN)Z?\U7*V- *.IC]T <)^47/ MS%K6F7U&SSAZKF?VC/\M\V]OBBO;N+ =X](NW_K*KYWZM8NUJQ>'M>/CS0GK M/(_#8XC;70Q8.5P5Y_ M&:0M%(NQGI\Y$\60FXVQ1/-_+=,BKML?OQQCU<2C\[-K%-<>GMS"T?'5G?E\ M6MF,;DYQK,TO!QT1P#O@^\&O;UKIQ^]S2FQOM<;<+[FQ9GB_L77XX/O%K%!. M",744,OZ'N\T>823)X=J!M/&"WU>B)XL)O98F#.G)&H+^VWSP7'7F.5JH4J>G9*XW[>[Q MNW.]>IK_X@N>S>SEA2'50'F>+Q^/5\7W#Z=,:]8!'K$GA?>?[ZP]$]9YR>CN89+,PGFCC@,Q%-79U4/1CTN/HDGD+A!'OP78.,Z_D1YJ#-TN6>\?KS6L M,L*V5A%A)_C TN'K4(?#!2+L!0R'RY(5AJX&AFXO/8;ZB\3/+[(G?/1ANI)2 M@#<13>/H5_G6N1%?&(^>3BEP_C!*]D43UZ=A:V3_6 MV-;86@=;8V5LW+C#]NP<_FHOUDN M@/I:PA'62.7;@?!'D2+J?I)F#QZ%@1\J_DL5I^ MO]E??RW2-O%_,,U983KHC23LA0N^_3MGK'#:G3"Q"50.NMLV#Z.W5U&6.5AZ MA.XN,DPA(\I95![A]54R'/KT-X;U82'+@50QE.%QZ!'87*ND<46H7IJ,1 MW@(-%CTM#29_QXRP-M<-$'@!9(YV5D8 7\A.0$:^*U1?#51??NG#7:0##Q.1 M=.@S@28_GK>9CI'5Q-;E#^ )U0*Q]9Q*>9P&G(A./:,W#D]74:<[/%IZ//5T M]\^',#7CYL54% G3=OZ9ZW4><9&0"RUO,&_E-(B&7,THJC"U\GY5KF9R-6^O MA:NY\C5OW&E[_KCLB1>&ON?QY6G*12089!F-1/QE$FZJI3(3,K *R+G^*012ZG442 M7]O:U#F_#8#<]M60*M28XED?92"!#J,QD^\3.7II+*0C*T=VY?:EE_@;R4,GXO-7 7^7/ZD@2@:+ MC,2#;STJ5CO'=F9_#ZW6CXL+;S[B:_]RKI(![.)H P_?1#Q>[O#]\C8KV/E+ MVOO*>:FBI<]:G'CN=M/.]&+4$[6,7[=F]_AF+:22\SU; M]?@FU&;05:W7/2LZ/%2_^GE;4D_]ZDO7LTYKPYJ:UNG?A;K61^UOUZ?G9^W+ M_SA7U^WK8^R1X5P>?VY??CH]^XSEH[_#S_J7\_-_X=_I,Z]1F/E5NV98LV64 MQ=8K;,FC(MLMXC)MXE;>(P,S>K&CQ4@*[7 SOT_2E=BCQM2P:9J>/VE#"_JK M=+2TST7-"4V?+>#@PT1+?^3 I.)0(]>$.:8Q>S5':)GVVNZ:2KZ^J>2;K;AX>[QO*5:RS7 M:AZG7>6R0?)M!?G=[9T:MN 1 ]ZP=&?R3^;V@L*_<)G<-@DF V-K5!KD'8:" M"6-4E@#C 7:-8OOR4(=_FD Q1U"V3YAHIV/J/M9*V^]UI*]DUPP %#H9#'F M@?"H&5KVTI;S/<0FBU'B]G$U=A$\IZBDM7H ,H\:T@0G;F)#O\ KN0%L("BY M3!.]*1LIDO)'R>5LMN\3+N%IV_M#4,[ MC!2<:SPA=T,M*?TP(HCRLK$#9@CT#3M;=T?\[G14WG*N^S*2^4.+0V%OS5XB M,+%>#9)8'I;D/XFJ*;IS!H(O&I M;2;,&^,1Z>,:SX($)'%CI!& 6FXX,*9@;;(E!V)$ \ IQFV'O?'A$'=U.'!N M\0- 8LQF<&]$"P3NE_? %M#I,9_"E0K:?:S'@UUY!DBRT#[=Y0*2@*E]!:Q7 MT5?Q-D >7%^TV%ZYJO"!(_$_9#ZE,)D"=P.,!NX8!9MUPEC3%DFOV_QCAJ9 M)=25R$\\^6Y%ZO\71$KB* H=5217W\TN#%E!;;P!P!2%R$%]?N[!"RJ6G?C! M/#+;0WK;8P>=QN:G:W/.[-W,&ZU\8_BIDP9)*7RU2>=D$2N*%-;A9DE2GAP0 M\X'_F?:)U!,P(E$#.1CP-2\!#C.QZ#&K485;%6[A.@R^. -U5Z%,A3*SH$Q' M$6-$7J]N,)H)J1'Q3A "0%@R01X5.E7H- LZ@01H]$P7;H.HK!F96&+V0)4! M# '1N\*G"I_FX&AHEHBLV[#"G0IW9L,=9>P XD8H7W24KUAOUN(VU6$K=*K0 M:29TDG>@FD5HP(GZ:'7ID8%0A5(50LR 46D1U0/*U\)U8H]UY M&/K*'1GS8B^II.\*HQYG6XKAS6[7B-T)6;O)',Q>%38<\UUYE_W6)H0?[H-" M2#5ZD@K[*NR;"?O08FF%K(*_(< >FH.A+V-V ^F /)L8=H#Y?H1Z;X&O"O>O M1$6*/4N PVR&@*%Z.KPMN/0JE*Q0\A$H*;M==!/?H),=$;%'F=$70O]PCH,; MI<. JNSY5/YZB+]K#+3^%@,G^59%"L0N756;CA#[0KC*HR;!>- 6_HK$2[9IYA4D5)LV"21'6UQTYH#R!S G_[_L2M:@*?2KTF05]?-') MV01G1IM7P)")<-H*9>[9FC#HA>C+'*#Z@)6WW3#H^LJUD< MP$,1,"8LT $%:7EF+AY-]1A(&Z4 M3B+$1"DBZ6 T?F8?.3K__?2339)H'J:&$HH[KU"V0ME92"JA(X?\>]P#B2/M ML:($@^24_V'TVGGOY'*=VUOY>^Y[[!?CG'"@?)H$09DO*G*FY_<0U>78>%@B MFM;H7\6&#Y[BU?$1D' ?VS\;$8(<,5N/R5+%E#EZ.$N]?#"/;BYYZ/&95UABLCRM/ W!SF:+?P3$B9()3>'(L? M*(>-'&"B-H\)-CT9TD!X8^H,\#DMN[YT8X?J3I./WU7:30;P$ IRCNC&4NX%1ZW]0*>S]^/2LQZZ'!E?O MR=%YX?2.9\V4QBSFZ?D@8YF;Y4=D&FFSV='-CWYHGUYC1G,9OJ=#Z>OD,_\/(EFCT@?NT=FW=VA MF;^D_)7!L9-$*13I=P&&F=!%L.M\:&ZE0)Q!_'SQ17TTKMBR22Y/(9%7%?6^ M!3Z%2*+(< L*'A!4#Y UEEZ-A"_5L0M]B+;SWWJ-X&TOJ8T+@7^LHC2U^4="+E M*$*!L',6A9@0>X',2S@[-W;?NC++><["&B2,J%=6Y7=LZ9$JHY%?5>U M[&& 5N T#_?V7EJX>E7L@3-V?H/E->7MIE6GF()]"K''EX*L?9E!D.5QYQ8C MV+.0O:"K113KQ.54>),Z"HI(D&H#B*,=B8,ASODP!?QD86! 01G S"1@*M)= M*7WSH2',#,4R)QK!Y0%9P6G>3GL@L5I%#560W&!.'R2P^E_4E76$6?44$\.: M+M6U<-E>CO$GV83?\^=@,+14FM]46 TH0%/1=KPG/=FAC RV5!ABC60>77] M5HOA,#^\._*1RVKS#"E4@;3JIMV*$-/;22%'@U=QP:E3L!3W"!9\#@32P_0N+"4@Q0"Q%S9D +O%J[:8P)49 M@O"&U?1;JEC@R0$0U]@8PYG8PL)OA)](@H8PQ7@YFJMFAJ88+1H1/WD;ZA]$ M9Y$+].'H0V%L!Z3>*0B.(2_$S13_<>$!-S^D!8FE"?0P%!5 M)X UVCH1A8QWPQ>5=CK*H](37>GA@#4V/3#8!DF@N%2S2(W-0ZYMXX_JX2T> M-YZO2[A*#\ !\>2-]-&EPN>%CG!7N;:.3$0X9.JNT+0BX4NS..#Z6'&#JU]X M\#'@\IT1CA$0F<:0:=T1 9UOP!-ROP!(2O>-C"W"ADS%6B(BAVAIB0HCEKZL M)6C+KN0C '\(92AE,NQA,L$6]5PU D8<8EQC2A+L/M=X>41$D=XY5)N&0P'C MC#3J.@@Z TFT&*DZ7*"")@1[2R:!XOHH[;$GBH\UPY0I_P2I!^Q2:/8#71G# M&#/Z3G05P$5NUTB"U&29SD8=-VJ9"\L6'C*0HJC][+SI[&%"Y3CXCHVLZ2: M"1XNCGP(6;VR+ 4G "$/)1)\U!5#H&;^EI6\6+2?H(PLYR(Q[HJ.-L34B'BN M$;?(V&\X6&2*QZ0R=S1->I:%G;+2(XIM662!/<[,E@IA[E@Q#69[H\(DRE5& M8V( :R1I'D,7%!:*ZFL@#M?R3D3.-&$*JVO!'D3I. .3.>CR, M!X00E&N9448!4ELOGP5J4'-LYPS#,Q\S/I5L,S;LY/\3D )8>Z%L8F/VH_]@ MND7WAR@\E+,RH?QFTHR=QGUR3D[#YM,,8WZ+ M1=\<@_Q"&:60FCP@;1?Q&&1084JY9+Z_4D4;YVMSE3D%Q.DF(":0$$>RX;1U M9*%')*R!+ $"7$J#T,H%P@00+;>/JU0H6MP(#/%G&N2"8(R^'YW)UG-:L'K?-\,96M:@7Y(!=DUK4T]654XK_LV92"L\S?E?N M/]#YT#P$>8,.(,[MCW4(/L^AL'19[KG@C4 M?UF+]R0<1K1,CL4\HE!B]I/,4*2$LS,)^"*5:"2ZIE L2;@D!$MBT:8VES5A8P*,HC]SP<6:PMA!#/!-\6@J)0!22M"5J:B+ M7!%=W&QY0ZF=[/ P%LD?<"GFC-O,9E\CI)P!?";5M7*J#LL#IN1O?@1$DM$W\ATAA2OEL0LM'1&?$2(4]%G/YD05R0\.O1S4:Z? MCM+(5ENQ-SU>.4RP> "[8TORHD.58LBR3%T;H@N4'?<296<2;(PQTS$5_M#* M0PUV[2I-,;81_@"NYG@LO@UR%#2*(0N3WCPIG& MI"&G#2>,"D-V!LP.XJD2DR$KB.)JZN,XA_!%#S";GS0'53@I#4X1C.MVFSKA M!@BH_65AKEBJ'2VY9G<+L[-*#]5%<,BMP*O)%8+I^6$'/2U(.K &>@S(@% . M$2ORUN0,9>/\"%V',^7(;ITKP):ESC'+],.@5\=($3C2>&KQ$8K4 )U0LO<& MZ!4<-N,=Z>;<0-:!4TOW.V?X5I%.3(U_W$PL9!^B29UPR6Q91D^LTQ28"YZ! M)/@1A+14@417;@@BJ^D,H2:%I3+J 7LI"/NH>X!ESQ;!'M 95UCBG(SV M@&5?R=Z I?+-DA6/;2F2%/, "8!K3U#,L?K_)6:QU)E_BZ?Z1D7&=I1K(X*A M#A'O=,HHV0_/17J4,;@AC\E2TLP;@%K'64C(%9FG+ZSWC^QKJ61S=7&12C8% MT]QIT8*%M_)CFHB2K,0*OY8KE$+15;"A+-M8*SOUZC!)%6EEH9SAIOA%KCF! MCBHV8=E[V$ B$Z=R+)8"R?#+481Q;>/M)> 4AQC=AN!AE]E&&7(QT%-]> @U M "5^_N6MHHZJ6P[\5717D/@TYEW.?,N98[H0>832-4O#Y0;2"4^TD<"&&L12 M#7N41DUA3PL0>W_DG)_&T6Q:CQ0B&X0?A8P4.(/^R-.AQ+P1C;$#8_ M9-=RQ7X*MLE%#.';_'J>,P_C,V5)P3'SR@'!(XGNGC8PWB,.:,'_I=(2+1Z[%)N/H2 DVK.5]5A&=)<8#G M%]]",J4'VKAP22^@BCEAAMXXN:DJ>;QW"&T Q0.XJ."]?+" M7N8!Z(1WCIOX&*J>\P 4_0*ALG&%D02I7W XT# 9#-'*'U.4#Q_?C@J[RC<" M?OX0%5V:[.3,(A)WE"<$,J5&)>*:^0BY&4X%=-P=Y0C[B,KS(A@Q@DF%M4 M%KH]Z=8EY34M+Y('AY5'R%Z2ZZ@6 >99A"!HX/!3XPUSEH_T!4J3I8#!8A2A M >!X<-A8^)8Q7][*'":IB&VS_)%,BVI(""*TT&1DCB5'3,QN.X1ZF@H$)0>13,PZ30 I-QHGU(=LS MD+(3CKTMU&S%L-X!FOREM;.8,Y-JJ;UI2)-&_)*'A!XHD64N903,F:# 7>13 MX[HQ)@,A2\T\W].XT0DZ"*C-557H3&%5PD\H<<36*-;N:6K]1]A\G8YU:74Z M>#RUYV*TGE4H;D7:XBY-XRE=S"EO4^:/P"?/F/!AHTRLWYD9G5%](JV\G'? MAZQ)'FMG[-4LA_@OW#0FXE*B(LCO;&"5!+&VA7G)QAME]/3&)!E$M@POT#4* M2)[4E<9I >[>1X6;JR*0@<;VX9,$@/PTOCD9U<;I_#/L1+@IP)G,ME#R[_Q]=Y=/3,<$[63!6<*EPOUHT$97UO@B2)4#D4]BF%F4 M67J)R;C],/1M^ I0.C38PZP-OV(['F<%Y#86^)WKAIH9=4B&\LWJE9M,ZB44H1RAX'G-1IEDB!N#1D?+A1B-&0P8XV^3 ; M0MY']<);^SQE/Q1D.H5S18979*9_WRGN.@ )UUD%OBQ)X,MV%?A2!;Y4@2_S M!W+D4R:1*I>(0+6<@Y"SDG)6PEC\L&WUPH!,?#GFU=RN%;-^.58:9$OR.GG. MWRW-M70UZW'<0;^J=7Y1M",-8G(T+;=/-9T 5NOL-G@T].M3X"+J.2:_BN=@ M^ P&WY+D1$L_28Q\SM/[Z>K[Z+B MK\Q*IXEMQ%J-&3F3MOZ^O[4[P?U,WEN^#A%"C%.J$@KOS\!E*L].9<"V<%I! M,S'9J"HG5>*3NBN,2,"$UCP,ZJA O75,Z!FF]H%:FD?LCES?QOD([P:E!"]5 MK:1@(2T+M*\5%S$6+@MRY8T+MV)]=J'W+@O1,F6B:K.XB_:(SS(^& MLZQO))_E-GGL$-%P/,0Q:\R"5MW.MRXEFF@ ;5"^LB82R,4' M./(3RFU&Q4"G:S6V=VPPC0T:2).X15>.GTS#;_C(LTJ5ILY=A:YM_7X$C,=/ M[?TYUVG[ZN@X\\&BS;M'.:K#$(URY-@E8L36Q2P&858#H,W+98VF.0X)UF: M^FIF'46X(3"(],.W\FGJ%"*60[_N&Q 3M.[O\@ (6MKES_]]U9C4K6;^@EZ=:2(I.-!G@!;.)(@;>,K[Y&B+&1Z#,$BL..%_"H("KF00:YP2Y%J-78.P'%W#T8MFU)2/\]:S>50P )3"HX>,7I8]I S!+"6RGA-K(C0AA[F 4_N$M5UBB+8P-M,>REY2 MVUAK3);"8S#IAC'QK5C;@&M>9I;ZS+.0M[;;$B!'!6>)#:L5)G;9FCXGW2RX MW12;R/GL*3_*&RK9XY$&@I;,J\P:R5RJY7P*O1Y%8O-]19D*,>9V$G> ("1F8\P.-(X;J)J I8M7RO$IAD9A![WB(5!09QS6,Y%T?AH+SM>7D M?:WWDF*.-/Z3"KR2P(]6_$ZBLJ#9@?+JK0;&F,%\$D ^4Z,#AM=NH-1HD86PW^"G.K\0]%P(**:ZJ4X5=2 M;VG>!S4F_%@DS=&Z'#TQQI9,T-FHDXSP'5.XV*YR*6]"GYS97T+!!J(:I@^S M<:S.M@WT_P2HGJLAE\%.8RMS[@=K/@*P]Z4_')>CK:$D2KO<(6Q-+D1PI:THB M- "A6LU2(RLQI#UDD2"YJ$NRW!K;<8K58Z%KN4[/3%NMT8&J(8S2J48R_ZA# M&43YH?!;[(:10=GR0=0$=46ZL1T]8)PA_=L0/\,RIO!.BN4:;11NH1%Q/$@Y M%V=X"T<^+90X$:A,*7+(#/_+>&(*LJ"-& VH6: N*]V%R-ZQ^@6V(A[GI2 L MT^I<4\.GC=V"ZMV4B>WI?(EUXY"CH;&4FGB)M,+J<$@1EUZ^!X(87[!Q#2@; M^*/S2AQUY?,GJDG2IW/5XG!^+$\8]SPU4<"4,I(&.0\JLT?SEH7FN!Y" M@OQP!FQ6!YH1@[)H)RJJ9RT18\6+FEL'8]ZB@O>'"U6P?+I))_<1T=);UOH\ MIQS_/94K[Y/AR_A+3B(ER=428';BU*SV80YFIH6DA!Q.UR[I T5-I$:T![TB MW S3V=D=,TB2KL*9ZI/"2\$B#N<@D^B-]S!,XH**3JC)1O*<*6W,6$Z5# OK M-::TM &*%?9Q_GQZ<+MV:GN'K=2J8\T:A8'PT-BL/RH\&A%!,[XT9GC41ASM M1=FNX.[] RY@)([_XHRM"EN9$K:R4X6M5&$K&Q&V\OCO6Z[WYL-\O.HJK;,Z MQJN,PLT"&?D,V0+CM)U'/'_9! M$3'&W9K)88TQ;":M0T;B9*X$K(UR0%H/:.!08X%43O,DNN=PQH$'ZQI+H;/> MG09[=YH'+"J#S!63E1 #P!5R?4WEJHU>!LNCHN96>]P^_ ?:-G[(D6/:&(1D M?,3"+2I(BZ"5:DJI:7NC73_GE(3\B+0R>N#A,NXDXF0JBVW[ %0^58%JP/3% M#7Z[BS(V%X8K%I,OZEF?,AM@7$P !53,U!28NT]-7BENVP;]E)1#2&-X4%LP MG;,H+6ZBH*_-+3$15)JS/EA&PSQPCA8N#E-JX92IG9\!+G!#WN;EO$V7X#/][20$LE9L%]5I;(PHU-AU,R!$,Y#'L!60L M2GUF,&7%P9ZBAR6H:,K(E-4-$Y\DK5^4JU3LXJ2M$UU3V6+L3,$],_KAK:0V M"/FG;BDWRBS3;+3J-/.R);7\46H% OI+AL4M MYXI3J"53<:HFPZ_5TNVG&^)9#NSXF&7(T#IL ME"!#J]6\%QDN;!AU=DK%Y*K)"S"Y9DXR[%CDE@^&@JZU# @\X<+0O(H=WLL. M'^ N\8ZE<85#-'IP M)$&$)8F(?O>WG*\A=4G*,=VB0R&M"V%:>TP8MR=%^['&3*;+KXF#(GYF^[,8 M]LO^>5QA9D6O/> )*>?+MM3+.7D!8'O3C$Y3SH4%>XZ-PH; OLBWR;!U788@ M$<>A^P-_$I.GILZU+%)]W-([YJ3 RBQ#A0J$V2X+\%R!#M)L[.HB:N3"53I1 M;#<1;P@BSLQM[NX5+I$5^994=J!F/ZPSM+'5W-Z=>'?+&I(9Y*C%Z=#W354" M,\5"[7&,&+DEN!0#Z[/YVM@STN#'9T=R4WYN,B*DQ5,&$) M?E$GHNY4MH2J=?-/P=8MYR3KY,"5IKA[6+YY&#L*C;B)^QQSA"+:Q?J)%BG':&0"/&&7^7R7H R>#/L!.!]N>PUID3 MP/$4_2#884DEW#SKN4,9BF-E-\K=]+W8_*[80*VL3QT+%J812#C4RI0KP,./ MO>:R\DXLKW$Y6M,W)(KJV*&)S 5H]34"46#B8C)_[,1,AAFT\_8,PB@3DJTE MG#2RN!6"']/ ZS3E5)@@JS1#)9X7 $!P']QL5ARMO+U?*-382M]Y,YOW-=F;8F.H<\=% RQ,X5Z$N/)W59&]]3 M#Q"&FKE%DY\;ZY5BCS>1%0_?BD=%Z28]W[]]NLBEB*$TK3J4 9H2!A!+J;YO M6E,3/V:$":[5S-U6J$X+8!0+&9F] (0E'5J-P,9J(MH5=WU,+,X7;J\.=TEW M[;'VK4Y'4X'&L;:[0#;K> (''5_F/1V33<%LZ'A6+]7$K5%H$VF)7CC \-W8 M5(8>9U.A;1YI_!*%(F5F>*88/"&2N2E,'83MX$=.ARKA$*PJNC^PD#N5J,8Z M4JEP$V7-U"@,O5#-<(PRIDE9&1?X%5 GP]T;X:1(>G0%7#DG )DW#MW;B M\(;+Y-(QQ2,.-"8RCAQDA$17& )1Z 5I MK>[,G=45,7-[6Q&=_$DF;S]=#-?6B2AKD.U9-]AF*P,QNKH$6C^+!#*G9V!R M!DX^!VYL,VE4I@*J$_4T$E6=U")66\=WCXJRI8J.IOZ:69?:G.;CH.J3;VR1 M3PJ-Q WI<6QS#4A+,G.I HF6)9!HMPHDJ@*)-B*0:,$Z[]>"(8]+N;/=(%<. MK[+H/\6B7[25=K"%2BXM9:A9?S:J4O"R '0,__"M!)5ZR!YO- MQP';E=!B8]/ATC<-[QQ2 RK3"P. LE Y1< MV@:NW)( ')3LE]@RU03R=;']3C_OR,'/R<@"%M9B(M41(\F,3K[N0H^JHC9? MR_4VLFHM]7[5PE-I."$*ZJ-(9>V"5. Y2I\*8ZV',F5 SY!0$1I=MLJ;73I"',K=I M31=AP@5XWMP#XS[_!LC=9C9;SDF([ADV$+._Q.P .:ELH"91CS24A-T;J;V# M]\I404BCX_+DA6/M79-F-NG*".HD(.<,*(5FT$ L"(29#?WQ3)FSU&:" M:DR/6EN9HT:=& CGD(RID")6,/]TO3)W9PL%-FW5LSYM"A4A;)[D975UKOJ8 M[F$\ E=211BU:"ONQLX_0X5-ZDV6%)]&4L0B)QF&''.(P4EU<]!],:P;BM/! MZEF 8'6@?[TP)D]&;#E(KDFQR;4R*&3L0T2:,@YIO(+H^[#M71C.7 M;\H* 91O@AB5LAU \8ZXD5FG61(,*F6N>]GXW*?WS1U+)L+#H.9+QB=A?;. M**U%D=L!6K$QP@N4/.N8%F,<-*A]XPE)&\83NY-8,8,2?# 0!4B@Y'Y9Q3$C MT^2 '?=VRET,=77P\$/.9\_>UVE(J.( /EIY-"K:-26L5,<9J#N M:J8K(2&!@3X:=5*X2S<3*X*$:B=B0#QU@:(8->8"@/B=XE0H$IEE.#.' ?": MD-+_\S/@DX8&.Y;07%:^:@ZU3T,N\E^IPWKDH[W/OE@CGA&:, <2K0:V9!9Q M;K1GX]''0\XM&G/EK)E@I-9KXHJ\<04K8%&FY-D;(I NH-CH8 ,3'$@&1G[ MD!/9;-1T?A3[8!*J38$1049XIY\,E(=<*F]_RCJTHKPMN8M0H=B1G8SAJCQ1 M_@S\A7& 6,ZH *BAI>]9LBP(&CQ'TA \XT[!\3"")TI43.JQC2;"5GC)@#L M@/C';4[S&Y;"/\6[^^!/M?F96M/H!5RX!]@EFVDW.VUTB"D@6(Z1UHI=TRAH MQ?BJ@*)I3L<=MPE/]WMV1F8#\ZH#$!#\%KJ 9.":LG3D<,=Z%^@CPL@'FE>* MI;@H2^9I>(.D*C;13-3!T%+-RL-15G>W#?*;G\DNODC0^\B]V[#(TP5(EJ@Q M7-A8,GOA"TG&7]DSE78_(B9IZVF!_H/B;UUZU"W5NJBPFE:N*'I6VX_-Z.-E MI0HSH"CHB"LH3D4PEE(#([>2/((N.':JI;GW<+#JQMT])G6D*E@VZ3JLB:*# M-= W4Y''ZGJP5!*23;HZ"&X:2V.D01TF-LX/A9>&J=$5ME Z96DQ]^URMJZ( MSG(0^N@F=$G&X6,]WT [1'MBO!Z4G!51%$&N@:JO.'P:^QG6AQSG#)^0 MZ X)Z/NHK.>%)1,2$[&30V@J]3NR7\<2]V)4R_$AZPSMH;W4( !;,:Z+V4!& M'[,Y1S#"GX"I.?W?)T*+'TNKP>7L)ZSE<^G^&UD4DB7U5([RX3Q65N,D;90) M(RX[@K0<7?F&69 (ZW,:7PCJ\E!YQ6 QVL6TP:IQ86QZ@#*(-,3FMS M73=.LDKO<[FB)$KI^5@RM@U%9;/ MU1 D$WJ*TBZU^,I:LI?G3!(N=#3P1,),3OZAVMX<$8DAZ5$?1/!:6@8IM2^D MKFPNG5%L0@TH[%'/='*?V]9G%DZF1KGH=JVQ,2ITZ28*#S G:=G4FP6:RYFG M)5X$&+C+1A#\FFU:)69(15XOG&"JCI%G/C9H3;@5%&Q=/,IJO!CRB..'2-#Y M<-4H41UMB4B4$/!8N\=T<"<\0"MN9+T6?CXO@00(0]%,[R0BY!:B8S%(@V*UP)"/ H4R!!%S+D)U.BS'J(&*:[ M.32[Z>1Z\5I3LLD/R4)8D>XF 2"Y\I6I*:.TQX=,CE=/,A;C%!H9"&J3,,"5 M>9*:)OJCG/#(,I:P ABZ8FPN)$>8^"&G0&!G;-+DN ]T[LO9L^4+IZB)R.1- M8AH8,7:1];47'EH)I;%=LN$TW^F]EJN,F":,F]Z)G$"($QJ:!)17E]*J&),I M,29[58Q)%6-2Q9@\BD.;/CP8",XYT 7N3!35JE8E8:KHMJ0>I4SJ3:J?-.$% M9)F1%+J:1?"E3(E>&4A)QG3.-LL2WG.\'0&\M9)IJ^N)GK MVY2N^,Q^USJ(CNQ[^30):SU*G[ZD^-6OZ@Z^5/9&)LAU*1# 1/C^R$W' +.; M!@K8PDJY+,4T.N-=!IH4()R\@7#(E]BOE7:N^9HY.]/V-;DGOQLSB'FCAHV\ M"**U!QN+U$KR36H+2#9)3?Q4)VL:\@&_!NV-UWZ31B_064%)'8<*&.W,@3%B M:H9+!@R]1'F2:Y :M6%B&Q'KSHK?NY9D9-PH+0^59TM+TRH:;^T5$P&.+E'; M[I=JK)"#75GOUR $4ANF48Y7B/(Q)M_UX#>2%C)(^# B!;M0 M!+U;P[(@H.7!$MQ:P5Y6LR%\GB%&&(&$'1CNZEJ,WE(@5>2&0WR/;%>IUF)B M*FK.B&S-9'- B[$Y81$1!%+5; !6+L#)S)P?S8IV9:$9-4-)"^G;Z%(&U7"0 M)8!C]<^^C(K#B$X4ZB&/36<$@TTP_P6A-!R9OMZP04"X>)"!1,MWHMD()._$ MP+2@QSD;>UQN&01*/1%@5K-5[)7M.$=65E3>_)REUJ9=YGSY"/2T]1AQ$RM@ MV. D8."QPA@7R3[G&Q3L;( 42S59^YE=NW0FLJ@)U?' <%=+'J,ZS*6F7L[/!C:/7 0L T&I;JH"=48 L1 MN:&ICRMZV!P<4XUB,P^+_K[=?KL(](Q3V2*J^93:6LC2*1C)5K&*[Z^G-/4;68D)W+V2Q7,#0"[YE+>[&AG=] @)=5I. M*:W/C%D\.I7T(

\:BL,4BN-DGEDC2F X$5?2PT)ZN8P/#H8WB9FFG(LIXS)6=MV$"E @/J]9 M!77*V@4)#8,'3 AKQ,*7BKA2/-]+:Q_:/M8RT\-(O$N&5,<%*%Z$GES,A BI M&QI/W;8D*85 +0\[T\;2#$_XJS2F^W)17ZY%CXS#M%#CIA)F'SH@"G-1P&O3 M^\1T/@'9*2K@KH$E:W%IQ4BLK612Y!EW,(Z88!]A%U\SN6&BHT1FQ5[YT0X* M!%V>LE'?,"#(; R+U*8]F4V=0,\X]R^VF2WH-&9 $9.R*(L!F0C#9.B&%-># M"Z5:@5-*:G&,_7>3Q1!V##N'?WR.I#'A,<;+22AHZ_=GL?ITX(HM.0ICIW7# M<#I9.NSD>41DL)D1Y,]0N4:>5 @R0NG!P$$LFVO4.Y21U<:7WGM\D#*Q(G4WJTGK7B[%[>-QA&^QZ#^& MZZ0V3!(P$?V_,[![I T:EL>T2Y,/Q%BQ8AD]BDG-7JGZ("1._TDU4L[-K]G,^)&Q M>J7$CR3@6+TBO\G7I"7L 16<[7+D74RW DVR-B;)D#^5L])B;;+UD;5G(P1' M%O9A4(G@)2)X:D*@ I;)$I]R<_KQQ$P;*XS6!<5-?*G(< M48@+H\F9WE@"2XC8MG=(9+F7*)H\N'SE/.G4B]23:GF#QBV;&BA@))^59B<] M75=B\Z!A0P8># >36($^O:#$]0<3BOOV]I$(A"<(\TX'0[;9IL'PM)BC$#D7 M:Y;'(DJ#CRY#]\<($)PY* KA4R:$8U_WX0)08Q[[,ZQIF'?G4&XSNFKHOMDL ME5;VXK?2RI=!CPG"_XC!\+US1=U]:WSIRY>CY4R$J,)=IH2[[%?A+E6XRT:$ MNRRB-]-9WAYM;-2VN9*(*1B8XD],BDB>#&?F9\R\ID=S7(W>&I(YR?90,M7Y MPJ3(4DT3F>9AS=0!Y@\X'1W^L(T&J=X_?2(J5*+."SVFGZ91YVCZ'="2,%C9 MQC)PWA&7A= 1AD3ZJ()0/M<6;6\Z;?2(%5:#'\\OG^OH/Q!4:4(JK:Q!G2^& M)!F8'8CZ0MNB9L88;]4$HP-5-H+']LA\1AL!@=UF/;":3U&RN=-14O&S6#8V MR],HB)_*]C6S'1^,G0!&E!P^QNB\1OZ8V1#A4MPZ7]-"?P@*DM0 0)NF,MK0 M0Z!PZ+P'?>8V)"L%;(8QZPQRC1 PA2>MD%B(9J>[!;-UZB/(AB,S@[#A#WICL: ^^S5,LH%-'&/KLLL% M]TO5]T9-CV338>$N>WG'8PNF].F1O=R6@P]?V!_1G9;,TH M3I7<>>A_%DAO*RK5RH/HR84/U $46,RGW[0C/HLXEM?*F5=?&U&P;O*B'H0U?:@."@U[Q5<4Q MFFFOKMH?:\Z1CSX6+&]SY*MN-P*6Z6[5G+/$!;PJO([SR\P-Y@.GQLZ+5FF^ M\O^S]Z[-;1Q)VNCW\RLZ_-KGM2,@F'>1HQE'T)+LT8YM\94TX[-QXGQHH M@ M6XUNN+M!"OOK3SZ969?&A:1DD@#)VMA=4R1075V9E?=\,F^4A)U#24=! E+R M(?WDS/W9(EZX$68I2DNXI5#N@,OR<#92116'D"0:+@NX1C;:!((ZB&+,AP5' M>S%',756@)*;FUCIYL ^0&XI@$-%-4=W*&(YFQ@$NUR\:6#F59GIEK@T+^QR MNF*&(AWF19H704"I(UH03S;U>&[%1S[A:'(V:SD=*4:!= T!;I9>(@AF2=/@ M$$U"*$L=&QV\N!U7=OO$QQ>:BJNE25 J]1GI%BG)[@E3:A?O>$Q&8MJZJ1KX MW"7*:.>6=PH9'UAEBCCVNR!V".0;1_A$IVDFN*N\!,C9"14@"8C>"2#,;)5U MC8=6OAO.?XT8UP)+ ^Y:Q@4Y" ;[^67HM5S/I%_ M9)0WWE-N\9[X=2[$09-U!<6MYP?LDB2'*M*@N0PUXWQ'H?9>)7@G35E=DI88 M*MQ'G8]1\& FO!E JX5IEF&*'"?^2IH=R1$V<04^(R5%E1;JP%8A.63:HQL> M&O3&(OG!4QM73,;NUC0V]NTQ^&W&)[NZ%-*:]0$S\"#52P :8#@D#PQHA7?? M:"2>NWH.7B1OZ-7D5[NG_?!OPQ?O\N9C\I,H;]L%)+D$LA=X.N-/](+ZY1WY MQ.Z+?R4RGZUF(F5Y0_*LN;[]_-&'67YV^?_DG;23@5)/36CI10\FU=KZB D M#>:VS/?5^C$>?&50:C!"64.17C9J*KB#[+C=VH*6!W>$:[)R7WTK%VS52J$+ MKI 2R.N&_>E:^;NX)DNBE4NR1WTS5W:8\K0$]O1A (M (D%;2A5'U4WF6G\7 MT57,FSDW O$D:4J\PYBD-I')R-Y[W>KEGO/W\5&>T=N=X])XM!'[KC92P*^K M^=^@4MI5:#\EOGY3!O."70]DP.8C@UG)14^"C3W1 [V.%]NY 2'[H%NHLJQ$ M CB,CQ0FS;04QL@H2KHW@=\SS"_(?V[2]?R 3#DA MY-)05,@OC^DB"^$VM2.T&]8YGK[D2O3Q)&\MCI@B=(2P&?02_JUZRV-;PODD MW7.BS< L;M)Q-!?4\_#87#-L.ID0Z&[@D MRW#'A08#X'Q\^FDO5SZ#+K(S6A12QADJQ.L3$V^7V0 MK^26*!1R7KM)ED2R19U&%:+ Y!Q"Y*D 4S@OQB,F6YPG#A-,>*U@IKU7? ZR MK-L/Q'Z[*/"K=A>>H"@YD1R>"$[I^;!VH-U9?S=;BO(9BUO6%+<>,5DY>JO/RSC;'/#7_]E2K/KD7A8L@47F=EO->5[WQ'!K$H_/6 M8GMJ]X[M1UUSH)PP O1W WLB[#'E.+IZ@V)0 )PO"6*\G'[R+X.L3S.3 M3"UY+>(,BM8%7-9\/GN-Y;2Z-QP_2#Z(*DP*S$G%!UX&+YVONAKX4(Q3!\W?]&QI0HU,:Z-H/C8R4PYCWTJ4C@3L])BY' G)RY, MIVK#5VP$#U:O-EA!X]7CJLKL "9H-9,]2[6;7% \E]^"WOQ8WE':(9&IE5Z< M)Q5!@1N/7B4$KMEJ)R>3.7 H I0\UYP!/\PH%XR#[C%R=< UZ%G]Y$?[?7@R M%Q"A ]->&AX.-2LY,V\3&I*'PT (B*]C@8O.K--UIILE.N.EZ/AN]2:4-]JE+7=([:Q#N$B'I+#GD^3TY0>; M$V-D,/'M3X=\9_3@>[!TU)P1K?[!I!.P0\\G_+B.C&V=">.$*;PR6PPI*CC3 MX4VP3A^=Y%NZ8XHXH @VVB#)5;/D$Z;*\N=L(BH.K8ULN!B>-FMQTB&KI@P% MI5;E._G*657DP[E.=DEYGC3]6_"OZ^H\'V@GEP+H#,]1ABXZ3X>U)#(7$:$C MJ=C@OX9E/>@%)2'D?H^KSBRFOQE47 JN_YI@[RQR]=\"C>^>TA2I;TT%M*], M8AGI41!#H9_XXU/#05N%G]PUD[A/7_OC+6S!&X3@,@',K\VP&I=V_G=M4''F M6NWSJ1@1(E\N;8=!*U[0*.=)<<#5\ _FJAUIBGA2[" "_Y_>EWO/OEQ7](^K ME*L/;1"?"SI9EBP:7-A')S _!DB P>H$?C:U+ZR=L+G6[K@(?E#ME>XSI))'R2O?[!L:LKLM_+N*8;R)KNV1@%DJ1K!L)B/V^'P]G4EM$(Z_+RRM"GV010? HSZ"U*V2.9-(9C*%V@ MWM?@;F6O(,U%AXMB'%>$P)-2U 9A&UY.5/(1P>DIX%M*GZF*0?6)@80UC\AP M7O:B^.VQK+1JR^>*+6EX-&2-U&<%2,H6Q;CZ[F<%L>NO\@"BCBQY_.*W*GF% M0SZ]](^Q7SEE!)6>HXJ]UR2)+N#:TPOH)U_A,K^VQ5SH$-/CF4M^0["*+&8< MNR\8)N?>TW)QG7IY)P-V_&[21ZK]7Y0.9 M'\6"!_]]LMF=O[>#*IO;[$CKTF(H1X*3;GFXK:8^(?3W-EM\R'%GYVUV[4?7 M7;[%]-[B?;O)Z>WM[.W)^5V]%6*$ZI:W$MQ[>^T[NQO5@@HJZ6DK=+.\(:M* ML8@1N 4Z-E'4-$NO03_6/_Q?D5[W1*]@^( 5:E92 B?[:7 M.3F%.X6YH#(O6)1AI-)FJ03HQK'@,OJR8$R(G161.)LFCH/,Q+CL5@Q1II1/ M_6HUL79#.-/H.LI%XOQEXI"I3-9H.@9!+LCOUD)2KM&-]V:CI,$T@U"BB0>$ MK/54)K%;3RP%YF,K$TMU:LS+5PJ@M9I\]*.SSNEG^ 'WZ7C$0L,UA88GL= P M%AH^B4+#VT#1DHS&JTX9VAM;AN;S&J^NJ%/3^'ZQ6#D20*JX,G1!%:IFF0WA M2 &<\95-?6=J*S5)")WS1HVN[OBP%:< MSCMJ$I X_J+C2LLZ0E_*WG& M%Z+7UPJ S[WZ"_==P&U.1QBB(+QT*O&^,\UY MWD0GJ=SG/D16LSK&=YVY,$ M3<^F3=D[Z]RU/ZJ!Z.)@M 6R \"QE7(N&58/ <:6 K_,ZC=:EGLD@P2IW/>%FCI!@FX(*LGY7']Y$/E8,*E)4V3L5*^NNI(>"R"!7GO@LVM MJ!%DN7F1FTMFBE+Z[ MH"*2HJZEU +IGGW%QB&_YQ=Y-L,7.!OC#B2_%H7F,58MO,8,.$D OG09]LY0 MV%9&5R*OJ*1D0&H_LI)K1DM&')2;;&4B@!2D5%)K2GW?FK:Y!;FNL#5TL=&; M,_25U _\J-.\8YL]R!/+664[E9R60Y84I*JN%/\ MD@JG$8R$4UV I_3"2>^HO+1!',O(^!2NB1E%FJR84%;694B;A9[O*Q!R=A:ZOJ]\O#Y3 M( %-\K.3EY^#I>/JY89VH2Q!U4O.H[UK,S) KWM:PI7NUZG#= LXZJE=)H@4 MF75M6JME =Y2*_[FY>5EO[P$1F>?#!CU'<1.?6?8DJ:;M)+M>LG_$5%--K!\ MM%GWV?_32UYJ/_[*3QX'BW+U&UDLF5@M7(Y9\6 W^>*(YYD)>I0=MHOI;*D4 M3+Z7X@:+[O!M^AT^NWOX;?:==?9?6Q#'TZ&$9#SXGQN'RA@E=DQ':*' 8FHJ M:9ZL!3IM %1.Z?OA1027\Y(T"ETE03%^)N_+^ M]4N9(MYXL(A)*@8MR@/M<'$2*=I620^0ZK_ =)3R>U3Z/2NJZJ.;>*4V81T" M)/0$7RUE. 1?R-NZ,$E6#6>VV,XA?_CU5 BA\"MS83(%20*^PH3C+BRHV3[G MMR!#4,$4B'I2%&A?3PC?W:[= IGI)?<.:21.35UV0.F1Y&BA\U@T2?^#[]P1N ;&$,?M@][3M;8^MRR0#R#X ;5VUT>]+#F[4C\Q_^ MNYHA?P(@M2%I 92WSWT?>#=],+(C;=MJ;%@Z23LY-QZ9%0++ZDOQIT-%@G"6 MGD3^P^Z._I-U"OWB7XS1IV-L+1R$1JR<\SW0L%,_>3/R2C7<+T^S1T.EQ#*K M(1D3OP%NOD/;OAEPOJ+/!7!_A>QM<2R=-1>P-^XT=<9-6PT_ZC*9&2(4 M)2$,W3>'O+1.B$V@S#3#.A^@\L%@@&C*Q=8P(^S<@F6T1O23A1M4I$5_GF2& M>;3#=4\6,"F+KO:QU'S;K#,TP3\\,V:2Y!./\XC4 '8"5(N\[I @..&@IVKN MV9)1*#U#Y@C]-*VF^U(W:CBPU-!QC6)\-\U:7HO-L^"M-*9ZK_9+K 994PVR MNQ/+06(YR),H![GMH47>UDG>SR; ZWAJ<: /T K&D.L]I TY5LVBJN)E)C$"9ES:5O3#)J+JIO)H);"A!U4$C5BH7@;RYZT%@LX;?61*H%HS>T&J6L!C5# MADX682^/F*74:'Q,0VS+:V@BNT)!# "%02))3(=$(D,K;[K.=)=H;ECZS?F@ MN1DC^''#X0ENISM^KQGO=WPKWOE;(7'=X%:\!H"1W J;"(_]@[':_$LC!&.A[(Z-A]LUFZGB89>:;MK(8X#L#/ M,<2]% 7LA4PD^6,@.5<57#G0C_3DV(*[BZH&7[B1P4V.26X\AE%0Z[1VQ'V MA_4V=JB,+2QB8]$%&$:<:QHB9R8X00(Q1XOJW*R!=%8&<[SX#]VYK%*V9>=] MZ2M,>;H\VWC 'JD%&J^87^3EG(RX<_)140CF"JW._O,RJ+-B* -8OJ1SN.H9 M7R4KC(A3RMJ1@3?+P#R,<#8<*E1@)S0&2*%@FI7%O5'XB+6C A<"I!QY0ZQL M*3#)Y9VE7Z4ADS33V0DU0^Q:N$$V<(/Q@S*RCJ='.YP)M-J+;8\QB*EMP\_+ MZ:P5 /G8:;=Y?EN>T(&2Z7+,]7+K)Q %@X?"X6":F4X$6TJFYX2#.(.Z4:FR MG)@LMZGI1HN7:\.5/"3CK#M&4A(8I5OM;I,MQHUN4A05MR J1EP(SHR6 ME[9P!+?7Q7 <:IQ(^S/RTO_]_K27_$S*ZB+5^4XR;,3;2^F0Q(8%*;3XZFPB M18")C9,=8N1/5_VV,A>ZI$+\&&0W'!F=]9&2FZ6D$$SPNT@P3QR^M;,-;^#B M]KYXN/S]85HD:UCH:=+]=V-M_EG)"MD/UT@X.\+NAM1Z2+(A*6D#SC?5EC'W M[PG2A-(,..!LB9^_P9"?W*T!+T'!(G7-E!XS;04M,IS8MY+;QG5UV9Y'B;%Y MV:](R%:CUQ@S/),!&0+8KWF,!JU5/*(BJNS-7WB=K6I':3J9K#?/?"+1+?U_ M"@*L13&C)*N@(9Q&2 =UE6:1HIN_B-?$-5&J4E32<.9-,?:C_?P^2-\B&F-; M0-$/5R&M0EW+#2[=5&09 66[)KTUML;R6F6D"0LX*S,JHVWLIRWGIRG+.?%G.F93E/(6 7)0/MZ+WUR=N M1")(XH:ARAN2RU/,MN*QZJ,1EV2= \5H;#I]1#*T1N=T1U-@LT3^R8?(."+3 ML'6'?)HB_VO3IJ3;P 6!HZS!U)5*(!)VXWZ8WMG (A\6::Y# K)TPH/H^&>C M<&(NSG*#*,G=Q^0BB]P+BR"8!M&NT3G$7!!?\7/6':N@3L2.#^&24ZT!]OQC M^VRB@;\%]'T[Z_; M69X7E;DI\^39DZ"GB0!@/.(]J49,U[70D'&<#[ O>?: M80#50V^)?VVRR=_A=DUV_[V>OS.K?WH)OGDF[Q MY>X +';U75ERFS]+1#[(5[X9"AG/\"J-R(6@-*F8NXI-A](_U%GS^"(R +QX;"2W$S5N0B3/IJNKR[]B8L6;M6UL%F_6.NBES S: ./&%A-H M)LIW?VLXTZ@;LQC._.(6_)O>LWBE;L(*JQT"S^_WQ^IK(-#!#U,>ZFS9N$%+Z-!TV%DJ6D5%!!5.Q?Q% ME.U1MC]NV3Y*\X*'.2KV[]S._+TP)*U;5TC&ER<=8U(+ Y?)Y1+I;3_3N:8# MPP!6$RD$A_.+OAMN94[GN-K=:[IURB1>[(? Y?%BK[K8K_*FGDU=VH'[T-U] M4=0!R3^X7J/EWJ!0?8JJ[=09:H6@KJNC.:7Z2#^^!(+ #?Z8FEU@%\.Z>N:> M&G2D;$HN7!-3C>.EMA10:-<^-@(*14"AAP0H]+##Q=$4^G)G.]I'F[6/7C)T MMFVZMK,G.L48BA/U"QD1E<+]#M+R(S#ON5#W':(-KAG_ES<_OGWGVO%]D1_P M#'F$^5"+ 6::VQVF)3+#<].& -P#Q@/(F@WZ^'0(CJ>0N(^E)!?M&JG@N4FY)5, )Q>_WL'02L MW]9F3.0NTDL+T)\W]$.=CM? F&#M:=6D15325T-5?P;0Z],"L:;SN2M9;95)!_EH>L[B=OW+CI63EK9@JI^/[LS*\MB28^&AU;3>K2#MKL)V?V-$T*6<8*2[8!HBQ=(:*#34&E+O7AB)PLXNS',,-9X4=I"S)\=Q.A^T@ MJ 7M5P$6J?4YK 8SAJ>H6)B_9H;3P.!KT [J$@\' MLK7-]1F9)2QC2MQ"Z@![^$ON6U,RR1R05+-SZP>V?%[?R]4HB+.2]EEB3AHC MR-)Y/JG)9A@H>?_8N2*6.AV/&)]^"KSZ9C,MP-]U-C*HVV2RK'\JOCWP#&6?E]NQV;ET9"':S08V!,QFGU_-KET.A*;IY:WG1(F$P\ M$Q[K5+/&R\K!/!"X*+HI6_Y.I.!F*3@R&@*JF) 8?.,$9*(C,Z5ES>@W8)78"'S M>F*%6_.<+-=)WIW^ZFQZ#[/'E;+RR1AI6%/F:"25XHHLC@,WLW-Y7)#M8A%V6J MT(E!*R?W;A*S9E#90X[5!Q,3<.)$2BY@%!@&#*AOSZL9_7XY6$$_87F- DFX MN)>\)"XG#BKSE"ZG^932VK^C!^D_.5X1O_UWFY[WDE_I"&G-7![]J_F4#[MQ M$WE3Q$UJ;*":M)Z<3NNQ#6@@#5Z58*!7VPLA4IILZ!K1HPP$]>VHX M+>F&!?;$+"_$N0W>A+\U%!"(^C";2)\6++]@1FF2*-9.9D6OE:]IK,\ M3XL1+AAF"?=9)KEMPS/JO T>'K[^Y]17Z.MR6JYG;[L=>M'[7!9>!%Y^4N&E MWU?H5) _;T*YF07A91&V8)2>DZ2+LO/L/R]9A?[SU=GK?O(Z'9[+JHZN$%P< MB68T+,69;_QO^JID-"PMXAHRE.<2:L;/@:NP:BCHO4S]+,N)1?%.JZP%V@,J MJ1OF9'1)A-N6+?H7Y7'&9,S)D&RWKFHP'I+8D3LN8AY$\UT<7P9(B@JENWX. MU.<6MF(IGNS?_'Z"C&SMG*EYN9YV_\VS -Y.N0$%E^D6SB8-8T(WRD$0VOD0#I;F$LS(U. &^RP>\$WBCNXX_1LUDRR?NWJG M3B_]YGH"=^:OXSGF3]JW7YJ[6)DAXF<]T=X].^\S$"IN$L\J *DO M;Y&Y5<,UMKS<6\O+7FQYB2TOU0-L>;G]'H"US_=X G\?/*GA:^(TGM%Y51F_ M[=5/MCKHWR4;)^^AH$7RM][R()6 $0^,/55?;9J2%3&8\\^6 MO(W.M=;*!3FC><\%9I9K=!+CYBS4L/%'4$HLOW;N&PT*46'9KU[+$ M0PLYW<:U)Y8@YJP-@#SXZL*M2SOU>]S^X0U!,DF'8!5)#S.XW]!D881'C4$O M.ZQ'BZ^(RR^6&TJ[W];_B;S_>_80:9"M C4WZ$ MF!AOIX1W"B^4+P^8XR@IYSX_FY/_>5?UHDNS5N+TPY-9438 M:)PE3&N4UB]?*0%%./+,0#;J)0G""ZS)G]N[9:\-/502+T2H%L8$+D Y]W)# M1I'Y,J(4QZ-.MIP['0B._3:;Q;66:/FR/BE7GI3F@YH@R4IO><=T-O-D,;W' MG*L3ZW2,RLW>1W<6U'5-4R3>Z-^U14[1:VR]^EECH!_+K. KT +E4U .&KIN MY-'WN.3T'/&&G@U=<($IF$\/R,)%GZ?_D]894LJ7=,$,() 0:*U5JZG*6PYB M:C !D9"7_ICM:#^Z(*M>C@VC;KDSBXBE")=3ODQ4HD[/8D%88.3*X^;Q9WJ= M9?%!W#[,!%S$H2%Y2?8'V[S=Y-JJ'?>3*Q!M/FNE(/MF&7+^F.Q/>GPIN\ M'%_ PF[W.AOB"0Z*4''CK SA>P@[&\@6"/>!Z76J-D7X"02T])B(@<]V9S>% MC$O;,-<:+^QY=]D?D[M$*9R1N984W;^2_TG1]\")Y0Q^37QWWPS\-7ZQ< M# ?$TSSXWRC=>)6VJ6WAEMV1 (0QE?Q$+*'[WK%#??[53]Y7DQO)$C)W4!1+ M4E==.[4PIO3'W'I[9:)&HB4=HX]>DEB'D\ 7G:TS[B'7U&.0 V%%E;=J(^)& MIQ!'8C4!2IRT\,J/@XS(.M&&2;5(KF7[3/%N+F= M67]]GLHEJ"HWU* 3'^ZI?\AS"X771S9CU7I7U,IU(4V=B>X5YE$V7WYQO9O\ M:#G3;N)(;TQN@I29M536ZBC4$3\M:_!WLT:==WNC-%)/M":M^[G&XK(VEV8! M5XG/!X\.9&%W-A>,*6&VT)68<3@V>SWI=L=AE 'HLF:HPUHB$_2K^_S(DE M%@MUWK :X"3/IQ0MS@A"\"ER9Q12[FP]U.8"M8T%2NHA),K0Q<0$&J36TO&8 MM<^%66T 75%GLR9>KB Y\.K1M@&=LT5@]SR0?]W_>:S50 ]R"P)= H)/CJ"F'4C%D"D+< M?G@A?(YR5WH3M3DY[>F%%[U)(9U-JU^!]P6#^]KNB9\/_E)8MH0:Q*6#%$[]SDS#?LR8>V.T0XQ%"B0#K+P M%P$3.E2D0.7TG%#V:LR6G2%3P*>BT\QLM9VI2]941)RJT# ^'T- 96:L2S$: M>2JV*B];:,6%%QEM8LR9>2[?MRY8L(ZCN](\? (B-MHKYY4-.705O?(J4!!^ MO%#W6 MF^[*\DX1S,TQ4$&VDOID1^,20V%L7:8O2. 10@8E[L7<:>?NY[6ZQ\D>6UK7 MJ6KKA"1M22&B*RUF+SFC"D*H*UH7(DM=D>/N/".BS9O= M8]5C\(E W#L19<01[FWA_)1,3GTAR*%2VM?PC>Y+<7:1OCQ'*1/Q@P8)XJ/+IR ^]L,Y7/FPDAQ3*3=64F^[',)):9Q#*3F^>;'>B76O-P,=\.V\KE M9P\E/-PP->FFI$TW"$,* WF24=UNQFSEIIS%;>%SCNV!8 M-9)_UF+^0=KD$N^!]FG3CRC2+,=LKJ%TQAI%W3TTJW=A8P0R4!4(#IIM1ZP* M=:AVV4MK;O%1UQ+,#U$C2#?2ITM;4VS=N8NJN/"9MNN/VC)#0/2EP^Y8,3D:8]>-BV.4!W4Q&L0![Z2TU^FY!(_1=&.&=G7<%?O%A2DXR;=I\I%LG;5YP4V6KH6PJE7\SVVE M)!?K16IMEEK63+LTJ3;7VCQ=I,R&84<"^%!KDW/'&RK_7,>B(D2$?6\1&F3S MQ M[U&WK?T3J6./4O%OIPP#ZL&0\E+S*V*-!(H7,;NYFO934)7GDEY5^K@FSAA.3HG"#O/0G5<(#O])Y?:2?B?TF M#J#1A1_N%OG$>:/=\N3U;FT[G[+A)X7/81AFL6XRZ"]G\:G]N*YE@RO@T@C+ M%T7^EXM\\VE:5(TP]BC7JNJA%BJH>24BB3S2&?I: $/0('<=3:W-DBXZD=M& MD5GIX9HM%F^DR69IPF@:7>AKH'^2C*!VL[E&G>@9DS@M-I$8FR8:)T8B?VIB29@6L3A=J&B=.8^B+G$LSJ@FL#?>1? M+;5(HDUGX8 :QG7@@KH9";1E!.H QW@X8B3/ $6-GUW_:4&7K6QLBS+C"\=P M\N9)V.TCM?$NC5HEY"E-V'EMIGE1- %F0*/-VH4@Y*%TI_J4#_%+CQ80P @ M+$"Q])8[CO'7RZK^R!#V,9:].I"*LCS&/:J-CCY*PYJI:CG(FK8+.(.^%>+* M0RJ:N! =.PP&$E>"VG9K4\*XRU M_A\KPJ&'&SMH.;TA&7^9S;(/NJ M5PM=Q#[ZHWVWX*-N^N8"R]-IG1?RISTNU@0ZKC0E7C(44)(.AUQMQW 0*"H4 M!GB?$ANEEPH9[*DC!?P205=\T'2""71Z0X<5GWHC8+[TDRU8O#2<,Z%O_$'T M@RQ __["7 %\.^'>R#Q\9MIH:P=Z^1GU\M+HA!PC,#VR":E#7<'51=XPHM&@ MN@A;/!@)E3[=**(O[6RN8&KBO1;YR*!2[P*;]R^*P(/Q4#_BYLH,*T83\> 4 M@GX:BDN[4T!;9[;2,'>PI#:MT1CS43^K":6B,&.3+6TW'*!EU^XT@#ETSV[_ M%7SO=BS2?-$O0,$[*ZB-[*$6M&NTN\9([@#K%5VB?PHLG+Z2_I916_7"6 M@'9+!:C6W&^B=D#G4(>ET4LW*UC>P#$S!K6 " M@ '$;5RGD>M>8AY[@>@;I(T%U MKP6?D;9MBWG0772AQC2:VT51/H8WF]OOHK9POK9A6: _. M2X3M%HKB#]B8$+,[!!)-)CSS 9I('>2205"AN/S<'9@%VN9L!R$,@7T*&=[% MW5Y9)4$W[+(]=W!T2VHGM7W7;(P$+]39N7:!:%<\UG4@.NXS[,#A6ZZS%<;? M>FU[Z36K/SF/#T+ZIZK1L"L@[-#KL[+[0=VJ=13DN0P4&>R]I[OF3NZE+<+! M-!8_?5V8 LA$ 466(6.OP)/U=MDR$N\-R/?P].ZF+^E;!FL95N,RMX9[37P" M=I>&>Q1W:Z=UXT!1M18(4VWLI_V4@D4 T6".B&/^QCX4)#1&T0TPED+P\3(+#RR@;,Z6Q/T4"-="*M)LS$1? Y]@!R2O>>P!?YL^0Q=F MA+O&@Q)L4T+R+?[^K*V><9'GQ)!YGGW73UXO+":K +>H\VW<2#1LF4NCZ*T3 M^M.Y;9_#&]CB^0 !HHM.I)Y.:0KK_ZA %!HGQ MWJ=E\@L98LD[.@"3O4"DEES&-*MZ=HJ9']^-1Y+EZ)6S/K@S4< !P5@,HKP, M)]LS=]4Z92W$74+$94';N,_@A%.>3Q<@,K>TJ=%(&"6;20V3Q;&R6)Q.W7>V M& Z,=.!'.G*IIR%T^Z[==1B*2.CAUW"-Z+E?YLH[L$C1I\7=@$] +F!BFH MK;HP!\)"*@G' ')T(KTR+48^P--X2>9%EBI6CYZF0L8+NJ%]A(_8VA'-VF2S MYJJPS>.T"[/J/+8XQ\3O;21^G;$2=H/%@HH-5[S(E J',S9251*H%Y]P(0LI MH^N8UJ2_8J7_QDFWLEA)+&_2'[8Z,Y)ILV2:5BB%X#D<#"FO\SC5Q#@ MI0>%M9%TFR5=8":;"8F]<25U1=9 $GE8(YF?#R/%MH!BXOW8J2SXT:*21LIL M0\?-K,1MD9(,!03CG^'N+HR'"0I?(O$V33P,2;%0KTMH<(IXGQ1FC&@9^/!MU1;3/E9MJ_/HFY5)=4(EP]%(P+NZJK#'/ I%.%%17&SO' MQ(\EY3)>-]P1K\V1JFYBFJ>CN>]*HH;KT.QTBCHH'+S+XB]$6Z^I PBK$H*@ M[.*LDF!NFM3Y(7VRE&"QK8C=4"Q<,60%[!#;SE\5T$-\:)Z%PH7L?A0*RB3M M>6L=B$;N>J[(#ROP 2\,;N'UW" 0H'Y4&6-?"H]9)&^>Y+,T*0 5<46' 0!@"9OG@ M1@<-P?E% )[YHWRIYZJTM2.>T.$\H4Y6@9[:,Z4^DY8ILV;]4$LO*F5MVR#FTEN<=5E=W9GX;;HV>.B&NCD\ZR: MH,QEN'I">ECAU'F"1'TX%A!4'WF@%:EP!03^,Q3Z!--XK+UBI%^J &KWK+3C M?B:SDI'B"U?.YX>N6W._$TKGBF3ZP$4%?6VK/]A_GM;MJW]AQ?WTBERUR M#CV)246732=V^CGOUQTI%R)R6(S M"M;)+IQ*P5DI76,8%B'#+/4 #7DTU=P8]M?@N+'MQ8XN6B!STX%I3T:U6$HD MS04@T:9=R" UKB3MS.N09-D#]9% M13U^XT=4TZ_&8\/UC';SB06)@A6$"C-Q(R?T&-[+PF!C'7]K:BXF#TZ O%4Z MDY2CJ1=HSRR#OKGQ3%[#?5['\=*_.T.TV5*>M06/2M,*HI>O7G*'9!-\3,H# M^9:N&,_FGQ(XWA(=( I.$#"\,$5@^OK>7S=C;?ZDJV9_YW;5*V5*EF?:BHHV M4"[.]A+-2N+%:=:V:':09S(-VWPRPYGG$Y*W.0] U:1RYFMOYR;%?.Z,EEKM M2/5\4X5M90EGV=I&1BLS;;QH_1LZ_;@<,;!^SHV5XD+L"/J0J* #!,6E61'5 M&]C=!K=AW6[#H8<%< L*GGFM6PWF]3H?"F=U3K8>3YBU-UH]=!M/1!>^>+5Z MENCQ\"(-G2=YR:YX4"')XR9)&$K4"M,$+1&Y)UEO*L?][.ZY5E==4GK3L$YP MUI+2SNT<:IX_;N92.(@RZJ=\?7\T](]2^H/TW&$UN;$B=/IR M8R1>ZL>1XABE(WEBYSHX@XV40<%0!4'\5?M[?1%!FDW(%^!A@JK/1!= M(]3 MJ*E%#NY4S6,4D:PLP,0NO\T5IJ[=O!?<158O ;NX:D2]9:N7LS8;-WU9E D] MZ@3;SR4VLGC=P-JDO3.9RL(C,G/L3!7X0GQB<6XDEURT;LJKK<&4/P:["V8_ MYSR'U&*%/!$C[,5?4 M;?4LGP)SHTU 6*SO]#(5O&9->Q?7&C:;F1&Y#0XSR0-G4%\0*?:$Y>8VC>W*+:(V?%+4ZHGLW]X&O$&D M3.]*X$RXT-_:V_"%8GI!2B_%Z)Z0549:\AW;5.^0>Y1&5B3XW@OWO#RW_N.9 M1E7H],ZD,1Q:[8D=U=MPZ(TNP8UT\EE7/B?Q-D<6L4898V\%=IZ6[K@@I@/$"CYCI\7XP92" MY=2=D K\.W6"@*,W0%K?F+R9])+I;$#J)#DW:4$Z*2>E2JM^F_?)D%E0D=_U M]*7E0^$#D/B:H;%0$O\=&(]A510:*44)M58.I&-$'16)D8MQRE*#KZP<2S.N M2+U:[Q66S34+2?9XY Y=SX%>0PM-Q<2"';:"M*+='3LL5#C:L?2#"GK[(PES M(U;3K+3_4M RVJF!16CKKM;-?_'IB@Z>J4"\\/;$;RE==^ "J&*@3(+O,P,* MCW%61*H# OKW8G'.W8F;TROJ2S@LRM9CITCE:$<^%L3*Q7/DN*96X(A\(K.3 M>(@L>EM*S94[(?:=A:ISU8FUJTYQV#KXM$!7JW CTFUBG^L"%Y7MZ-9'#GS;^_3HIB9Z5>WZG -TPY# @XL3( M@E(,DWO$!J*-Q2?52&L@0%9OQE8.2MAB@E'JR'65++UUZ0<"KZKG[NV=[ JG3K$/ MSD6J'AJC_MR!M]?;RSO^+/NR<,I2U+L+M6"="F. MP+I#YH8C F1*F")D6FZ_AR8/!R"/%BF MIVD]X*("DHT;@A!KT5?EZ0<L,I!;D5 M:;9.SL)IKG[].QY5$,[*7N;G=9,,\ X/8Y;!XU;=7F#9LD=E ZN_/1ZL$URX M]Q=T56 >*X=Q%LQ3WT&>.DDC5HL&0S/ T'EL@FU:?0 M S-!O8.\2S]Y/V/L3!VKVMRP[3RJWB_).X8EN:T9GI=548W)=)J3\31Q0?72 MC%.%RG=H 0,XD@,0@L2IS((!V2712*O_/4=/2OX#_OE&#W.$,:@"A&UN"*!?3EKFB@K+@P4D][?$?IJZH M?<5 *3)4,/BKYX)M8?;ZHYDOG8*[NM*U8DNHK!4(A3ZKRZNL01)?LU8WQ4.; M6CYO7R"\)C;S0;'FM1+?PAWX3? 0C.XIN;4XTR(CM^IPRI:RA8(7(,TZE6.! M">,/D^W*D/XR$JN5>QC,RW*'U4-!CYR"-%Z$%EQW ^&!=,Y)TW+G^31(S2U6 M N6NCRE(CEEVL*:M5G//])/!G*CSM)YT&\R2;B36HTTX%'8NLUMKE=J;9!^J M+\NG$" $A_5WRX1;C7RLY59 5AM7.M&/8UY;H9V>8HG,"7-!#$RLK-V?'!60ZYR]S50PIUQ3<G[82B'+)_MI<5,4%GEU4,):JF@Z! M!T3RG$4C>1Y(<'1%M5I^Q.6]\HM35V8DDS?_:U;JC,[]':G+$/'[.W"DDY\ M\9C\F)8?>\EO5A6>:N\/O %]:*>&V*;;MIL.L/@B\> M[R%P&"$46'R%=F$G0!M\+7@9=.$+@E4*S\!)-M'I,"1:.Z3,V;N6_! '5:G- M7BT1V!7@V>]WWDS;L$/9\U>KUYS$?!CQF%B"LZX$YWDLP8DE.+$$Y^:U%;#= M,S-H.T!M]RU.;0A6"@1X&:VV#EKN;3(V:/>0D&Q8/>W2!*&N]HI,MX@"\9JS M]1SMNMJDN"5[X>2X?[#\93=6O&"[.L@]:(7"7G]OZ5MZ0LO?D8P5$T_\]4!! MKS>:;V I=-,VJ$C7+71RX@M:N><^Q6@#'+48RGC+H*A$-3B2:& :04*!->$B MH,$I>=HOE/6[ #RJ,G@"E$4E"5[4!LLQ@&RA"C>,/#SE9,M;#CAY"&X'4#%H M%0)DT+H YI+(B(. (A3U7T,37ZRZU!&YH:/A1#C#@"XX DX@6#'0O=L1,7ZS M- Y1H9R++ZYC)\-O%4?7!.BMT19>OWM\D4CI#8_<"$.%83)19@.XOO3JLD3^ M"+6H9-_\.#ZXB5NHL@.MK;6!SDCJ;=%<(\*\RD?^-9RTTRKT@(U.+04 M/X$S''BT&C@R=UELESFLRDCP#0^-X&J4&4\$2)'7H\M)7^?:K7,C$/JIY@VE M*EU(YXIFV,\KP *P)^,?$5!L XX]1:GA83ZOSE@OM M ^AIWGMF,SK=V.K>JZNCC(X4M_P2(F M^=T4.*@Z[30NBJ-S%7Q7/"JL=NGUJ7&SQ MXV>%3U/7[K">'Z;\4^LVGT[M%S]E'*3[JGV5RFT\:AMW1/190L2C2 M%F1\=R2]@6A7?&^4?S*9/49=VFDA-)YP78Z'MV?2:K"]NQ??^]=/_DF'RS-G M4FXN6]XROXN;(B7O9\L'!%6&?+><:R[D")=XZ"EI(14TP4R<<"X6BN=)?/M& M(8F*.Z2A)5C9)<4Q,*R[)IA_*/4=:.OETN)T#H[J78E'>L<)N ]<@N/>1F![ M[>7B=[7(">U =>3- DR[ZX\+FC>DRGL= MDZ^\%AYY4?E,AD*RFLQKXCF>(V%6H0#T@Y)0[VZM<-?HW2!A.'^Z="<6SJ9S MTP(4?-2)HW)KC>P4L-5 +K@IEVXU[B^&7KI,&1JW8I?69!:;C X+<<9TB.%D M'L%<5I;"4="(WUK].$^WQG\/*Z[O?^S6O(;%=7Q+;(>6CCFT?F/WJYT>-9O* M"#Y_3>\B.Z+H(R^D,VSQC;L(4@$HQ551@"WS5YYFY?RKH 5B[9PAZ:]:@NUH MZ%B1+>FX,"[6YAOR-6,:5+KHU'/W<8%>KWW]/H,\!MZ![BUT4U#/$7)0^%U5^&XO4)?ND ==P).<#"- MW4,(]\TC7LK%*EZW:$_\1WX@<@=YX-< MFS811P*4.K Y=IU"J-M-1L7\I,.LE-4K491]E8S+\#%P![0.8@J;;3K O:< MX=@QJL=8U)=+()*BW<",<[.ETCA6,:^K8CZ.51B]-E M&Z46]T.?[(6B%I5_Z*ELFIB@P+-0D,GX&!.==87K)>RFK%IQ>>T>M^:81%8 M&Q[F28X5>UNEG>A\DP/7[PS'9,KQ$VR _]7RVJ5)/T*S>;3$W!Z;AB>_K*#" M];IWPZ]TYP6J8Z33$6IQT"8WWP\KA. VU):,O=!?#) /:;&Z]:AI-UX/@EI> MCD19/_EI5D,:8[M7!2:Y"=RCQ U6OUO5Q>C(C [,S;_@O51R60W< M?$$A.*,!\)B5DOWEI;$:?JRI?'5=TFA- &D)PW+D,G$H@H)*KLDM;EJ&PM)) M)_109*PY79O7$Z>;3>.J4=+E$U][WO,OXS+%]JE8W),Z;#DB(C T0U_9P@I/3+9V\_ M%6:>G,HPM[V=G;W X%_ZC#?_E14:.[\G'3L0!6@"$/K<>%:RUU& .FXJ($3:\M:]VK)H-)T[8,IS[>"\Z>84?TOV-@]V)BF&B[3@ M0/>J-Y;.5+7*A^I/INJCV:]J%LN]NTM0WWR+4V0QF21EV&OJRGT"J%87NE75 MZ Z':UJ=1%C!D@W#LE@!*JAS/CD7=+A*?S+MZ0+G$@B.E)EE[D,0%@FC,S,' M!,9FKJ"Q>[$%M*[S7-!533E&57ZG#;BA75O@?$7U"C#N':J79Q8\VL>:9:CX MXJ$T,HJRPQ-S_\I+QH-?W6U[:5&!L O)1 <#)6T\DFQ>^Z4+)>?"0KS)LN +++6K/6RB6]O!(&+[!PKC9KKJB%850[A=J6H>QB M*D$@E>:Z@4&/SMM8Z9Z]%(OF/2R:)^B!?;#U$)*&PE@!#'3 !;BHBMEDM>7' MD].YCVN^P*L-(N_\RX;NE-%\K,/3]W]0V>W7%(2GAA%^Q' 5LS#Y60!)WQL, M[D/($E:I4\+RH0 IRMK?P!DE>U%0RL+\;GKU"[,'X(WX%2?2<71ZR7E59 K= M%+R>$]9.),WY<%@U)@503X/A'/Y,ELY:GR97UA9[J%4NH-D(& MU_.IW?$/-W=<%ER4P"\;!1-D?$'!M\JU MA\QCVDPB"09Q(+R.D,?*AHA_(IY";.G[XI:^KO'3+3!<[/>RM2>QEWK#1/MS M1JZ%J3'Y"5_LE(JQH4=B2LL[EF(]=.< _EP)4C"ZXTAZI5S"W8#BHI-Z0;>% M"#3\FV=81>)OEOA#S5YS#?V%@7Z!#V=)B!C;1!J!:HU&.;<3.3]._6K 3Z8' MI<6\B7=ZTV05%'(I2IX8:R"RNI=:_C":9-))I-=FZ05-.!,H=BMZD5,/0MU, M*EB*@$2=1WIMF%Y:YSCDKB#-0,P:.S Z0)_P>K$3IN,1*S(I@0>S1()NF* P M1E8Z9$18-F+40X^$VC2)MT&I M61ET!?$,,Q\GV&*0GMA(L*Z1X"0V$L1&@BHV$GPF&!%/TF+04YF[ZS')W MX:"NTJR380B*IZL1G;V44'>$*[=2C/ MO5],/&NU=:;%$:OS'$\MI?12FQJY,+\1%U!.Q6->9-50^_RA*]\""ZQ,BO32 MULCE#?W (V"G56MG!'JG4@OFW7Q1!AP 50N+XV,1RW-N!R\7-P06BNF?: Y^ M>3 9*@_ET! !@RJMN8@QRVLCMAXC V&HIQ'M"-G-$Q0=N![0E;0C*I5//IL# M A*%L3J>L-0O)YS*1P$35L"GHO>W88Q6:3K2!BU'=5 %$OYI-M8*#U$K. R\OT$0O^:CGA]_82L=P&,;JJI#H*6X!;PB2RAK! M@.J\IIEQT'MD>&J[JUL)6RM@Z/&LCOR3E @NUKZ@D:K-VYGFGQ4RQ7Y-IDEH MD;V S55B#%678$5INB]LV3ALZD9SU;95S655.@M#,A$?\A]&TENAK%IK@-A" M\82LO\7N[4;-I0Y^U:59Q($=KC2E0$TUF7ZTB%TO WOG=-B&!3 W-Z9L=2!%)6"[^6EJQ9V'3H=46>1-))1>E'5 K[F6_ R(RF?H&T" M1=@@&X2CD_&,,/:C6M,!Q4C>S3#.A^8[#.LSYL<9XXIFRUD=WMNLU:V MHNX5/W-J<\7O':9$\L[WP4@3\WO#-T0X<'?/$C/XRFL+;Z@5]+LG^P>V6(]D M =!U4WR*6WMDG8/^G@THH: [^8E.2)^P(U_=??$O6U5[B=Y=7L;7/;]^B0I" M[FW65F'N%-[9"L?E29KAAP>WKD"OTUJ8;Y\F>?:/KV;-\*N$- L>RS]K*(8^ M\WWZPYO63.R)#O"MW1_[K@YXZW3QWP$?@*+\XD):W4!Z(Z3P#.81AR#Z"&H+2$.+6>.V MN-]\XHY+>J\94EIK^"S37M]L_^,8F:Y_) M@^@#TT\)69EYEM3CP;<[O03_^]T52O0VN$U3[&2D='/N=E..X7Y1!,[K]/]? M/YO=;];&"(<56*C\QU=[UV?COVP/RT4(-Z-29_-K"+;>Z+F)S:,OMVCR_-I1 MI>_I@OG;?X_;^#:=DF3_U$^:/_O)J.U_=X=\HE(E),E-F"SM_'6%="=D>WM9FKHYSZ?7 M>'0W4.4KJISP8GL[!V1#[A_3_SL\_.X.%?XV:/*SJFX+\I%Z&J^^@2N_^\U? M8;D;IOONX1E[+IJC;,$IJ]N]3E_]L+^ST]O9V;G+UUWUV&TYY(T0\BX$XU<_ M[!UN%1'O4Q/\L%\2IODV[V@Q.6[*.2CD'_PA+P; M(7^X741\I$)^-V$QWTMVDU^ OQY-^K\L\#]@$DP,UMRED#^*D?C'(>2/GV\5 M$1^ID(^6_.U8\FT_^:6:Y4TO^35O,+4ECZ+]]J.W4;0_"M&^MUU$?*2B_5JC M_2EWOGD4 /2D%0Q@D?V1#K7]"XU'B_61-C@CC67XQ$+\QOU]AN'+Z ^;IO5' M'>CP/?Z93QFLC-$3\B8IF$+WW1@?$1@[%\TC,.[MV,=&!,:(P!@1&&_>@GA6 MFV':M,F;TG/YNJ'IMHL-]- M,"9*]4%CA1\]5EP[>&Q_NP>/_6+&*6;P5$-C M0. X?VQ]Z\#O,J-VFJ+^LJV2%$/&8,B8AX+I0.L,:\5 M0\DPD+;A[HV!CESM)V<%)GCEHU&35,-AVFBO%]UH\S&9SDJ9YE75B?ED)M," MRV3I)!WK/+&LHO=H@[%B:2N3B^7MN+6!#,\6\Y !V#.6L567>5'(>+.47I7$ M(Z;CYA.ZVBVFHLHPL9+K%E.,8!_1"Y1#?*@VS:QHY>$XD[1HJB0O+V36) :1 M\7#DCR0!FJ73(4%538R?!H\1\77+TY_3N?W7D$YDTN"7? 88'3V95G1N(QQ9 M+YD:.J'6S7N6YPVKIL7\>WUO3/);U1H=$+MO*8/?\7#J ME^'+_N1>]GU+OY"9N;3T&9%?5GCS1OXK@V8/7B3^\A_WPS\-7ZQ<#/M^/YM. M"_XW:/HJ;5,W\99WES<)IH2M'FP;A]0^2?TS:3*G@/CGJS70P79KH%\AE-ZG M(\C15WDS+"I,@XMZZ*H)M6V2DM@@?J77WO2LVFUZZFT3P/HZ2RV$=@PMZ8(] M/X=6_M6YC6>G[SZ E77[@Q_>O'D('86/0Z2NDY_UT'@!RO^X6H(>;E""+C>I M8_SGCW/@[4[!-\[ZMAA_/JX+8 M(/DU;8FWQ0IYTS0S^M79K!Z>DTO,)IM\EXRFX:S.XV3BZYJ*E2YO_%38#=SS MC8]G'@K?-> S8$;@(<1WE3??C_[?_K6 M_MV.E]JF _Y +HY)+O'_]G9D8\TY>5]RH?G2UF9(0EX'#A-+#L_EH-3&DP>II\&?TH1F[#,^/-R'CJJ,[Q6#K;$">[>\!D07]_WWYF[^#D:/_Y=\2.9%8XDE4 OP#G",63)A58 MC-D4S/+U[J%>$SJ9 BLK3QM1;8ISDYE!&_)$Q4P_(*Z46 Z8U%0CXG*Z5ID9 M%BF8P(Q&1B:U$W,S+[Q^V4\^P&%?_?)V,'UMID4ZI!7PI<\\)V9)\VF:UR)4 MWYMI&Y!@]]#20(>50[O+)?-'!;BW(9_2,)WF;5KT<(5211AB."'^1EH0M^,, M+K!,07(BF^.3O'N^6\.TE*B3FXG.^QO1_0"%.+I$?TPOTKP0P!*@$EU4-?^# M5I?XCO\[?9F$$IUBQ8=#3,@ 1W(/DSK-2E,&-' M2"+$1"=(3&1*.H:&>#PG<4;L3S*E8-E#4K*QL2'$@FX0B>EA@T[6S,D0:.AY MB]+&"HXK>*0$0U9NM91X=E#8>!W1AO[65(@7(G5!JXRPH!P7H LJ>L.,G.A9 MTT@<+HA6K0U6[9XN1*O>Y3Z8NSY#UMLTA>IM/DB#Z#) UC M=N7 7O@IK2?DZ S/Z;[6@G7X3Y->S),/])&/LB#,,J/[S1N8=.HS#,DPX*Q9 M=2F9/;&:6''2FTWIHP9;)]..M:J$INE/9&?4/HG3$Q,1'DB/U_$^BV&O!7]A MQ#%2[F00Y60?#5/)Z(VLZ7K-"6X"=G&])K(:,I^,82?^XRMFB9W=_A_3,4G! M>KCPF^]_V+@DB:!JGU4ON"W@3[L[VXK^=/!\ _!/+,](J+PS)#3*K8-;^KR" MV$?.NO>(6Q94!6XC\-1O5=V>7V(FX!DPA5]"$Y?SC<(?1DYPG$ $6C;"A#B1 M+INERVU9P!N@Y@-J>KL*Q_$^42K,, RG[R*6NWL4.R1NN="=#/=^;)&(=(QT MC'1\F+U\VZROGD=]==OW8W>WO[M=")J1CE]$QX/^4:3CPZ?C_G[_>/-(6=&_ MNA5]=1SUU:W?C\/^EB$^1SI^D5V^U]_9BW1\Z'0\.>P?GFR/><7_G*-+QP=-Q?[>_MWGTF^A>W8:^ NIHU%>W M>S^.#OK[45\]?#H>[O>/HGOU\.EX<-P_C.FK1Z*O=J.^NNW[<7S0/]HNC-I( MQR^AX_.C_O[FXTB1CG_9?CSI'VU5^FK#P"&Q:W1=U^B>?6SL&HU=H[%K]#.Z M1@-8D%E[7M6T;I8 L@E 2]SB)U BK&$A@A3-M+D?U:D9?,4&TQS#YU$M[0] MYQ9,,VS10:G(#L/PH*8X*( ,Y>6PF&4.F"4$Z+P"]&!O ?1 B39/W)ATYG]% MMOC1H][(W[G0_M>T3,<"V8%_7@&S%5$]GR8$W&Y/F%R?Z_!P@=%R_ ?5^ 299Z5$;\?#7S/]]NYO>J80F<\94 ]$"' M06NA,C $&**[U2.G##AUK3\?*T;�D<&<)4%-@V0 M)?)2D<6"'3?GU:S( ";+2R-6_B:;^R> M]#R*VHVX^?G"$?VZ0K+0+E,KN!SV,= M7!UC$0+1<)07=#8L,!3&$#A]2]BANP+9*=\3IZNJIU7-1!0A!2@^/DL@ZVV% M%W.//O];,K4N04[,:<*]TE2\9<]:* '+\ MZU0ZVF>"PI31CR16WW1Q*0?&:LF"MH!'=A:FFV-*VIEAD-:F-:;0!TUI9PC- M)R%80R)A"6+S0'6+8"[T5MM@C;50_NZS3Z31%%T[^J$A3D8X8Y6V+S^BV2,^1(.+@%,0F MK2IS4H!+:<8P&DAE3:N&*2 B=6)(K8QKL:ODE5@LN#=>I":1(VOX?!5="V ' M#+/Y3'2O/3UFC!3Q64!]DC+ BTP85;L)('=)1G_\]_O37O*S*5E6 M%QJE.B?9F61FPH ,:2L3?V *THM?I,7,,#72X1 3:-)!7C :NRPM>)^,=4:/ MO*SJCVZ:SCG=&WID+7##Q*S_(951S2[ 3[^GS3D]IP7T [[,ANCNOH@$S\+8 M"OV$)R(,F0[KJFFZ3/^D)#1(O)(_'?OAX!FT=4R,53/K8^@0499^%GK#H*RM MO75Y7EDKG8GN%A)C+J^309ZQ)3TR&1;LB34G9)O,2K;^BH2,![('>*11G1-C MF6+^K+K$=9/]LD%3"I@MP(HO3 '70>X+7V'R3_#T/\Q0)S+9.5 ,?IL61E^N M _R=T<,,JVQ:0P![Z0UG]2 M^7X3GV"?)9%DY;FQP0"#=,@8O;4 =,-X;3HK MKORR8B#+%:!_I+E*RMET7*<9X(5I>47I:RM8.4XDV'-6;%\6HI!W2G$L"R&5*=?D#QO&,C/B4F=IJ+3J>1:"TU%\B^)>N*NO.3Y7#6= M[M4JY-V=B-??4#Z?>W=)L /,^> RF) M=,C8BAG+^>1U>9'758<'9$M:=/7F)7WYY25RS3"11N>"+43JHE:ZJ;8;6 M/BEEKK@X>'JKQ+<+[(!FG48WG8U9C28FRW_1]T%]0>(.WVF-RG+JZ-O1Q[3S M(?V#ON^;C/H"!4]^"VJ>7? M]3WQ47XIL0SP*Z>6 =1M+O)&HR)!_ %&2V/&G"VQ1H5H5(0S28HI)CI$C@9' MX '+-^A:OO;&W7NF[IF]QWQ6W[X_._NN6S=/76G3INRY9:89UOE4PA5"G,8$Q]88P\=J_55HPO?Z M5^TENNY+"FV3F0)'DNCS4D-1K^D^5Q-2[X$@?&H. M)MDS(@U$)=N9F=8 *:IR_ RS!)*6=I)PLAT0_F=J$+'I4XW(.."$<:F)^ GD MK$].0_>37]P^R!_ M,M[/7;8X96,YG(6G'" M;&(4@SJOLV*7SPIF08VY6R8CC8_9,E!H3/FI@%I57T$BJBP;>?H0CZ7&"")-D[$GP]Z+Q.+8 M[LZPL@03B-\X&$L.B^&,6[CB2)^$B-^48PU5J0%*GZG"+&^=HFB=4/(&,)J, M<1@'*EI^;>.NK*T'AM8C2F#D 2US42$<5JBUQ,D[NW/^+OE(O%OV M-#4+U]754XR;;YK TCAZ_@WVQ+Y"F,&##]U/7LUX#(,>@G4;,U,@9COG-$,B MUAK'Q+"+GOI!;B*X!AAT.H,(R85)#/PJ:G8H7>5(GU2D% 4Y^0]OU)Z04WGY M]C]O7OW]^_P'7\NR^T(^N'M"[F))-B]Y*408>"_6%;1?>$JG]SO'#MV9V;.B M4YK:4\IRNL'IK)%!(+B;862 SQVRIZGH%ZU-S:K3@)@R(JL]NH]F.!,$Z,YE MH!_ V4%)R74Y\]V>-9-GI4QFPU4S=#/$F"=S-$<)@S>;T_;J-T3M TN.JNQ8 MI#T[[&1E&4PO. 8;'^*8-P]\'!75I88^@A%P$@5I>MU):&%X9;$,@B]YRN$2 M%Q)9P>S!:ZUC[S#=?BL1$Z:C"\0LUM?\U:*-K1_?=C]!(,&[O[*<[HF(JFZ- MG)2G-D82L>UYS]7<^)(T5I9P7JT+OCJB69MQ6G/^1[0O!\P_H7"?7HA^0-A6 MPM 9/1[!CF\YN%'-&OIH(T%<#CG3HV&7J/K-;W\("WN]SXU*#+%EC/%3F2*R!0+3 &PP6U@ MBDT.%;N[,46?^K6]C%#4?>K1P!26ST]=T,%EI]-G\?N..Y MOX=>3Y G+DF^@67^&]GD76%QKWMX#W=@.X15E Y1.D3IL"P=XA6-5S1>T:V^ MHE&!?[ZWL4G@W[WC[0!2_,T&9/]V-Y2[]SA!7#@N'!>."\>%X\)QX2U<>/O! MKC=OEW4=D!/>T]4=5(\"^GH5^.S75S_PY#Y@=_<.3WK'>_L;Q]U]D$2]V3/N MA8[/C_OW#O9_>\YXQ_7^)E[XN[SP![N]HY/-#X9XD$3=H@M_?-"_]V&F\<(_ MQ O__*2WOQLG73ST"[^[L_-X5?SV1[>WS7/:/9ZV"Z6VS\2;^BR8B<F^: MPMJ2RWS3[.C:4K+G^[V#.[;A5J6E'J^'1N5 MD8,>-0?M'MZQ QOYYU'SS[/(/)%Y'AGSQ 3B#=S@CL_+;O!7/WSHMN!&KW9[ M+^57/^SO[_?V=V/.,7)%N-^-Q#.N-N#4?>RRU]6C&I2-M(VTC;2-M(VTC;2-MM M><:3I^WG&?.//!7S-'NYMNBF[.T=]PX/]K;SJD3B_C7B'AWWCR)E'R-E=T^> M]_9/8OG?13N\PMB!$#OH++0C'VRKR(_\\!/[9?]X[.8D<%#GHRR70?C^Z M$Y%_'EL?2V2>R#RQ"6HS35"=<BXGVAI/>SN')=E[#R"K;Q"K'1_T8 MZHA\$6_W.$KD1TG;W:/^EM:Q;$_WU(IHNGNMH)_ILYN7 M-LU@,1GV>37?>[V3Y]%XB1STY7TGVRIK(_L\!/8YZNWM16"1R$!?/CRN'Q&' M(OL\MKZ3R#R1>1X!+. 5K4'CH'+KH3/^UG"T1*,/8USK4=(V-F@_5LH> CXF M^M&/DK:[SV.WW..D;,PA/5[:/K@<4NP>^?SND?>F*(@&O61L2E.G18_36FDV MRNTS2],8CY-3=D\#K3P1^JA [V@M[<7 X&14ZYO"XP5/9%-;B!0#GHG M,8X2.>4F B4B7$0VN7[\YW'OX"2JGL@IU^[W:%LGK=R.Y_FXP?"^^N'MU,!S M+,=)7@ZKR>-P'+?F%B$RT]O9OUM7[]'*S"TBX\$=FTV1AO,0,TZW9^>VYJ:.-?S= "'O1 M.'SH--RY8_C%2,-[ *TXW+PVBC3\J_!# M)^/!'8,O1!K>2]//T?X]QT:VYX@?#1E/^C'W]-!IN+_7.XHIQ =/QMW=.T:( MC%G$V\LB6AL_YA$?@BN_3[9*!%V)C'(]/,\=FT.131X%FQSU#B/B;V24&^ ' M1JC^R";7[_>@]WP_P@=&1KF!?;*E0P1B[N@F?N-OYE'UDEW/R/O$R%DU&Q1F MD9._WKI+MWZON[N]P[W[5>3[3TH^KS_Z+170ZS>\?]^YK96L+\1C2BX'JC@.KKO[$,47%%PK=OKWO/>R1TW_D3!]4@$U^[.?=

SM)B^KR32MZ6-ME=SP2SOX MY=4O]8".+KR8?\R:-A_-5YSGWW..1C1I89H^\4[^ P[!_0IABMJD#9W<[E'_ MZ!N?]0SG/O\*1_?)/S/-CM/U]YGDE6YQ>F3 ;S)$UV:5G[%'R@D;EVR;3.AR:9 MFIH6*Y-L9K"HW\XD;0V]7-'00YNVX>%WP_.T'/.F,9L[FPW;9))_ZI'@JUOZ M:#%/JM&HH7?C!Q-[9,8_EY[2Z-=H^=HTLX('(8SJ:K*P\A^&5F[S"?VYG_R8 MLU1-TF&;7^3MO,=APJ(:RT ^W0C>OC 7AO8[2><)$6:>-$2&?)0/B4*T-7X. MO6Y>\?'I3^EH1 _#^D*/BZJ8$0/<-T=F^44R+-*F^<=79S__^*^O%E75SLXW MJS2._H85+?]*@Z/=]7[Z\,XM&#+HT*#M_442/,0&5\,%SD?/ZNK2AUV[?QH2 M.R5G/__V[U^O?,;J^V.OWJ(R_.H'>5:2[!W8QWY/SW6JSOT<_GCN LQGIS^_ M?O;CN]>G_WIV^M.'U^_^EJ3%93IOK/V "UN:SIN_2,Z-'.,>3#Z-/_^O'?Z? M5:%I_=-7R?>KSOR?KU:?.8AW&R?^X>W+7_+RHWM&EC?3(J6CS$NZW>;9H*B& M'[ORB!_M%DW^GB;GM1G]XZO_U5;#KSI5-3%2VS=^_3W^X*3L$/ZT6]TMW>.'YZRP^ MO7J+)[M=2N:L-L.T:55[9U/IBU M])&O=X_[.TN/\^^0S6I(:CQI5,WJ]CSY6]?8=-^6^))CM\?AW3=9IIG5I!^\R8@KQC;C*9F,6 ,V:4]D@1B< M6)3%!]UQ" &2(LG[E,XHO4Q&Z3 OR,#$TTYIJ8)VMWO2(ZG4/^B^$2TRF#6D M9AMLC>1//9NV(JUH2VE)=C7)W^K"D/#X%B],7V"1 #&1%J'-RL;U=\DE[1%? MJ3,1/4^.-ZW"ZO!GX&WN'%L&)4FPL^Z"+ZF]-4QZM*C5OMT]Z.]>O83C4Z>Q M6&&P6_'9NB]04^=D:]'O13TLNC3BCJQ55_UDS;G).PM7B<-%+MG7>_W=)>VJ MC^>M-GQIGM6F2*&.1VE>DR=5S*#'R)]L*^)GNI+U^$GJL<\9"._UW.=\*V3X M??"CA$V6F)7OP@UTX=[ATE4Y[A^O4X7)AW.SRG*YV=;!:TLV(8G.Y4B&D??0ZOTG9HK4"FRF9IF;4;R SID&$NRH;?;%+5;?X_\@NW M$](AJXW=8!LL./3^+]SU)WA1PN$W?7L/DC?"9F3WBW8<.% MZ"<).U-R')4>C(VPX(0-0=XK=D+WB=B/E'RXINZ$;1D2D/@5J0>RK1L0UA\J M"=)G^*-^E39=P!SA[\"J]V>^XKSII4Z','UI=S#7U0\@_LD;.:6U[]LD ]-> M&E-J.)<>T= 1DI=@TI*6&\T*/!0BG,Y\ID;3H[G]7YH.V_F"=-CN24R'79$. M/AS\_.A@5QH'V7#EN?YKKA@7;287O'MY&66I?S MVMOYC&1;:D5U-[RQ&+Z /)R2*#63?.CLW>9\UC[+JDN6CV+CE,DOI%J2=W0& M)GM1T1TOJCK-JE[RJ_F4#RL?X"C-F(WW4&MA#/X/ VP^>.&-Y9O'P9\4(6XB&&^GPY M/G74/UGYW6OUQ?8ENK[\^99.5\:RCRP)OB 4?6,RK/J^OVEDV7)(;R&.MUIK MD BNJPOC1.ZN^@,7K.H>_)-M_IP[\4]QM._/ C^^%1,K+U95WMS M&&MO8NU-K+W9_FS1_@',DL].^2QHYN,EBY5K?%<;G7>0+>+XJ)H\/CC:PU.* M&?N<7^^M" 7<+)^TMZ*RZ(OR29T'HO68U M3O^J+-4:CGEZ;MB5624FCMBY?S&]Q%1>-%)[L+NG$H.&*7X;.2AL_70VIE?N M;-SD< 6(7?>7S&2W<<>DB"&-THNJ9FE=F#$9T.15M 5;T\C:5\4%MC2DG:8( M,^53XZ-=NC5ZFPD=[3\KV@O>]8/YE$KP_D9JH(!>NKL\V5"MM)87;+DD63 M\^O/NF2F4K9\Q1C9UH[>4X!E*96Y[I=G.>HEO#T+S*R22GMI\FO,)$H3[M"/70RK<"SK> #6OW!G8$%]3 MCK2&45"1&2M4" 2U,FR;U06^37F[!8H;@V<7)!>LUD,D2)6Q^U/GU,YB)L-VP@\9#<&EWP\& M#3N,E'UR$H>_XO[*X6"0U50%\QGVAF]9K? 5U5__(;TQ>+$N-DY@^9L7=X8Q M>H]M 4O?'3&^ -^VL/P6M3LJMP&R6HJ2/O%];^N/JG= M!!)1"5G:5E3@;(:@.4!TB*8T&-5\'-C1L4SFAAA1\8A7.1$+GH(Z='D? MX'&\#SL5L5IJ&PT-!]0XV/M&49-MM8<)D-[0=XGI9>OFL?5=T)$[TG&!3P)T M0[B%1@?4X5E]QR.Z31F(%@Z4X0E8'FQ6SX%_4[['[PC!_@/LOH?R@6J&AVP6 M18*"NRGUAD1T 3 CRYRP#2>T:Q;$8J0')#5-$.%VCHE*ZX"B!&!)@LTM8#?[ M7C $BI!_]#VG+7TQSK_\5#T]&:_SSL9Y3D['/W>F+ZIRS.*-^G_Q!SQ8,#OI M8),0%HCNZD1-/KG1];/Q:,F,!U6E_$5);'K;;*.G)1NF[>\DG&D@]U=&D"(Q M<$;D_D[JN+$FYO&=EE6.>T6/GWUP2:0ICQN B:(GB- MZX$W 938,;T'G<.S=7><3=$(2FRR+NJ$OB_D148[A'$\LGZ$(Q\J*!_]D$J>*-$,H@Y#&%*M:YKE;V-W0-+3UC4[UMH: M2UE#$05]R:B(:H]2FL WRJV)VBMQ-%L]DAT"BJ5Y.AXP)TI/@-F4^:$BGWZ( M]!!&X&; K\#!/YTWC\H M/H"A\,_2FH1K#?,'DU["^@9&8

-G>>/U\Z2EX4OTPI? M3LO"E[+PI2Q\6;EAAB(&-U'XZ+F)A(V;_4 6X3 MJKH;>+PSD'CN'FX #Q<8R+*HQN]TX$#8-NZN$",W('>Q0PM M.U2@Y( H]=JP"_ULAM&4,T[\M>]&QZBCMD!D/2NBUT:8=PL;4 M3XX;AZLOLMK(A?R&7."K?63+W+R>/+FU<4 M/ZLG.35W$@. L+^RA1PH@,B!=R)7";O*2_=*)]3 MPU6TQ;BG5!LKR"'4H^Q"U0)E3A-M_?&[5"<%FI$^S08:'3BJ)W@5P\*H3 M8N%D(K@>"V^APV"1P%R,RX@PB^[,SO#?P@:%],A*:91G1G3UYHQ+I+.)>L=\ MSITH/\S8#FDX394_H?E/LHC+%J0,FHC2Y3ZL,O7F!SJ7$Q_BD\:R.?P4A(9; MR"#"Z_)?:I\(!E/".E_+Q7D831+/7IR:.7G)/ML,2+'PY8UMJTR%+,)+6WQ4 M";@6B_IL48HY'4PD#TG6S2I] <<5Y"/*<1>60ZL.*<^/ M0PO+S^/NR!#2QF-4(8ZY(4[P(Q.=CD7@D2&>H(8G6I<_Q\,V%?71-N-+RI2! M#$%31BH;Q(8O>5U*?&#,395M83W H^/Y[.<&F$8/?@Y-P@AA^!0,G&/$2C8I[7CC< M/![V98$#[C#ON8<1N!E[B*4;G)HSZK%D60)E@@:1>/3"88QEG*H&AF.>JB%M M"I238;7@_2C_IE0TT/T\J;A78N8ZL+Z%CV9T6559<4+R0;8T( &JD"IN6QHH MO5-QTKIU<&M>_RV4T=EZO:ZNJ9VWEEXA/EN:9GR<08]^#$>J'O M8MX=Y0SJBJ[85I:)Q+Q;."S.#RV;C@A&8DN(8YP,PJ)^-BH^\MF0Z8F0ZJM ML6S(K1?_L#[S[=:7[M@M^<>NR[@ILYB'LJDU%FF_[F<9@%I(=E]0I(5A=2 M?*/,M_F%=+\+,GHD2#)@[A6NM,#^!;D](DD*L@9VLG:P$WY3RO?F6_)H*./(@),SO3IS](GX(QF^R$9YZ-C)V;'VD7EM9X:NK M9T'A<54:5D4A:D)LQ(W)EGT2*E@%6TQR.QYV0:EX5(7$>Y1J.;@&ZX7!A*;G M&( )B[@I9RJQK@0KAGS$.7.VXUOC9SC;>45\M.\Q?!(AG;,.]1699:F.PGT0> M/=USFA"B;CB0N;12"8N&YFQSMNYJ?>5TCJ6F'&Z#-I!ET4J M+JLKR&15)9:5XWKE9Z+HRO%)Y6>$,CS'+ V"#B>K]P^B'4-&!\U\SX"PI%(=A4I,Y2XY/6B,-@AR+/XP>,M#W M((.3,,)6 R-.0S:V&U)T)36UJ6H5_1S5OY%V7&@=/?:8O8I1S#0E9".KJ1@C M(9MBG322_T2[)\ODC2X>_24'/!TJX7UDM:E;'C%4&SB46,+^#G:;P QPAKYT MV# -WN?PVYA1C&J>0H7*UOZ";Q'%JFYH_!&Z.1GM+2 >7G_:.LP-.UQ;()NC M@:YBO8HV& [H[.&Z@B$04GZ3LS+GT^Q_?C,S"-TP\Q<.J<(N)=0D2@ +J7NA M;HLVUD#.?5G,#!Q2732\Y]!WT#J2@12SW=1HI89+O\/YQ=9G().0C1RC-=2A MC(PNL):9*E\9WN2E OE9L SD-^Z:J1TW*GB7ZG&E8AW,?*E#.3\-\8[ZPW[V M:6#1!60LMJG[2!O/-N.PV)EI'O;D.(^E/"6TF)6?C0.QQL)"JK.\RRU! 89P M91=OC'))6J,Q>$-Q0HU)7+""3SNV;H81]N!KQW%.L.11&K ._MW5T6Z*%*&X M0]@M9#V,5-LZ]_6$L7"F,\(/ ;(>HL"V21[*/$?X%!#D-1?3$9@1$Q9U<&E6 M0&291^E(2/Z4O<:R'5!%UCI@8@C5/\U\:0:ZYOM%9+)35M_CGE7?(]=!]SRD M=)NR]BR-]**8C='\3+O-E3G++$T1REKC-+L: 4:DB>7(A;P[RI]PX8&C9)+, MJ8Q2%QOQZ89MM&(D_"Y%8;NR?5VBG\,%GNO!TD5JN'#/]>Z8!1-9BEL23P09 M- RH=N F"H,0NY7Z;#SO5T'59THQN"+N1-Y B3*6X:H/6O;&&IMDP-:S3N@/ M0,Z:R(4J6]@>J(,=ATT :<*I(4?>O"L.VZ'@16,9H&!!RWG5 -17!0T@Q:B?V9/Y. M%;<9=D.Z5E/,A[$P\3D5=H%LQ&5)KNU0LY#(MA["T$5+DZ R:-PF;;8&&J6] MAM/5>!KJJ1.3##4LH,W5+4<C,+8!_B?8YV3\0+):W7#83A#N3T%_R*PZ MO,!#^AC>>WW$'8_!!Y,A53ZRML)<-0,A:%S4V*1(/@H%E9!D3I)*K0*.TTM" MD38YNU^X9$JC*9%I*FA@$UP0+50=2$KZIN:-31Y8A>G>.@VP61%]*TGZ-B7I M?930")2CN!M9YLEAS)!N!/YDA* ZZ)TD0O@FZFX2C\&?+(W! CS0<8:QT. N M&'2762W.[X5<%8V]^ 3M2X+(U8E%QY2$HEPS!B%E>!P)>JW6I$!Z5#PDM8<)70I$0T1] M/O1MJOSVNU13XW1Z/&L"\=(.\/.C)#S"?Q'VL!>ZA\>4 J#/]<,I#.APF0T% MA7,P?3*/U OV5*WTB Z&-Y=3FP:6&050:!%P/GS\.OP\!GP3;Z([0E.0S'.HHR"-AKRC8J&F[F/4RT?AAP-#4>G\P99PID,W7,DP\I:00TK<<$ M:B9F,J9D,>8#U-]5W9U9UH.A1Z!8V='8P;)C^76"GNYC];SLNTE?(G*>4C0R MF!1A[+0^A\:PNQ+!295BC2 M+ M%RD*1LE!DFM,WI,Q41FLK:]58XLUM8VP\6GZEM6Y,A2 MDDPSE6Y1WZOP_G==I:0)7;-0&)CN($:Q_*RUW$.'$5L4$)*4NV_3FEXT0]O@ MO?*$41';8Y8V"ERV=E28@!OLI,T"! (/['K8"3OQ4'R.B"CF)9.HBA@02E!B MHDI+F?&9V2C:JZ/EV-A'%=F],"*[^Q@=^Y@7XI9@]"3@).)4&HDWIP=Q_$9W MQ,J,AB)2-KAE-D'U;(^E%=B73MT4'7+77VAGO)DT L"JI^MX/#%(Z$IX8WT8 MN-(8,7':"4H*0%\EE5T4H-)5SE=A5P7QXWRJNW-E73'%8ZA#&7X<#", M0'7%0HZ<-^OR45=D[[;P)IK(R[%.5$Q?].J/,A?\LEB]ZH"%HZCK\ M+0.QI,?_2>V9S6-I8LYV^?QQ[;!#P?;%8%BMBN3'?B]PC?(41?=GQ8FRV M\0AA!%_&)(SI6XT6BGPMC$5D%5J-( MCL$A[(F#82]5N$>JGTE%]=-Y 6H@&WX0.X]4H#H6_ 7B(EAZVA[>8*JCEXM3 MI)8]6!4Q]4=I*%4&5N6T&K*OLA-%AX%IN,N::K(3S1PW!TX)HI_%]9B_XN!' M3H>"J\!R/.TEE# R>I74"JRFT=MFL$PJ416<]T+7-AX$&\+-UM@LB).94G+, MT:]"QBY1B$N@2EFX$*9,M8 DT-#3<"-$GPYE!V&WB^2!)"$5&KYTOI;8)XG/ MINSO3'+69M;S(*DC&A//4\'Q(&-_ M]PC?, 6/B@7GSK"8'+M:\6L\)"S_N@,J4/\1A$^!2FKV@<>H7;/L1P<9G4A\ M4'VDV>-**_VI9'Z@FC%D[ 4V]#] :8A[14TT:=X-4^@JN:+3D R- UI9U>\K MVANG.DUI3'=$!_TP$D>^]T/XHR/LWSA"17N ?^5VCD;EY\/4RQFSRW+HRJ?Y M8OA-"A4X431*D2J.K>\]GC6*KTE_G_*FV1HLA61#*HG, M/6%#>/A#,6,*7@@F!DU 2!L$QC:.2Y94@(BV6XW[,M.A1NZ37%PN=*=#Y=M6U+069F5#> J_*8Z)Y[+,%!;).>MY3$)ZQ.O2 MO,)>B*EGNG\J'::OETS:@)D*27CR?>*Q&B$M3"87FGHUZ2NQ_V^\(C@@G2&7 M$/&L4,=T$W$'9-&AP:ED;UY*X:2(634LV M['_E4\EV?^Y:E&L<RA!F+ND%JH0#&^@N%33D3KJ>\6Q^B;%W&WL)PUV3 M('-P!D\.>$LH,/#ITHJ.Y6K[.%E^X&?R]-36-:LK;EY/')>?)& L(Z*!=G6URU$S;;B+%ZED;U)'Z@UN HHN,;80>/^;RT\RWS_M'S_>9GO+_/]9;Y_ MI9# 5=J6L(]1 >/UN?4T82!D9=\_<3DFN1L,=9!0=S7H6R0\:3)]DD86JHJ\ M*]A*2I^$8U-]!%G--B\8 5.SED#:1^R>^S[_R>O(@+NN2^:*@?NT C!W*>3# MF4)=MFA&MH$C+@LSTF)(Z<&D19&T+CMUWVA,]DA6OO8I\JSZ MLQ%O@$OIY9>,Z0>J7C'FNCL_=?7D %4+3(@@Q&'=":S S6 N9";,<8)=(FZ1 M;:,G.(XYE73^9+<;B+5HP7-U:&JEMD=@PJ4-/2/K*?(2<>2&3T&L(CNJ/#=; M.VZ6>F8(0M>58UR;L.&X=D#[IRI/*F$SN*P[Y*L"*Q/-IL^RSU7/5$W2[ M/ M64RV$#J,?AR!^:!Z%HS1YURXLM@"]'1;-+9B]B/(Z/:B.('[V_(G!+24B6*, M/N@TU>[$:O-D\(W9#7:INL'HMZL@<8('#VFQ19'Q?132-[G=;[=C4DD88S@W083TCV,DM,5]+"B\.N@.7#$(J*I# 2CGK(=DV7A'";T^6 M4L^ACCD9BJ2>.@T*+1"VBY::K0)!\/(IVS+>>"T+C-,QABXUR=C(G:BDI+YC MC.U$='I!"!* A+HD(#LUI,WT2IA2&";V39REM&.0K.DG,19B'@L/JAG22U&Y M L+*TB"Y+EJ=Z8Q*Y.:$&7='M.09C'<& ,"% 0"PC\;A=Y')JXDL+J5R0$1_ MX()^!@")\[;GG2B!=@(P3[[!E4Y8>(!HH@ M9:;:;C)5Q#=D6TOYZ9-))85I2#YRV/DA#2BRQ(QL(0%!J#6F>EC?AB"PZ/MR MD6JV"2WVV+J; B3!VY;7U)ZVSLGZH+0^5&]Q&*4[;/;J4MJ&P0KEQN>V9=#K M<)&:0^G4KI C(*G4PE:25F5P)A=NK%IUI'/1AXAB=,D_IP=+Z1]C2^5F#)P1 MBG=3)#Z9=#;YS PM<+4\:Q.RJWJ>>#1:#_4!9AZ 2S'T.NLY78R9Z3$/C-(I M2F^HI%&V@Q/-1KHAS^0R;C+EM'F',#- 5V M2$N0<0N1LKF(Z?F?H0CD]#A9\)'B7[01.#_;"[T8.A-*N71ILL/KV/J7JAI) M87AT\S-8,QP.HRI0W69$AICUUJI0DA.88Z6I'.Y5<<>)RFM\(]VPSB5+ MYOGI%6,VC:M76VNIA6SE*@>P/NG8$(R\JJ>SNW@S_0ROO,D2X9GK"=U M@'7;W[3J Y2 LEP4OZMM>X4I]4= A<5T;D I @O$?9OC_;:%B5]5_!NB1X.P M+)$<1Y;V]?\).B]V)=;PL?5WXU<,R?!KI::UA]V0#G7#X\PY]8M']5' C8(F MD#%*4H=08'A\0YM*C/A-U-AVI].)A@@0@+K+*)OE,"E_Q,TW&1K6Q-,&Q['K MI?5"XZ1I:\S,%+>#:G^]9\8;D0K& 'R"VR*'9S:%?9RT]%A59J6S\TQ>@;W? M'4-]<5LU,@_F(S7O*D6!D:)BEQ=IDD [;&/$('S"Z E$ME1N(U>-+"N7@\>O! >/ M\N" "%*=L2$:2-MT\?)(6>'48-%YYIW%LZ.EGE&CD]?GFE;WI9TI'4+H,,,J MZ@32WHO,",-LL8C+U?2?:54V_&C1)C;Z[G+,9 9M0!DI:; M:O5+^4N@/II&HXM=3C20W*C];M!ZO%[(=V18\/8?5"^]GBDBB;D)J M:@AO35"]4KGB:%58+Q83^\+E*B2'P)=E,::QKTMM&UFA+]^Z(,R[$->=8Q/@ MMKX8/.YMH*#+ J(I!43U2EE 5!80E05$*SG K0S(Z"<%,BI;3/?2)Z9QGFK" M1NK\X?ZDH4&)D\79-PT[QHZ4$3LBBUP!HNC^VQ3]34V_":,QW#)DUF$B,EWH ML>[Z&_-)9W>=+@ 2: MJ/2[W!@,;QEHMV:7N(&NAT%=SX/7& /,D!(9*5)M Q=D+%?X>U^N/4(9Z MV W;4M-&)!2C67@UP+]CKD8.TJ.#E24^(VE-8N$3TPRHD2-YSCQ- TT8JCFR ML.:(FM+HM[#+'3L8RV;3E)D07K\C5"%+^ CU./5JTX.O&< M?4/;A#:1Q&;S^7IAI*9"98[)J-#.P<+'9O[@1S0<))T17."3"Z&&G\AXC2Y. MGW5+(VQ)@T=4%X3'V;R4XWAY7F1PG&(PQ5>J56."K?2M!9K9OR)3O^G\P!E+0:/!4#8MK#?#PE: &]@IX-Z6.K2W]1\IAD@ MJ7AA(>35)N>#Z*W+4.N>;,"%!,-(07"?.,_@C8WX0DM555QR(E31'&9_J/!- MQVB>PLAWGS#7S%2-FKQK9*MICIN9YDC)%R<"8S&VG2D2RB)T8^&6-^ HIH1_ MZW%LBV<%&9S )0=RD&7 >(H8EPU&)H1@+(>0Z=9U,A=%$(QI_!)WB>,H''T#JP:S8^!2 M[I50N*--3$8#M#7\$1FE,>*LU!H_RR'MH82E:/R,I'!W9PPK@L- M9,I4_.O)GS) KP:I613&3M.%F?X2.B<<:=D?,!@4SG7$@@B>6@#$;FH$@Q), MHD/0]V&[[R6D7=J>:U32J/:.S,@0U10J,YU\0]TR03G4=* ?%?+ *VFL%P:, M"E,02Q/E36\PU8/(?F @SCI-N#RO\!Z[!%S.RX#U2BP;HTV"GD$-.K0D^$L< MAH2< ;L1:XC4_5>MC?Z:A M

K3$?FK/T[%X+/*S^2<@QLGVZ$&H6=@ MZULTUS/S(':V25?3#%:C_4FJU$#F(N775 \%W(IV'1Z'FR[+;%6+H$33R=_( M%/051\O"@P*7R!O969'SGRCL,*FK3UTNGHVG_ M"2-YD0;TX_ Q(FLC97HXX8'SLT32XY;FF!.FAK817Z3Q3A9,I%AY(AC3O1$0 M[?H("N[H^^*SL.U4(4RDB')4=DJXJ0<<^CY445PCC:QJB1!L+L6IOH. U6QHUS0V<*6AZGDN*VJ5H)"@:IX M!Y?_Q_'=L?4I]'TGTJ]TX01@S(.];?S]JWA&N]NZ$7&X.U; 8B3.I&;4PCD\ MH,?I\Y%)%)-X/MZS/ M?&!EO3O6.*[G[!AL9.,E.[9/$ZQ>P"[GWN*\)OA$PKK+P4T(9 GF>,PO]YF# M\=5?JVAVZ=_J)ZI<7 0N6X1P,[("P$F0Y%>MJ,O_(=$X]9)BM20K[H!]-_3% ME*69(Z7DROCF=WIAA3 $RZ*038O CNMH&4@_SQ:"Y\46@L8P6!1]G[S8P0FY MS+7?T8N6A:@.53\&EC'Z!+^0@,(\Y]Z(Q9BZN"JN?U M$P:^[./8)M2K@\K /*HG3HJ=<\-BMRN(SL3- B7?AAODEF^4;IO6Q)T$G^,AWWL!/\O_LS=!3*> M)NLU),J[2#M@&3G3 'D:*I137+HNYS#VD= 7U6*P),^+J8%!;]_=Y87>-9G7 M@;V@NFMS0["RH],9]B7JGAKK.0P\C2Z.(<$T?#_>AG#1\T07E@)+HVC]=;?K M=6"W]$(N+J^S"^%OI,;,Y#<^I]]0H*CIZ"\Y3>V)MM ?8:^ZG.@>B0Y\ MX3%M*!&5$5@?#0 :+\I,+9GU17M\M1S(QDG.[#T2C2^XPO6)-U,H''*"-840 MV#<1=7GQJM+&I-2L9"@%PT)))AY.,HPE17T+$QELJ:LCQ#]1FGI^J EN< ," MA6]P=<7_,IO4?[522[MY;'[4^76)<*#2! L$H!ASCW!;E/@R44+1V@#/!_^% M1?^P+H-'+PH#>IB?0AG;?-\O7RY2C837_W'72O48W.ZZDX1:0C649&O12!NL M%Y6)[4 \85)^?-XN%J*-4A@:E!0/0]AJ;@F,ARI&1BCOW:[!7K:92\?&?_&L MI9]0P!M^.O 7:YZ-9+Q&?I#; *^5=G-. DR\BOS?\S*RK_K\T.M0E=#P06S= MTO$@>5VI@[PP#S)EG%MUD/OFN61-&]9P.%(SUDVANE!'!'/Y>+";)& =XO[!>E"I$+V%*L M,\:_GWB,*@P#6046I)80.<%^V3K^+%] %>]0T+.#E@@M@"%8TO FJ'"X#TV8 MDE7U)#0[8I"D)D<6%@L>W^H+[&M.Y336LO'^_]YJW6AQO=2&LBT9JTD*H [ MRN$RY!O9-P?>(3]M("NT9)TMT9O@&F3"+L+WYN_8;,;I,W$%?-&WY=A;PBLD MF\KQHA1)C,TQLRJ2D4'C%&I&2F:N./P55J:7-M?XG"BYS&+5QUG,-]9N"Q%" MSI%G#\A.346N.^D(;R M 2IG=B68)K7]4V/1'N03%:#[_=?2>C)6= ML?)BN$_8)?P3[-1"6Y6RS( &H/&;1ZFQF<@.?()$5BO!#4Q-$&K2LAES5)]= M]N@L.1 .*W7&JW2$;'>28Z-SMGRO3-F/HN-(A#^/J(UG5O-<;D=/IEF4\166 MN#Q>AL'#0[4PMI)NL=7RX]#6@VXDH6&'7-9ZREI.P#EJ&J;TJ&B"3PH#IHM! MU41 -JMXI((LP=*ZJYV^N@FNG@7%UJ#JKL TDP8U]%*&(9&N)%P8F0*.X+M3 M)(*]HJP_TMD3PP&B_VJ@D-EQE 7]UB==,T\^L#D14]YH<:J='6>YPD;5'ZSG MO7A\H"T5WQ) !2)RP#9A=3NJ[P2]=DLIU7%+] C_\!"Q5Q@Y?8%S=[2;=H"^ MW^&8#T,!2G")B COT%@+J0/M.GIP E->X\7W('_=)R _,ZQY<7UW?9@)''EQ M)FYD2/J<>-#B&XK5K>YB5N3 F<5JQ*R5I9*5E62FYCI>1;!PQ1UVE YC!. MCC#XP[X2*P)C!H^G^JXQ"!X\@$C6[IOR4M%:(D6D_,]QX1P;L:FTTZLM'H;D M8:FGIJ9+&MK&'T4XP/D;>H3(R#8;0150%9L^\#)FB)#AFB7D/)AT_$W5KYUI M*U.SIY(,R(%#R/4SE- '.XE%!H<9N".:=SRT/"Y<:IMT&V B=GXET:QR=CKY(YI$C? M3"X/090MKA=8R3;;+7?E?EJ:K[2+:( 9D0% &Z]EZP5Z>: M+1@MTP%3MNGR&8/$)!F,4,BD24&NH +NH2BB(6V5XGM((YJITI"?+V L)(3W M304 09@%;$J7MAQCL@?;H98^/<<(EZ.@&69)0?ZV.5"7I 0F_1&-/C)"G2.& M4)>@DF-?L)=;="'8M"RZ74^!ZI0*V]#3%;;XXYP*VX]O6&$[_@+7!-%ZE5:E ME(6T90G]GG.S&W7_U/S,O\SAZ(L"<;11RWRKLW0*Q^+OF8D_I!!O9(;G*F!L M*?B@E $OD0$[$@%3$>;)R0',)1@'JVLVD;]E^.2F=7LO:WIP^>T/5U=7;V"0 M[ZEP6[P_R!5A*N[PY]G2KEHI=H?0)U728$\6XG,DZT+/A_X=K78J32EEWBS? M>^:>VM@YU ^3='O9([J!/YC:9$^VBX!^\TK8VR/THQUPJP<]7O"!PZ5P^L\R M?G30.5215/F'AT-TPU->/*E4\0^@X0D8*@S&>L3_81V(-!:PZ'+$(0>JP2S M1ZE@ ]3E-5Q\MOF+67!EYXX+C2)A))$^#7-Y3?F+3_[;/51M-/RQ(XS2-?\F_?ATD^KG12GX/2<0C@+FR3[;H@M!Q24(:7K>W$23R$) MKFO#0;*<&_$B"T$8N+0PG2.X>LE!80R)%YR&:8-,L3ARU"\O\:@=)DG8AV\/ MGBU*'UC10_N@8EOXW^&OUKB-PM?KA]9J/T]7WM-U]\*.RC>GGZMUS3>9M\2? MC5/*O<%ZMJ*YWITPN$E:V>-[TWK8EJTY/7U=*F%T67!358$H%9U]P[*L)P3Z MO?$&5%&%,>!;URHG(%KJ3?B?1N,PUV#/,^P7XIAUPW3K_S^G MK;KKP+E87\GTBN-7)9Q",4OC]"W?]56I7YD2:%^+F(:,V4;/\(0A_C+2;S2( MZK>0]%M.!'+AN^?_\(+-4KZY YLE^Y.SG27[.Q%X8)O_"T=%&(0_I5'>'O/H M[W!8._9+[JLB^([0LD[?NNN#HMP3;CC=72602ODL0Z!;])W&?M]CMY(J#;\, MX*N"JDSN1C&XNA,"<5^TPEM;9Y-/1^70KB6RAW^4@+FZLCZ8H"AY3AM^D5#&ZT7NK*<2# M$UC_$($++/5C3YCII%%89GJIII@TE/XVA/M8MR(.AU%G4EZNG.=[]51_V;\V MK7^M7O:OE?UKX3[TKZW^?)6I>_?A-V\L0&QA?A);&>"FCPQL@6FZG) CQUN"B;AJ_=CZ&DD@"WW_/T.J!I?]SAB=QW+OK\X(O\%3 M$+./GNKHIA'/:]W/)(,_>0\V7@H>F&\F\=B_-,O(KU:K5.J<7D 8-A%AF,E. MNZ#P%TI.^DX0R*8J1MI1H\SP4WK\@-8MFW=P7. )->G$JOF/9XV"10<'%(T0 M[P63T2%MFBIIE[N6]XH(RH"CCOR1L8>,FS,]6("??_:IX(\G]UJ_@]P:4![\ M\E^WK?^/DRH*1N;_T2-IKR/QH W&3Y[L_Z<4.UQ!TU;Q2&VUB,5,TIQ'JGM6 MSN0]*]/N"=_G&?$*C>>.)GOAJV16^]7S_5A"F%T%G6/]A#H_H7+&1[KT4[Y) MBI#/4>%'8V,J-?F(^EY5 8"@R83CI\B9Z=X+XE@R.^K)716-5I,3YI47WR$V M$I8((-V<&TRCUI%]_N1)?S:FI*:/D:5,/K9VX+EF'G.*)YRN\AAN.)V/[:E+ M2IY"*1U@;5R3*59#+JE@40U.3Q2-QMCEDUD2RTB(V10#)W5W\7BO&(7K8((2@ M%^B61G(T "LE\YCR)4@JM'(DW;[Q8281,(4/7QQ=SF._YG2*Y+4LN(;)!=C3 M+[[6S^H5H:?R%2^-43_IO!84B7*7RAU!F&MK G M&.F'&.5RC9$)RUMVRSII'%$C\"/"%#D:LE).\,VZ*\8G M8X@Y8%,4MAPD FNT![L1IR$D^B-N^9>/UN<06USWC=/&4PW>!VL)5F,.8LL8 MF\6G\8ZZ_UQ59E(Y*JW/HAVAS)+Y8%MK\5D/ MS:-N;6N2U395U,Q6NN.[EV^)XRM3(V>M:?!RRJ73N',!FW>*G?W^ MSS/A ? MLY.=T79CAY'W]1P=;J'ZYNV^%0\L<\R[_G/H$+IE2\/YS39I]XV=,YF57%Y^ MA>#[PF* %[;0@K""V5' Y-J5FFKR@RNUB88?Q&=6FGFO"$I MU>1)^(_"M%I;6(>-^@<1N9-HV,DJTND*E" *$50;. <#1_@:^T;;V5S'%*MP M;@ ]&PO"8S^;)-A8'J=^&)D8#LUI%@RNF[4WU&#?E# 88B8S]JM'*XGD2BP7 M@5<3B46Y()U-+ PA^T0*]_)5] <(J/=[Y/WWO[XG-!:?%I$?G1AXJ>WX/@I1 MFE9.3(03"%(G:S_Z!&< =H0N.VIPM)V]:P-2B$R.I?;AHX(1NF"\2QY;0YM# MI(/D!*3GAR,A97;Z7>,R*>LG*N& 2[" 9(KSL!NHU8?!JX:8_TDVL!KZ?3L MG!8XQ,!P%*U?!8\B1H/A5OC2!(FYR^78PB98=9W&XQU_3HJ4-G=2YE57@H4@ M&A.PZI/C/:J("_Y.4,2Q0I+U"+* 7V+^QH;92Q?91UMCG*EQ(W2+@"?-PTT( M_EPN&((DPH_%R3[9A5GL@-LC%JD/N[*!S M>% _M*T#]_#@Y) ->ORY<3BG=^XU6N2L9;OC8@O,C6]AG_#2I/(V9(T&P;4M M=1%^!]:8N2T:*/A-C"LCWE;ZO04:[,KT_)NEYT_*]/RL]'R9;=\0AY;@#W/ M'T1'8S_@CW.@'ZK%AGY(8ZSH]8D@+B&M5C=&R&R_DB/I"V)/Y!\P3;0=QGHN M00M\]%'L@1#)7)7B[E,^!BNAV,VZ"C#2$='T-CW&P#9MCRGW8>N^")9(*5T+ M*5WCL--.P77D;W-D;*W8,E:.W1U9UT\!,&K/&Y!Q(&<^?10!\#^[T_2YC#UG M!@_=2JS1.[!Y?C##PR4) LB4LGHI@ TYI"G."/'90V,IAHZE:\:HG1@EKP9* MQNHWN$V,IZ- 4W'NCD)29]',J!Y>3-(;U0:01,<4DU@GM_$93$M+)&F@@\XB M0S=?1*UL3;].D^RG+-K^K^W!RACS)F"RK/Y"HX3OYW,(]:B M!9&?ILA;13JTDG9)T^L/Z&SRX7N3(YY>1/%T1- M65=LXJVMQ:P=,6NUFEVIU=[\ M(->C_N9#'97J3ZJ_($QFJL YKEH]==5V0%4N'",K"N,NO.#7%=&Y7E,IM[=> M]>[7N9; M3]=WSPYYAT7")OSKE:FE./6;VU"O7&UNO%Z9DNE%+#=&A <>(<>5J80-2%7# MB'$"!X"= %C+<6QA=6R05PZD>G@EY(L7R])9+ D:B(C*9K$?)B=S8 MHA]YXF$""Q(*,A)NC41P;-!52>C%(?0L5=<*2M6W7$(6R_F6F0)#H$A)B4!J MF4+LP3#J])R8#I9*4C/?1IJGRV1)HA4&_NC8:LTL!0_"L2\]81.^4>!X7%)X MP2A\KBBO%Y3HOPLP72@,R$'U]#V\05N((!M4-AK' M"DRR;]X],@MV0*$.U.=C"S"F$BO4U^SXP\8[5O;82D0K'6LDNHE@+=X 0),,Q[!P3D= T)58P9>P2$/""^MDSN6MA2QQ AR3\K3+8[";]>"L)=$(0HS3YQ MA$B"N]%!WSB>BUV@J>9+"$L7T:UAC3?#MN]U%'G@@SY[47^*!,SN38D@-8N# M#02IAGILB2!5#GC:)LBIS8A>Q5\3&(M:)T?)B:&5Z;>,7KYIW=ZC$I/+;W^X M^M<;8#&6QM4\@*[G%*#K>:YIU2BV:77YW//:'@=O4N#5.ZW+[SH]X0[]TKJ: M85T=.(>RX[PJ?R" JH!*L\B$RME9"HH5P3O;I TZ=U-LX/P'07C"!(N#AF'$ MB+T$2,P>[E>OU^HLK*;]4K3=%-SD3E#4\Q1+#I'\-J1TTE^$2S8\7JSH)^VQ14= M.4GD%W; T%#]U<)$*(-C=Y?SLZR#W[QG6&OP;4A#4,!F#_!!M[A*]]^8VSRJ MX'_\8[5V5*^^LP*GC^:R\'XA(.$P^@9_>/E[!#F_#N MPPV\M0\JT)83V"8?>'/1NOYH77VROH6ZUH#[(!;?W;4L&O?[RGWWX;1Q/K[* MM#7#F6EP%(D//Q]57\QY?<]U?;&,I)IU [D#\XJ7"RD0XG"-PB"CK%,5G3,& M"74MSX-!B>'J\H;E6615UDI+*-+)5CAX<"LYXJ3DB+5Q1,?;#$<@'FTD>B*( M,2)Z%73"OBAY8_V\T2AY8VV\T8Y?BS<^.CZ5<-[UA$CB,?S3S5.^)/E:92M) M_K0D^;61O'@UDL^J P-(.5Z)WFEJ\JJ<(KN_2_6S=EX\*WEQ?:99=T.FF1/W MK,]^^%0Z*Z_ $M9#&AF%A0,<9RJG" MN76R/'\D%E3P.8:WCH)"U&YOWF# MI2Y_D'5)QD[RCI<:>8J&6!#,.Z_0+GWB:\IH76O&E7$15NOJB2'S:N1F+GM) M8V'AO5$X5/(YS?/7W9Y/(NY$WF"! 9F+&0DY9[N,3;;D'L_Z-N_MZCB-\+]\&) MWH/R7[^7CS_NWI6K=0:Q[VDO\8H1NLA M$D:',0Z*P1I $3V(R&*-R@FFOSO!T,'I,1L.Y%4LIQ^" ?D-38,G$2?6C3?@ M@:A.,+*MOSE)IP?F)=@2L2<'EG)W#4TU_5T$XM')?F=S[W 5=(YMLE$R?3FP MG458%Y[X/X918OT][($%!;L%1VTL% >^1B(&XG"P%T;DD)RO*-]ED4B:V M+H91Q)5T7%\76)]#;$_:U&8V5WW=Z@H/^P<=$@=2=!'O78K_@V=Z^=SI(9H$ MC^[E0<&X*Z(=;9:%3YF#_^=_9D1 2\V[4KOLN/=[>V MJN.]8#TC468,33-^%>EY)_IA70:/7A0&N"#PEC&M/<"?S6L7%?A*?$\3QGS+ MIL9565V(97:+Y4L5Y4LI6-Y4L-3WSJ0'L5 _J9[6JXN(!:#MD( FJ(_;M5KX M0A@^HV: 3FJPKH>09<[V!;0\?H>7WF ;*;I4E7-59?6\7JTU*J>U:JUR5G_O MBN>3VIH=U,]>!(JO!9K))=4)BF=A;IJCP'08]"V]%^[_X0^-Y/'&O9B[37HQ M=3( G#X5";W8&-C<)F%!4:U2 ;O#6$CF!+]A;F%C(9)Z?9.G5JV?G=?JB_ER M\[-C)5#(2D AI^JQ)5!("12R34 A9;*O3/:5R;X]C S42S]JL9!C];12KY_4 M&N_%<_UHH;C"$L;;?<^+7/:C,/1H^D\?1[[S%)?IG2*D=U;VA?X^#,3F-N4, M_:#J:9G7*8J0G6AK+X7L](J*9J5^0A45S>I98]V"-B=@5K9"]JP>B6H/( M\S<=AIK9<5V*WPV*WY.]RWZ]2/R>U.JG[X.G _7>U\F/-4MAP :EE M/&5C W#K#\)'OF-T]\VQ;[6&2QJ3+EJRM#J$$58]KY\452UL5@E4*YNUP,T^ MYC=N8ZZ>KZZ3OCK D!M<<*F2BJ22JI52)\W52170/I7&&?Q0/ZU1J==1M?+O MVKH]@K'ZK6__!!V4>)'L$G8>O> AIM)K6Q:&_7WH;[!*$R1-]?S\?!N2Y?\< M.A&H;G^D/))=UD3_U)KH/_S:4AEM-M)3YY1WY07.T? !^':#IU3E%:^WZKBL MJ5J+4BJ+JA8MJCJKG%=.&M7WKBNZU1/G=762E.;31P[/T0ZM >(9>\^;X_+6 MFRJB3^F GAL:T)-6;K$*?Y.(4.5L>T)8I[S@4D@74$B7&=L%A72U7FTTST\; M[]U&];1Q"ZV637W$$>)D-7J+DYK1VCJ&?:N6HON[F^KR,[P7SK!=0&6<4^D9?8%LD M3PB=<]<)D\3Z2I_'S.Q3Q+P4YIMVL;G\H\Q/['=4""E@6Z)"=5YPJ:6*HZ4F MQ@V46FH1+;50(_HR!4OP&IAQ7EE;35%->)^/GN];=WT4#:6F*C55J:E*3;6- MFFIB2LCK[55N_'"KE%43J[I.:U1@6SMMGIVM65]=1,+UD@DTE3G>G30%WP3J")(Q \WQT4FO>1 M$\1*'/T>A%4BCS<8=*YAZNA%(%N&/+/#G?0^6&\.:[D$)6W\+?>PS MCS>.L?G]_G?U<.N/X[OCC2_@8^B#J@ZSFX-D9Q@JTVR44O&7BK]4_%NN^"=F MB)6*?[KB/Z]43FL-5OSU\Y/S=6<$5:P5=!8-PN YKDXDK#\"TZ]VR]Y- MUV!PL] .A0QW0?*>EY)W=Z.T&VZP];_3M^\U%F1PJU>46 MS(0I%6:A%.8&L0)V0F&>GITV6&&>UYMKA[PO@T1[(7S?PE?1DG?>S)P2P/V5 M -S/U&-+ /<2P+T$<']U '?&)T>D.W5E168GY7YVW8]@+K=SB* M4B>4.F'IWL8R^E\PE;!!N)C=4PGGZTZ7S^BX?QOHKL450\NAQA#/_^$%Y5"3 M4C6LKAI*=Z$@NF&#("W;KQO@3Z>GM5/4#;5ZH[98W^#ZT[U*.DZ3=7PJ3255 M7B CR$GAV^&L"F#@:LFY!>'<$K3B!9R[D%6W]KAIR;@EXQY7RU;]I1BW>G): M/2/&;31.*@OUC$LT4"_+]^];JW.^ M\6;5DO$+Q?AEJ^YRC'_:.*6VA1H(@.I"2=%I/0":)^J:VUO2[G1YEM3 MN?RT\GTJW3>NPV?_+@+QZ/"%^/M-)#H.?%-_J7AF!4ZNXKN=\3Z6HJ48HJ7L M17V!:%G(IE@,TR='TLP&VQD7#'.%PE)P.'SC*5 UYH>+P,C,%(VEK"IEU8(C MPLKNS:5D5>VD4:N3K#IOU&J-1605\#2/GT0NU2V9&=0QWL9:+<\<6I^LHF1^L614*!?*G7STXJZVYVNQMC9F00'M&.UI0M>0?87B#_ ME(4CQ6&#^CZSP=I!K25( G# 5QSYTW*=?KS)5OZ;DM4*RVKUO=8XZZZYO<#W M[<(;4]DM=N/U/-$%,PS,,IK$=]V%3\'.' RC>.CPI$6PV;A]:'/UN#6E#N^< MJ.T$(CZZ?O;%R&IU2$S4*I5:R;-%YMD]['%2/+OVHLA\GOWL!4X /IQ?\FS) MLVO@V=H>Z]EJY55YUF3,ZFHEL"OQ)$:R+XXW+PNJ]4:%@C^.&PXPJ)0CF:SS MRFDI,+9;8.RODJ]62X&Q0P*C!/QY)<"?IGIL"?B3!_BCKBGQ>TK\'GY@B=_S MPATI\7M*J_=5:S2JQU??[O;&\+TB!#KK__UX^\6Z"N*$.K0^A9TAEBF4Q/CV MQ'AW\;>]),9[YSD,PO[(NGP&M+Z4U,G4>>'XG:'/ M_CT:_VTG+B5ID6CUT^7GDE:95C^)+KF0):D6DU2_M#Z6I,JD^L5I"[^DTB)2 MZOBC%8K[X1#SX);&YEP2 M,SD&VELO<$5 ^9KGQ<;CW:O0XO_, MXCKY LXP"0O[ O<]+[9DOA=9 RY)A@GVMECP". QZBU"GD$^L\((?NX/0"EB&?QITSDD]Y]P/"6._1EYU3LP4T-0_SSK7B080K^\$[W;3WU'M1TKK MG+_\4#T]GI>U-+EYLVH%UL>PG&UUYK#@BOR5P3#;'_YAW0W[?9I?.#,M6$1> M6#*5GBUND _-%[#9.IUO82".-\R693'0M&*@\[(8J)S^M8W50YN188J_LB(L MU7 1-=MK):=^S>@YU9#?!!IN-RFCR:;B, NQFV?:]CM3H=8( $X4X^ M>ZQI3 '&/,N[L- )K&,OLN]]+TU!Q)3LA3YP.AN#^,>/H1.Y^)*?O$ATP)7" M[ND-G-:X>Q\RY+CC^_A=L)OF#%T//23<1:?386)"_L2P A:] M,3J'XU,%3MP3(ID! ,) 3":\P '>F,W'SJ\90 _WUT.,]"$[B8[H:]P-.:N] M2O=">'*;%A<)GY:265>QL$?!4&-] 7(98.M%:R( M!2Z=)S&D.@YXE%T_?(IA$R-+@(.H:K\3$'C"&@D'N-YCJH/'>:%KH;1SI[R$ MK86'6G\0)LJ55DZICU+257=%"?H,WJGA*%<;Z"?7#JT#L!Q\0:%37P*FH'0% M_Q5VTMSIS"YU-;FG^Z7/X-@"4G#\.)RDAPG\%4]Q4\?DIO3VD>*FF0=K6YB% M<)%W.^!NPR8Z%A 2J&KPYWD?@,4G./>(F/F!X6(^1TY?/(71#^L UE8_1/:U MP$&F M[?A7>LI58(7#"%B$!">SU%PBR5)8&T[;&G!&R>HZ7N03'B(0CP_"A M ('&,Y\P"&-/=94:A+:H.% LE;D[/'CHLQSP\!\M"^AR_-,K,#=<"XO S 5* M$$(;_MH4.&&P&$'"\@@FRZ6%$ZTN8*],PB V^$<@"\8!''?0G]@@RE M;QG !R1!%K\SL+@_=%-^SAA17_46_"4V4,L6MDHS=T_M@?/6L74-4D'OJ>>C M_/$H%"^>44:CV%-20UG)$R.]0$#6V/Q4'C1< M;VD^"\*.[?@,?"\-'PH^"PPS8!(H*E&(H+K'U#=TA@2*"+08R#/[K1K LEFKJ MDE74_),3&T;$5!MB1ZCH.B4<21?SSTC+7TD2;-:%'7#<8'?8\4)MPBZ>%_^( MIY[FP@]=Z-BGKH=U@LO2">F=5G4,7CF8N\:E^LW$,VQP0+H,Q8>5H%/?1H,% M;,='SR5$3I!%P#+X-.*)/LI:ED&N%W?\,);W7.P-67O)LW#8S%6K>73\H9/H M)^5:TT/4(9R-?@BH?1VV%Y;M]N*N4L=%9(R2VLGY;$G MX?P@NTT\@Y$02_<0J8$>/T%2KD"JH4^DDV@:E5,M0&VX$%G2LM#KA!7-H&:# M2V/D/P;3-;B0R)+(#!@-;8X ?*XX=J*19B8OZ@S[W ''IE);^)YXE&K+T(9P M6V17V!M#1;6UYV&XD<4@VY<_I163^!G247B!86ZGIND,J_MZBM5M3V !-Y3K MFXE6=*2=N!BD\C&"%7-H81@-0#(3G:4$O@17&)Z5>):D-G,1%D$Z/Y$^R-5S M:1&956TY0 M0 96&#QXTHH2K/4\8)$G8 /:"QDJ@!^GH$&K?1+I2[,1WS@^H1?(K#40B14[ M/O,YR@^EP,_,2,\Q^1>D #'HI9D.R(\BNHKCZ6Z+RTN<0+@8[10J2Y9; M E$6)"Q:D/#YJ%I6))05"3M3D;"N(*G1_8?"^8O7]Y(T_+&P]MZMR&K+ZJP> M;/.P(IRL33!JV>[EL)8R%7-C&5E?+P)KTY$!1CB&W&R!##F!!S5P(NU Y1H: ME'EYEB^@#:&<0$Y.QB37&035_*(M8L4=2V=Y /9"1X773,<:;>V#ZB$?^D#. MQI"6"8501$!KA_>.$&[,Y>]08L;895? %WT;7V6(]HW/>6?.IF&ZS:?((J:D MX#!BIY.FL% :RKR9#F!(TTM[J[0-OUH'-;706>=,[Y1]#$4_!GQN-=89P MQI&9^37L:-[AM*PGNZ'XZ4%]D4U-F0'ZJ2JQEY -?6=$QKT\23H0.K],7"_F3*V-XN)/T='$A92I M0@]\?-D@ [!4=XCT+%/-S'[QL/VGD5Q((QYRM3&MJBVPG@5>!>C]/_ I'_] MZIP3B&5RVO7D>Y.OXR0R!O(@ \](3B#@,_%S+03#3*P"'XSO#XM%T;4C-,.V MQP5F53HXH8CQSPV@\]9;Y6'($/ZNCBWNTNM#:F2NM M*#;/&B:6HE3'J3F$R"_((E+>?+&$J%:O7O 8^H\R)T7)$H]4''"@[XO@@8(U MDJ.![6W5B>>+9_";W0P/Z]GX)5[]4ZUY?ES- M_-U625*JR+27B2BJDX:G_U1KG!\WLP_$W*P+P@G%"\E=]08QI@?)4.?O4VT- M$0N:D63,H+%)J06LL/)B*7-8MFLS06XML/0P',;L"'3ARQPX)?0&FJZO*_&+.E0Y5L2!N.DL5.',,F&'C/SZ4(L9"$S!_D\P; M6B)M-;P<9?C@/AV)7J5?%Z1EWBV4VS",)TZ:/F&JM>G>'M!)1\X<[*/T[#ID M]:L(=,+J /$N MPRBP?%FX.OYLTCC J'KM5"2)62+**6=7-B73/I989"6FTN4V*E#RPO!W!%CG MBFH@J91VB#MRM>"Q=9$2V_C7#!?// /B&BLYPPEZSMLD=;&FE M$F1'"/:>XE$>-JJ:Q_8DU'E*VG#=B,LW4$SF'89.YOZR$WW6VP(=\M+;DQE0 MJZT;-6)S#3K7,TLH<@T>Q=*183NJZ*\AKV1WQVIU$"2WO$2WLTQ+SF* LZ]P M)U69[4)2'/TASZA/4J4[B4A<&Y*1>"5N.KG5 AEQL&%)BGADGG6'X8_L!,.%"#XX]BZ2XY$4> M\=%2>LX0&V%@$*9G2-WI?334UFC$P:2#%D;F]PW_8KY'61)H(0BTE2E9= 9P MEF"( N$H&NW(["$FC?J#-!ZB(X)R2-$HIP@6A9NC1)4,%&K"P['WH8\-;K^L M LQ2&IPOI-NY(&4EA\A>5(P44 ,"IIR,8 '(U-345;T>OK+G*#0V MP)04MV^:#=?CRD%]!Y[R0Z!O/Q@FNFA]EG@W'[U#AD!)KZM(]$FZFD4Z[1'; M%?_%KX-?DX01A1AT'$;:(K)X !VF1PK*J+8$=>&0OH19KS01E3[X(<()]KQL M[J=3%>IY%I&I>0S312Z?$S[2 H(W[C.;"AK6C2_)/6>D)[!'1"["],3H9JJY09)8G@+_&X>^NI#5F:%O#D5'F-;)T=3U?*P\'[ M#@/IB">ZUVXBCCR1B,2K?JI.).O34]:>BC1QI$T'C-'S!A-=3TQ]"RP07XW3 M61Y6D:8O)]]75F?C7]*2PW[H"C_6N?0^&*[#2(R1I:;*L:5I/RI&#"V9#I77 M&M_6UE_.9AMA#-/B-%('ZFTQL*O1>28WQ?RV>IOTP;FO,VW_55+!O,1)DBCM M.U!Q9# HGA#M 8.&M*1X^J*PK""__HN2C)1.9(2ND5GE235A"H4@C5!B6;6N M#%7.@2T+5C#[VX8SHD0-9]OEQ:*#XS\0/H,+'GZ(Q"@ 5>V'5"Z"'@PEJ;/Y M:5ZI3#%EBA_4X63?>GH&>S<$5IE$WON8WG9'+E9((INJ=_W)XWEIXU1YR6JFYDR4]DYFXY@Y_2BE*6C">#&+"=^#'-&R7I;V4&XV5IMB;&@[6 MF1,]7=84*XFXB$0\TUQGJF#31)*&28JR5#83,_ "G@=F$)L6[VBR)B-5[9FZ M189R&:,<,ITG:8P(*J-AC.("%9T(E ;DGLV.]H(,X>OB&+,QM3#55S "]_'" M'&+>05>^&/F$W)VSTU;;S%_909A4-?(-3*1$]="7A>:WT?@OSE->@7O?Q^_Y MR5\Q;]1RG7ZLXB@W._K*-T#9/E"^;5U'XB$,-KZ KT[4Z4E [U.JV:D58:NW M]D 5A'TLHD?N5\]W:&2U/PC8CH!=IQ%,NS.:QTSNY=PP)S7QLK3?YZ/Z;N3V MQLEIJ4R?S/!9,N.7?P)EVF]ZVF\%'*LM$E3+S->)PW2 7#@V5^?;]>W]W[Y? MWMU;-U;UK?_M5K?/EEW?WR\N_ITU;J]NKS;T."2A=[JXOK;W?67 MJT^M^TM8Y#W\\_7RV_V==?W9NKZYO&W=7\$%A5GPP15&2<)A#(8!UK(\(S8) M1G>MN$>0U(QT>KAYC:$"I\L&<*6 G^ 6#5?,JTL#W(G-\KH[@SGNQTFX'O1 MI>X:3EM->:R-3<%>Z]W'1VSCS4$#P5X'?WU7K\A7#9X MMBC+;D4/[8.*;>%_AWK9]?JK#?:6;S2&.?Q4EM( F MF4]MBU]1W\QC=GLA"YYS3F@#>:96.;&M6KT)_]-H'+Z.2?+Z0;JC)!QDXUB* M19@UORDX[ER.3'=V+87\KW#S24GX[L-/,V@HXXM22&_=3__->P:Q&'R.9!TK MQA8Z31!^C>;Y^3LJ-( EW&)TP?TW6D1'%?R/?ZS6CNK5=]8P\/B*/^X^O;," MIP\O,8R/'AQG\(O$*_HK]=_>9]_GP\:.\16I MIB1)29+G&+^=(,E*2I*5(I%DK=FPSRMG)4GN-DE6)TFR>JY)$GXL$DF>G8.4 M+ A)OM#@:33(UMEM@P>A&JFL>IN-GL6U-9@->&Q7W=_ M#T,W;@7NG8@>O8Z([T+?75$3G=N5QOF&V#[7N]TE];1?]%Q?@\FU;GJN-^QZ MLUG2D2*P=$EW:Z2[ MO'3LLL;(:]+=B7U>&L&[1W?5G)SKTG;**])=M6F?G#>*07=EF&25,,FUQ@+Q M IQ0N:6&BXI.TOL7/X@Z>YFS!$).QGMI TB?^14=^1=P8U;C_E.[4B^MG9)8 MIQ%K7CIV6:MI7<1::]B-TX*HJI)8"TBL.;G6I4VMM1%KTSYM%B3N6(:&YH>& MKI,>0P9NKP55 !Z>S9\YN>/E+1\\IV]A$&;Y]"4N4+VVJ5J('5(JA2>VO,SF MTI;+^HGMO%%6V>\>L>5D.I>W/-9/;"=VO5D031Q.II]:R_5=$H>O$O7%F/2H&HY:DMD92 MRTMV+FN$O(#49BN'@GBG)<&MD>!RLIQ+&R*O0G G0'"58A!<&0Y9PA39[FJ8 M'2S./YC!_K6\!M_E31L^^A=EE6UXVEMQ>VZ)_CH14#)X)XYLYJ1VK"KC3+UMWO$FI=G7M[4*Q:QUAKV M:;VL#]\]8LW)4Z]@?A6(6$^PHL(^+:-]VV)A:7L*+*@RWE43^W&QCJ[2U+>*5+. M2?JO:-&MAY1/[+-ZD=&^RAC88M#=6UT5-I_7ZL!K;CC$T4MCS/:6Z+6+KW*6 M2%@'%CB0P$N[_:IVH_96.&GU75-J^TS0]74@B;^0H$^ H!&8=5-QAI*@=YF@ MUX%#_G()73NSSS=6.+,*0;]>-"UCHEL?M^4LG M"L! CM7G1!7:KJ\L:-=???L,GNKQQN8&E7[J+M/W*K5-&Z'OC8$(EO2]R_2] M2CG4!NB[=MP\+3!]EX[X*E;>)\\?)L(M[;PME!.KE#XM*BD;V9,@E7+J2T_9<:_(,B(;:& ML7 M+T@3<1;L4V?HQ+=AORVBZR[K\^MA$B=.@/9S-K2[%!Z/W=S8W*V= M=V?WC(_^4:WS]96Q5?UD:;U0M8S#C*6LQ M\4R2[@@$$%/;HG;DOB\"DVLUF\][]GZQU'K\_WE[2^6XS\YHU@)(=S%0*31<%II M3_ KUI!YI)_S?ROT?WDND/SHG?4^;S_^]NE6[X?YUKBQ8\_-'AK=*W.S7O,7X'S7%CET[[:AG,(7-=&!;L8B\ M+K(M2BMD2(061([[[;VC-R@EB0QYI&(M_0E_H N95_9._/W6_@"'30K6>VNKFZN;0NKK_>M+[]K]7Z]LFZ^^/CW=6G MJ];MU>7=;^_A;@5YJXOK;W?77ZX^M>XO89'W\,_7RV_W=];U9UK^[>7?+K_= M7?WKTKKZ!K]?%F;I!UC?V>!!,J06#-?$JW,_W+GO, 5 2FA9PHWL>DR-W[U*I&I32:50>/ 7@=_ M?5>MY"J5C"K=+/"86G:]/B-<-Z[$%R!3X_7DVV4(%^56^\/_"B>R+H$H7.N3 MZ @TXGGGZE6;.5IR]1J/*1=/[(59]=TAT%I1Z;/Z!N2)T<5"D&%Y_&]T_)7R M^/?X^*OGA3C^591067:]?0LIL[E[B5KZMGTWLZ/UZX"#WS*4T5U*+FT5K:T# MKWW+ $!+6GLC6EL'H/J687.6'8#%MP +LY#2%)UOBEXG/1%9F'F.1$\$L?>H M!T<>^" 2#FTK$)QT=I[+3L"R*:T(-R\W?>P$7*4H_ 8E.%B)ON>T/=]+ M1I;C_CF,$RP'VM)00P%J!F=:X8VE&_IRK'#2PA>F$F:C_)/H>H%PY92C&]\) MXI8^4##=K[OWSO--&.&B6DD2>>TAYBM&/81?GKWH5XIIP!O M)[W.&FS?6+HYK^ $^Z&V*5":G)U>7SHGD[PY+*7UZTCKI9OV"D[\J;3>&+Q> MV<[W"I;;'T$D8(/^*UP+W6X+R+;CQ#VKZX=/5D^X#R+>4I&P@U,N9ZK759#6 M%Y4P&*2] ++X#%3Q-R2*WQTOP#^VNHF(;@75/WI=8#>2,8&+ F<=LJ6V*2B( MR4/)JS(H]>Z>,]DJ<.]%9[+:IB8AE#Q6\M@"/+8*Y'S1>:RQJ5[( O%8&4I= MQ2!?*C%62K2B2+19 FT==6"S!-IKQ;>JS;<"8EMD3'U)\,55X>NH1GL#BC?T M]9L5%I4V<K0-Y: W@/(M+O/ESD&+K;*I/V>7A(XWP- M1FZ.<%*":=76A[-*.>>S).\7D_=I7K7-LA;MVLF[:9^?EY"))7F_G+QS:G.6 MMB_73=ZU,[NYL;AIB2&7;\65&'*[BR'7*#'D2@RY$D-N71AR[5ACR.&/.X4A M]['UI?7MXM*Z^]OEY7UQEGGP*?1])[*D$+K='BO\,O4?'Y[CIC&H5%!NO ME_%LONSN6X4Z=SK6>N4M7E4"!]8*7/SG,CVV5G+A1!$FK/[E^$.Q6H;2/C]_ ML^:I74JU%YGN&CETMUBYQZO17?W,/G^[KKWM 4PJHCJIG>DTKHJ['[$E>Q\Y MKB 5$U(/4"0Z JBF[6/:#OXGMAS?#Y^Y1+#I'WO-1SW/A2;\HBFX"NS4J]=_>X[4?Z(F+?.TB:_MKUJKP!% MX;,ESNFJFNXVI9AO(I&>T4H2IE&S3T_?K/=^>U5;X6GK;%5MMB;:.GGWX01H MJUD0D.C2&5K-&8+;X;G)J$NI"UZ+7\\J*WL]\HB^>TGO8AC#>8J(HO$OY-YJ MYK"BN@DNYB>-:C%8M%0&:R2I^JK*X,4D53L'^V(W@EO[ MZA[<1&+@>*XEG@L0(MKYS!>3U:KIX7F99+9V>%G,Z[#_=AXOA6)U.0M+T*KP#< M/YNM5TZ3O)R!:[6F7:L5!/A\FS1/X8EJY?S(RXFJ>EZUST\+,JFU]'Q6FH,4 MA0/8J!$Y/%@C-L!F=D+L+!7!J_%L&JWN.[K[A^Q(--O)5X^;]J-C0'4E>IB5L^)]JL$I;ERKMJH./D6!IT7 M-&ZU3;5ME 54.T6]*R?%UT2]=:3>QL9FT^_*J?T7T&_]K&[#PPM,OZ_GG&6TTFRJGH6Z MMP!TW@( :_-1W]9YQ0H+*0V+A8!FOWA.V_.]Q)/=1G=)V/G1"WT0#P0_"UN* M,YKT$OM9/Y5>)8;L\:S.RK MWGPW3J(TBE:#;9+"9L!3OA$OT _!+TA$U <'I;W%F>:MPA0]7[G@Z<6_<]3PJ1O)ON^,C12:NE8N/EB"NV;A-]EFE()@PI5&Z MDJ)H*439@3-"R,?MU0L%2,'-YM:5*Y#4&=WP$;V$8>LUNW9:MB'L'G&M7'FT M1N*J(DK^;O0?[*O? -00#85K!BE*C?!J3+LZK@4?DQ$*?Q'&Q8E]U*%;%&2ENY).;5*.W4KC8W5>Y5.A$;2CZ$8S@8.Z%&]JDV_+1261.:QEJ$ MQ(E]5BDRKN8VZ:@](^,U 7:LR:JJ%9J,2V]I#?"P.Z'K"L#]L]EZ]43[>H(< MIR=VY7Q3?4L[I'T*3UBK)]G70U@G#?M\1Y+L>^<0<>7GQS"*PB?0O;$%M.5[ M@4"7J!,)U]OB.JS",^[*^795'?,%3NJZ>T'GM!+K-D_ML]."L&ZI$]9(6BMG MVY^$-WFO&Z?U0J"W%GJAS72VAL]J9?5XMB.M9>@JKJ(M/HBO@_%W+"SIA7UB)\UPJBM=CX.K*Z6UU4%=T M3O?.LQ'X?0%XYWF)%[Z#5+9R]OE5J*QFGS1W0TGLJT]!$+%I:_=.^!3[59!2 M73ES38=OBH&7F8Q-^ZQ>Y&*4;=)#>T;"*^?(UTS"U:I=JVPJ2%865&VXH*I4 M;MLG&59/PJ>'O5H Y/3$KIUO:LA&J<]VBFI7S^^_D&JKE;I=WUC[2['@SS-J MJ$2+G7.3]5H25L=W8J#!WS___7]/CCY]_@,N[A]%+KB5/?BJB-RP+XXZO@>6 MV5$DXG 8=41\=!''M_*7HU[2]X^PN.TJ$?VCQ]KC$5(74N\>V"D2XC'L][T$ M1SXS-"W*$. O$700K/;@6Y@(/L)J_;"$?EP%<# >.(%ZWE$L.D?>\U'/QRZ\!VX!WNR(Y=!-I.H58I1(MK6 MJ_58,L6N P< MXY^.L0=*F@3T#WBOD?7H^$.QV+-.%GM6@Y+OE0K]_]@3XYX#OH_E#)->&,'N MNHL]^72Q)S<7N^QLL8:.8B;?\O)/JR)OW-;_[F]+1R,==#>YW;SK&(W$%\Y\V ,!2YRB\4T>_V< MGE1IV"?UL2#7^7;E5 M0!W2I3RC5JH[#\,-YBY;&#)=('LR3$2\;9*3*@]I\+ MDPBXO?4+4,(WD5QW[YWG5<2%%P4\@-^S3YIMY,KD%UE.9<^PQOZ;WI]MG MF%'R(C_Q%R;N_)+2XNO"?6. M(/$T2SJMCIMH'/XEG?EJ?7M-[(#:5$BH[-O;*>)=':1Q3<1[>FZ?UHK<=%JZ MKNMI0*=2B=W4=W-9LPZLZ8;#MB_&>?.G @F0Z:N<)4%6AHLT.G];@;LF>=(X M.;-/S]ZJ';B^:\IPKRE[98#*5Z'L^AEF_C8%A+H*9;.F?)^T0W>$OSFPWQ^L M_V.!5'>]1_XI5U/]96Q5?UG:(57+&,QXREKTH4FX'0'$$:EM43MRWQ.6T\$X MK1.,L'XP"!/4?A'\&>@+OO(04;%(E&!=8=(3L4 Z(].-(KU=+W""SO_/WILV M)XYD^\/O[Z=0>'IBJB*$F]W05>,(O%5[ILKV8[NF8YXW$P(E1EU"8B1AE^?3 M_\\YF:D%A)"Q %YH^^4;824ROR=?;/(/(0_4'7T<2G>;6:;X51E&?S=E[-_ M'LU)[>I?TXA3_(7HGOYT1+>;N=_-]V]9-Q3W2EMS^NO*G9KU?1R=XK,U[:K2 MYJL(P:I]'H5:WUWORV7E[/ZR]\]*[^KQ\OXWS;!?C%=?LAK<18?%"OYPI2/& M7[&.Q".4PK]4Z?_2]$7QT9'V:]I^_'YQ'^Y'_*UQ8V>>FSPTNE?B9J-AQ7-? MY">)CQYOS[]:S@\-+ADPVTX_ =/R)[8!>VDYV+Z@TK>!PR7/@E85/D'[;&@C M#[GE7X 9'B40_"(VR0*&:B$,^?'A%;-_#!$[<^VBH\X@"IWC0-=\YEE#)%OD M5DB0.*87*>[SKT:X01$D$O"(V%KT$_Y %W):.3CV][E_"H>-8A0;N@16@.O M'\7YPQ6PL3>W]X^__W'Y\*C=7=]=:N>WW^YZ-__6>C<7VL/WLX?KB^O>_?7E MP^=?X6XE>:OSVYN'VZ_7%[W'2UCD(_SS[?+F\4&[O8+?;L__^?OMUXO+>UJR MM&S@6]KE__?]^O'?I7F1#Q>N;1N>9HR!\P0^4!)(('?J@W'F?\Q>8>$PC0B) M5 7!2?]^A-E]P'N$"A+^[D^,0?@[YU8@*8ENT]G4RLQAIMR#%V]_%GK-4D] MP39^/:,7POOOOOYBZ,_]\/[].65UH?A^UW.[2Y^[B7=3AZ,.1QV..AQU.#D. M!TP@+,C[^U$]U<@I8!/G[=#X6+5:=T(%0/^['$[OX'@OU^6,]BD5,RR@.0S&\=?!ET3(^99<6N'C4_WBU>KP]OAPSLP09MQQ%&%5NR8 ME1Q65*JHM$142GF[>TF@ZHSE&5.NT%;.^%#T[1!K[1T"M8H][3%[P@+^RK534<>\U\_U,2=JP-19[_59QU,O_Z84 MS#W#W!L5S))!DWI.KA63J=4NA\24=AH@/BDX(1Z=GAFTX RPL2QL84>OL:,>QY6#::O/-=DH3@EJ'EVK_YT$6 MT7)AAOY?U\$*O]Y/RZ_$&C)_H_.*E7:3CV:N\0DY;FZC 2%A-7!K2,SI8E [HD"Y#X#\B1E=D).0"YH M:;]!<-9J';W34"QSOQ&:,G,A)T)G6VEO$IK5FE[KJL;NNP_-K%:T)RGS!/)R MS^6]:#<'UWC7VE9C:UUK56?GLA-#%BVD3#R0M+!^##>/3NN@#;2ZU7*PW#*W MB2R'2P!0K;#AD@T SS#^G?H",%;&A]1Z^DRN%=UFI?:K6 MM0\W;L#X:=1:NTK[I?"Q+ X%R/17IF%A.9?N1X\&G06 M3$(!5?K.DY*.]%9T41RI2R0I?[0C0E]7UME:"4YZMT=)I%IEEQW)TATP/1 MZ52BTO)$I1L6:!9Q7L4PE+OLL$]Q,=OOS,2B363[W4JU!O_Q']>0R0.D&A4>%QS@>&T7@<14_2BX@9KM03O1N=6O3K14DUP7) M9B$LLA@OA6*7"IMQ;+9R8?.0.)_*E2DH5X;8E#:(\REAU&L?;$#*Q]_VI:=1 M83?/J'LK^'\+-U9ZK/3^$FV]VSU4TYVW:8JVS2%V\0Q41K!-; MS*=^C:56ZYK#^$!BXZ?&?D[@4AJ'^AD;ILBWJ_AL4+%^5D:6"3?^35@XW<[1 MZ2^MS[_BE>GM0901J:))!W.*&:Z SA:B28M<61=LB/[7,^; #\&=;3A^E"YP MPX+;X:/Q\\[U*(\@"#RK/Z4QK8_NG>'!)6_T;$59-\K%M7>X[FXY0J4PKC"^ M9HQWJ]N*>BEP*W"O&]R%I+D4%#_;--YSULEOL4A>H7X]J,^76*/0JB)]V_?= M?'<\!IOV/V9J&-G3 ,H#$-+:T'9?M!$SG[#G8,R%T^? R^?"J=6J1Z>_U*O* MAZ-\..H4LX1&K5J('5"0#P>S0< 7L"[PC[UAP+Q[-K -W[>& MP'%)S#@FRIQ5E'^E\^\?D(O1^8MWVBA0*U"O#.I""D"@9D74P_[4E"G M"#[+@O[WS/"9>1Y#P6IC+6HUO5M77;#W#K:%V%6K]&6A5Z5T)O(07-*_EC_A(^F9$:=:.>F=R3L/>/G/(O= M)?RD3LW>(_&P MAT#)$#;;J N+-:U]=!?8N<2%^K-"ZI[!XWTK8 _,>[8&C$NU>S9PGQRZ"PFX MLH:O%>7L$^5LN_)L6U24/8M2/ZEN*CBHR&F/R*F^M2(W)8T4^>P^^92IC$Y1 ME**HW:>H(DKTE(ZV DFH]*OE,S3.#!L3JWQ=NV #8LE\!QLU'2?4=G?42;=] MUI'-$]+F3J\K;XH2I&ZG@8^C>H"&5LN*ZNHGS;;>/=EBQN:NBKNR@[&Y%C"N M;XA@]T1A<-\PF#;3>3/Y3>_'8ZU>U5M-E3&Z=Z!,&Z"\YK2E(M#8U1N-FD+C M+J(QJP*HGC:;>//I2 4.+ZWIG=H6V::J@"L=_K/@GS9E.'\.4P&SJYL=O=;J ME(.QJBPE-1]4=0-2I_A^OMI("9C6JZ%_&GY4\T$5!M>,P92HX]LQJ.:#*CP6 MA,>4F-W;\;B%^:!-,*JZ>K5559#<-TBF%(.NP"+5?%"%S>*QF5+JF8+-0^)\ M*O=@N7V>-OH3&P.KB9^S-U<3XM2>'\+-U9ZK/3^$FZL]W_<]5_&9C4_\?-NX MB.;)T>DO'34M0L6'U"EF&_ MG?[250XFY6!2IYAII#0+,5+4.%(%Y"T#N56,/:+&D2I0EPC4A:3FJW&D"LVE M,'=;A63V[^DXTOH6&ZLHM]%NT5&^<@2%_Q+A7^4DJ7&D.\J*,CA1>^WUR]L= M1]KJZ,VR=)U0L"T.MH7855L;1YJSP8^"[2["-DOQ:Q=C0)5A*&EF%+%=V^_9 M](HFBF/EA91FJTFGBI5O%K;YJK;5I%.%Y#(@.5,I21G:^V9OU,84BRT:<^7W M,AUEHFY^?>@#Y8LOFI]:K M.^JDVS[KR.8)]?E90&M+]"IJ?FJGVM*;#36[%7S6=3\5-6^2)UB MP7PU+6!:B_S3-34_56%PS1CLI$4=WXQ!-3]5X;$@/*;%[-Z,QRW,3T7[OZ:W MZLH9M7>03*M;?3N+5/-3%3:+QV9: >D\-@^)\ZG<@X*JB-*&K'*C7ON 78\_ MJFFKLS=7T_G4GA_"S=6>JST_A)NK/=_W/5?1G(U/6Q5%Z#F'873;1Z>_U*IU M-0Y#Q9/4*68[ ]I;B">I<7T*U^O&=5J'@TW&J!3&%<;7C?&T7@0;B7LI<"MP MKQO7'4*69+C4(L 3745 %YVT N1NM70TT5J$L#ZGJUD'QY-=14H;D,E--=U17I3%BM9>5KS=L:;MEEYK M5)4NNF>PK15B6:FQI@JVF]7\:L684*4?:UK3:^W]GG*OJ*(X9EY(S;0:;*J8 M^69AFZ^<6@TV54@N Y(SU9*T&;UO=4AM4+78[VZ4*DU)C3;-W+C]F\NB1ILJ MH+QO@$^]MHV"-C7Z2E'.[E/.MDOF2CHV"UB*(B=%3F\FIZU5YREII,AG]\FG M3/5_BJ(41>T\1=6+*"U4.MKF1YL>0,[8TM&FM3UQTC6 <$UWVK=9V5G,XI5F M\9A:RMB?=26/%38J]:2JMS:6IS#+0!K[)E/?@:Q?=AW^:9."UY>$5L!PUJY" MO4+]>U&?-I)X,REL18R#;>G5=EV1@2*#]Y)!VE3D-2>M%8#_5E?O5C=5LZ/P MO^/XSTH?JJ=-8-Y\^ENA(V_;G4V)AOE#22,6E=1\:!2717!I,Z;S)^D5,&2W MT] ;G4T-\5E%>'#7VZ]!WS5?\3=L9W:J_9\&2#>M9_Y3*CW];695?WLS14HB#+0[5 ;!4YLEMD3OR.&*:,<#<-\-YA2V$KP;P0,.#/P.BX"M/GF'# M!GN\5=>(^0R112YF9,K:T'(,9V#!1;YDY/YQ*=YM9IOA5#6J;?[[T=V7LW\> MS4*P6OUK&CF*OQ"ETY^.Z'8S][OY_BWKAN)>:6M.?UVY4[/,^^@4GZUI5Y43 MOHH0K-KG4>A&ONM]N:RWO^F&?:+\>I+YH*[Z+!HC@&M=,3X M*]:1>(27^2]5^K\T![3XZ$C[-6T_?K^X#_?@&GY$]MXQ9Q!&U3I2M\&#I<\"UI5^ 3MLZ&- M/.2/?P%F>)1 \(O8) LC$PA#?GQXQ>P?0\3.7+OHJ#.(0N=80R1:Y M%1+D.3)YH+C/OQKA!D602, C8FO13_@#7#8W^?^*1PV"<[AD198 :X# M?Q3G#U? QM[7 M#Y]_[9^6Y:W.;V\>;K]>7_0>+V&1C_#/M\N;QP?M]DH[[SW\KEU]O?VC/ O^ M<.V :'&GON&8_L?L)16.OXA"2 <0+))B!PNV*O)]XN 5SD5OW3?S/#TRX!%.9\0)13=#^])6K1L>U%9Y:.V&>$: 7"+UUSV"U,E^-99Z[>6-WE[Z[-U>;OO>;7N:R]G*P[/FR]J/3 M&Q9H%L5!]R9.MSC^AHC<:D^7>K[:K>P8&QQ9U(IUM=R,FMZJ;RJZMM=9&&7& M6EJA4S7"6G4#6&L"UKIZM:4Z9.XWUAHI)4"U;H@U^'$C?*U^HG>K6\NK41;D M>H:!Q4K#M,#5/ 9(&U@VHP%@7'?!O^-O-"1LXKG/ELE,?AK]5^W#U)>_6647M7-U>;?AB;KNS4MPF&^@E)@0LV (\O[[.@%SO. M54W:&YQ;(T"X9I F-+/-K>YNPT0=DLR MZT$9Q2OI/G$,8-JNY02&\V1ANJ&!&-G3X47;I_-6$9UM8H=W.[P.CXZH>T4_ MEUYK*MUF_^"6UF+VK1[[M<"M7MWBM!4%MS7!+:4OZYN=]FN 6Z->$MZF/#4K M>FJ&S/.8&?KFC9],:2AKHN$B$@KD@?'HVZ/Q\Y+/+SAC#AM:*\QMQ;!O9XLQ MWS65LLD*A2.9M)]NM5,.@:3P5AS>FD6D+*P#;TV]UMY4]S3E MKEF' H03T35$F^-//8I133QWP)BIM* UT7*^L:<9_E@\LEOG6A[8G3BO71QB MIY2?D@(XJ\55,RVV^J:PUAL1O&P&7E.-UU7@S0O>E)CLV\)AQ8*WW=QBN.O M!SB66"W;TW&-I6 /6=RAD.&OQ0UXW>10!V7/;PYF:;':M_J/"H59M:/<1OL' MLY08[9O=1H6.JSZI*F_1+JLEU)=8Q_(5I8"LAV3SS1_-)EDZI1O7P0HC[NT5 MKMYW-H+NJC+<_0-<6E#VK:K(N@"G=SHED1<*<@5"+B5Z^F:U9$V0Z[1*8FXI MOTE1);GG(\-Y@K5@G"NJIJ64+ZK-LBVC;]E464N:#28M&X/_3BU,"XI=!S]. MQRQQO:K$546A9;BYVO2]WW1EL*YDL#YZALF(?;NH,&!#!F8]8P=KE=^P'NVN M]9[\!JG=@4;G87W9!>/_7CN]P0! '?@]AP]'NH\.\GT:7Z-;D@QN!<("0?B> M%(4M@+"FM]K*N;*;,,S*-FB])]M@8S@\;>C-1DNE(2AS>E9]PID[" =A!RO/ M_SIY11&Y!_.\0A[A'U8P.I_Z<-[,HX*WU3A%0S]I;5%A4NEVY0-U%J:+2'18 M,Z9CSE^]5I;XM )AD9RUB#R(=7/6CMXXV2+XRJ^#':H+Z]IY9D[@>I9R6:V- M0121=3'/(&(GMUI=\HG>WF8[:J5LE0_&62@N(I6C8!3'U:L3O=923J[]@UT1 MZ1QKA%U';S=+HM4K+]1*&M"=QR:&9V4M@,%J$7B.&4_ M I&W)7W9JS=CBDB^K9_451.P_<-C6FCY_0K.^O%8UULUU5IW__"8$F4N0//9 M!!Z;K9+@43F%5NNR*R+ VL1XQ;BOTH#60^%I'=R+2V:ZXX>W6C$=*#D=94[O M)N2RG)'MM#AP<;E+[\!<+&E.;U7WNV^%@G21D$X) Q>8!E4(I)MZ^T3E0"GO M4YJJY4VQ%"AT.L4J@':48\!9>R;SPI>O37YJOFM;)AUU5=?POX]E8"RY5YK) M?]*:U1>BQB$ROD9PD$;:K2PTBWWVWN!)=7MMSL#*,$UXF_@I*#%\Z$25%C0O M1$]=*U$U8T35W5IP75'4@5)4%D&EQ.^+T9+7+*70O]W>E#\QC7"4D[%8S;?5 MI"V\><^4:L5RRL)R,H5XVB2#MVK&@)-S@,F=0,G9ZW#>D[2$B3>J@*OEWI.6VV]VMF4Y;B*<%;P+BV\4_(MWJR0 MKAG>S;K>Z6RJ9],6=,\,KVM"@5P&^O=?D='OI,C'[/="E"6RS!(Y.D5VH0UM M]\77AIX[UBSGF?DSUH7JO*6:0)7AYFK3]W[35=ATA4Z,&#;][]3R+3D&OC_U M+8?Y48M%\CID3^(]NCQ_7F3A+YH-R?SM$ M>2T^,5KRH3H+U$7DR!4! MZC+/BU2F]+OULKNI-Q@96$4)2MC$P]!=\$K);0QP,4'X* I?D]PJ(@UMCL3O MQ!G>V0"0GF->RF-3!>1!;9N3#?U:FV+I3(*TSN&Z2(2 ML=:,Z8[>ZNRWR:S\;N_7[RPG,)PGJV\SU2ECK<9;$6E4 M@DDZ!RDGSTJ*#95O MIB;&[JANC5LOE=#O#.#TA!+S50RPSMIPUP* M:LQ0.$.I5:MZ;7MC(55K!D5 \P24%I(OJ#=#X034KNG-QM9<,HI^%/W,T4\W M);^@J.8/Q=./WMR>1W-[Y#.K*V_/2[J;A<1[5*6L;JXV_3 V73D(WMY"96@Y MAC-0+51*!61U<[7IA['I*LK_-I]NEYCXF>MY[@LP;5\#T\RV'$9]4SQF6KM: MHOOV*->V\WJZ12/]EBC>[.QB5W#WU%)S:^'WW- MFMXX40F,AP"^HE,:"P'?25--+MUAI>:>342JP]XH-:6@XTQ7?A'IAM'!W0[? M3\B-EM[:7B]_%=O:.0@7D4=8+(2WK0@I".\8A(O($RP6PJV&7J_N=XM"Y7HJ MP/7D.D^5@'EC@$]?:6EKLK:*2/A+%)#Y_A3KQX!1P/D]PO%=P.FI:MFMWWSK M2"LB,VYUI&7[-EMZYV2+W4,4YM:"N4:UB&RRO>5NRI6TBI)R%W%E]^J4Q6,X29.!JXJ#"L,Y\1P2GSYS7K5 M&OAP8XO)3N6/SAV\XVM([B[-$LY0@+"O>OROC4>DC;I9M6O;[1 M+NG%/L=S M6RV1:L^G@"@$%XG@M!CSJMW8BD)PLZT0K!"<%\$IL>N5FZT5A>#ZGH]Y57ZU M%9KT,(1"K*Q+%T5 I8DUJ][%ZU>4FZU)HG?Q1/0)Y'O: M?]4^Q+L9?TQM8Z18S2ZPFK0^!@5U,[Z2H'CG5)R3FE[=6 ]6-0)@K^"=EL51 M4*_AHN!=J^OU5ID;_RMXE]?42LGP**H7<$'XCC6CQ_%F!^BJ4%[:E93/\Y'A M/#'-,<]R@0D-/,S9N6#\7_C=GB(17_X<$#KNP;2]' [98(44_V9\\$Y3 M[S945IHBD'S)_K6TA).WJI5EIP_TB^K=6DGFD2KX%@C?E&R3-VN-.P#?>E-O ME&6DL_) KI)0>;Y(\].U/H.+'70YND,,N@.>=E3:[:'-FL5\9A*%K,T(S)"W M7%C^Q/4-^PL0V02^ ;_C]VM\6,&OLFH0^: M1AK*N%-$HH@DFTB:RM;;%I%PM?;7H.^:K_B; 4=WJOV?!LJ8:3WSGT*U4L32 M9FXSF;DJ_@9_FUG[W]XS.UBM_C4-IN(O1 'T MIR.ZWZU]'H46 MQEWORV7E[/ZR]\]*[^KQ\OXWS;!?C%=?$AUJYPZ+9MG12D>,OV(=SUX8('^I MTO^EV2;BHR/MU[3]^/WB/MR/^%OCQLX\-PD-NE?B9J-AQ7-?Y">)CQYOS[]: MS@\-+ADPVTX_ 1-HU#9@+RT'1[%4^K8[^)$\"UI5^ 3MLZ&-/.0;?PG/_[^Q^7#HW9W?7>I MG=]^N^O=_%OKW5QH#]_/'JXOKGOWUY>W-P^W7Z\O>H^7L,A' M^.?;Y_O&@$\9(HI5F[1^N'2T8N5/?<$S_X^;EB* H M$GF"I?[]"-W.P(2$* U_]R?&(/R=LZVAY1 !I_.KE;G$3#ENE9+R/@OYO-3] MM!;'TB8'QX)<@KUV_GZ$A:7TS^Z/P"MEQ6?M2W M$SU_I8"A.OXM'7]5'?\!'W^M6XKC7U]260YYLQR3^:_(F'I?Y&/V>R$J9+LL M9'MT^C"=3'@''\-&)\O =OVIQT?=8LAV:+LOFN5PAZ?E.K\53=_;XN3%W3P# MF65?^N[>7&WZWF^ZRA OJID;9>%,#% 9S:F'&>+!B(G$&PQE 7\'Q8[Y@4ZM MW8#U&V/8SL '$3"Q0## 8O[ =/L0&@198;7XC#OX+QOV(I#SQMJLN&> M0ZV(BKTBH-;J*JCM.=2*J*XKA*NU2P(U99@6K]E\\-B 6<_,_+A0R1FX8Z8% MQD]8^P>AZ'AL"+M+S6M_^8R>/?G6%9\-*M;/RL@RX8&_"2@WZD>G./07KSS5 M\WV%9@4WPN]@,G2N[S6/3NN=MOC>KA:N[Q:C2ALW_7;U"V'VB"A[#Z^JZ\U. MK1S<2N%M37AKI/56?KL.5@C>:GIC8QGO"F];:F/32&E$O((F5@3@HE8SK?T> MJJ&\6,N#$#>N0\$&RWD&%9^ZIH*6E-9#584?E">\##=7F[[WFZZ,]**,]-Y@ MX$V9B4VSP1X/7HF[8RWP!./.VF3J#4:&O[L-LDNG V:I@,5T,J2PT.7/"7-, M*YAZ#(NIII['S+-I<.,&_V;DJ%NMNW5GBS.JE!VR"0P6TRUPC1ALU+=HE"@, M;@*#Q;3\6R_QH#LODY^_"5? K7=G>('XI1>=Y;\,>\INA^?QXQ886(G(NC7E M9-]O2#;?XV1?$R07C([:V,0HA<4M8?$]_O?#Q*+RPA3EA;E'L%?<867J,\WP M?88S>_N! 7J1B1H3$SVF*5G"Y6U/G"?-QD;4FFT9?Z3%F.\4H4@8>OME+ M0P=^._SNLQZ>]JTXZVM'=A._O^? 3)EL]V:'SL99IMYHE,33J/(4MJ)H\20'IM2LK?", ME&F!:U&S^.A 5@#'Z+24AK7GH$R+T*Y#PRH.E*VJ2AW=47'DN,&\$##@S\[5('\Y!FV-C$\*LP) M1@ST(0SK8:L;(V!A/BA?W1#OPBY7 M!HE#8EI'6F %N!3QFSAGN XV< <[R-[_F_+KW-=94 M=OFJU]*HE6#(_SZ#/2[?;Z9CP/0@GRV7U$ENO2?#L?Y'D;+S4-I@V,PQ[SR0 M04Y O]X.KZ3X>0BEST78+^D1'GN&/.&(:TWU:KO6[8 FST!SF2#_\J;L:-6. MLVD<::4NL8$[2?IFQ"T;[4E&.!N?MVW]U]Z-]?_?^_Q^O;FMYDE+E3V-D0OFV(F M M@W()Z[7A9<":&'P27^2_FI\^:A:HBN@D0QJ!9SK3(:CT0'@>>=%>@"(]S6,V M*8J6,_0,'RB.KL"T; '#P%CMH81W!08D&P\1'_Q .D)#T?50T.@9'[0H>>..SN)[AP9+%A+ :-N^#C M3<;&#^;IA)USNN;R)QM,$5;:[7!H#?!#]FS84SIA^#[M+?I7N4D1 A+?#&_F MA_?V 3Y/AF?*S@&&#>S&RY# M,D^0(FP4B^#B$P0Y:4X ?Z@X:[[ $% ?\0JM1Z+;T!/'$[NKKXU 6Z[\=VJ@ M)P Q14C% _08-28<\/S/@<>"B-@_\0?K\ \\4/R,7_(#>'N^J+ $Y9-8*]P9 MWP\7JX.UXE5>/&,RB=]^\&JCS/7$-7C##"D&]A&),8D^N6GN<,BP107UG9C9 M&NU/UR)B'EH!@E^P+7_"4/? 3EP:&M%P:S1_@RT/[3.S7 M0&.,:1Y%->"5 $,_,.HQI:W"V]W!7[X_]'3M"W. 0#D_BG$>7;MC"$KW!\*? M?>(OO4":X&[YR&NB/P%W&8%P )1X 8$/\/4O('QW^HP'_X?ACV 3 M?A-QX9 M?A;S;Z7D:>5G_CQ12W#^;R&2X?E7H-+QZ,X"_K_8HT7LOS;O^^?<8AQ_BC8, M'Z,9 \_U_22I;9J%R34++7TC:OT#,#4+! *LL#<88#,[V)@[4.X'L"OIROJ) M4M975-;K95;6'[Y_^]:[_S>.0WFX_G)S?75]WKMYU'KGY[??;QZO;[YH=V#R MGH-)KE3Y.:>'V)#WTV/"M"8Z?)VE0F2]W18Z Y-DN/5=. .MP!=^LN@EI/0* M-=RX;^0P$,(%<,Q#'[I(M,A'0AY^]A-M 9_+Y>\@-,E"(27] BQ#P_-I.RV: MR,>X_LW9MI^FN<_:CIH+O%-[&5F#4>):]I-YH-TS,CT"S[4U([Q?2C1!P[_1*S;B/['>SRI%(,2CR= +>7>9#4AT,P:<=Q==2ZUX&UP0$;3QS& M20,>K_+8!#1 >ECX&6Q:1 .Q#N_:U.?F Z8N^4DK&N\G#&,6LXFU!\9 QPR8 M0&>&7^]$G&CHBA#;=1TM0)X)F18F"PS+A@6!#3+PK FGO3! */?N6.M%$-%! M)_,PMASV,1YZ[ICW _0LN.DK#E-*"R?&B!J. .-#_-#@5J0 XK8 *\&EXH]X M1RKWA!>@>\8]'IOD!;,J]KJ>N F^LT8MY Y/_XY:0MZ'Q\N=/#T3>1R"X"(" M6E(SJ6U0,YG;A.OQ&"UVA.NY"X@;2,9WZ7FN=ZBZA^36 Z1.= @],V?*>#?/ MQ>9].Z6Z(IG,4FT >OY#6QOMMD\AH1!!$6)HYK!@(6>OL5_$A8[9(S[4^VGY ME=MI<#N\2VF?EH_ R] M#.V\>3.M6&.VVG%]D;O!LFW'XP\)H3C$G]9\,+L9W'I&#X;^1JC MD7<9WYD9A\%P2S>J.*7;"Y_5Z#)L7*D+HMD6# K4NN'. P0EW M2@L5C8&-D 3I)3,VT7$#<8J2#TL%(#U'B:LBW#^*EY%^L"4T=Z6#1BDDY5)( MOOOL=G@I",)/JAOU;:H;L#!2+N32#E/! '5^8GAA$##(Y>\ QBA,!(Q7D>%F MA"YH-$#@&Q,;%O_$'# !,6P#G[-)$(F3I(<$GBP\]Y'Y^OWXX9AOUY=>+Q;, M]1AQ3C]N#F(DR/C!0L;+?1E_3DUN.G'>:) I3T_GQB(\7UI/.!"&E['@%V,U M*O3[S- PE]X3G[OH.Z$+AD3#8G>,\+DL6)&04_PBAAUXT,\3TT@BFY?S^F3 M"*-8/MG&T;; *<>,?;RG9S%I]L*'""-W"M?![3U\O>E8V*-\"SW4#FP+%F;R M8"FLP?!=AR((42QL8'F#Z1A>TR';^19=!'#[)Q?7VD=G8](9$06T 2SXZHE5 MZ\)KQE_;]5F8!H%+$&UO,&381Q<5KE8G$_Z%#'HRL=UI/QA.[=#7I5,C5@/NO;DNN8+*(QX5WCG)PMW@V-#3],V=%"W M8"M%G!']<'"T!O\DWL-?%\@*K*?HP?QH0A!BM.=8ZPV":4PB9XG?L?&JD:PT M+8S1AHX#/TX^_"CY%0+H(1)<>CJ/F&\T66#S$A>>QWZ2?I62<'OWY>HQ/7M7 MIB'& F2I>;DS*;NSGV'834OF3!>7&4W)T?+!68"I5;G^)=<82YM=E$.[[1SK M59.L5SXDD6 =/N7MN=0[GDR="Q9$OPEZBA.8I/.Y:[8='"M.%SX3LNH\)JIX MI#"I%S?*%R"44C:^],/3F,_2E U>X,,5"\8'\42:4#R&,V:@O9C"X1*JL3)P M8D1*0^0=F-*QO_$UX7[PD3'P]"P/-)<&"I[L^M#9547 MR[/\2'\5G@4FG^*)6N\HYA@/6-$JQ+JX0LI56JW_&HM?QE$S>+0%UB_M-VK^PL9+6$3Y]'-W &LL3SB9ARIE^'*>(<4-Q5Q/Y_01#/)*W!_%Q#@]XE@L=Q%Z\<\+/.[JXD^&39&@YDW%K(E=!UD,AWX;LI+B -C MSV0M(@$-+0\C[KB/F%H" HA,N]@V(>Y#[B+V;"YU/>$?BGF%8&6B"&#O[<)M MJV,%9JUA=T7'Q'\PF00PAF>9F;[6+)UV2B,2D9;IA]A[')Z&&FX%31MBT5;( MTA32.>1%_LCU@@HR')UJ$.S7BFW!=TPQIX@3-G%#$!@@'HC!9.<' M_(_-9>L'4(E<]P,0P^@HP>BL@8BD7Q/*'@"0Z;_ I?!->EHQ09C W* M7+F)\8KBGWOH9-:2U,H7W6N(!6)2;PM+'' )4:I4- A*WBZ#W])I7]GNRTRM MP,@PM=EM6)8RT)WI(FSEZV9]!@^YE<_P5PG'GS:/YSO7):/PQC+0K26H6*_% M0OH9&]=.V;CE/9=S;5Q&M1PV '%2:N5F3GU+6U=5\=@=T@+N:; P,K1LT=\J MG>B/K9SHM)>(^US(N(^HD#E A>#1PU1:+[Y-7BS)S^T>F/+HC FQ=XRXZ%1@#DR?F1,.?GR M).)?@/DQV*87S*05OX'%2 :VW'VY>?#@0:(( /TZ)F-H?$X=64K._0M#D80K M=D2N)19/CL)QV@OS* 6)S$C+]406L]APKE%87FS#Y?[*;=5Q\=9P?E?#6R,' ML,DREWX/6$)L=W/9Z%B'&4:0A<')'0POE(@F,N$M)_Z0, ;.BW3#+\H$)&%+ MPY=$4AN>>]*@QA0H3"Y7]FFY)1.I2#()E'JI86[JU\C-P>54IK2:ZTVR]7V1 M+Z3UHL21K_&&J(RPH,5H(3BE09A @4S/*SZID(HM!NU_C3( ME<[X"@(,MMCF9:Z2[U-.*'"&,%='45S3OL5-(AL[/4P X&WMYX@:4C4CA86K@X;[PLD4,$)* 0OW?8]B8@Q@HA2&X^DN7H"/.>(ER MQF.)=:1[4]L1T&Z918EKZ,WAK3Z&@#D9_!9M:/J\#IE?!?\!JP<-G#^'/DL^ M5SX3\TLQ%D,/6+08'5TA+YBM@_^ZWH^*Y50FGDO>1'*&3B<3FRZT_)P+ !7< M\D>P>1@/\K<%]:)(I!&&*G\'P]YY68T2^R!Y#CA[FVBD_N!I^\$_FE=S9V MZW#,L&XWBV_6RM)QN^Q.&QT+OT?.%$^-3@!3]8K8,5S$Y878P9]Y:W M./="Q!0H/P.H'2NI8X]P,+O&LDW1-REB:>$7X)Z&X\M478\-IUX?N)2L7V(_ M+9^< 0MO&F4]4^DU-B=ZP5P(S4 &.1!Q#_A]P(?#8JK1L78QFR$-BBEHM_\3 M?X#+I26..O0K\4ETCO,.4;S74BQ+"G7!,;+9F67R+_J@/-(,"FHK%?L*3XM' M9Q0%4[A5D5"'(W\4L&OT9]G6,PM5>!E3XM\\#LM#9J[NH\/K3]35;:HA%^^P M"!0&NL+00^+_IGVEBO4Q=IT2@9P/;V'U\GC.HP\4G7L0?Q$LS_ MW&.PBB[X!KLTGHYE:69.GO6=-N*K-60Q=M5NHG-X-G)A3CW,[C@ZK;5FQ0>G M9^[,:GQ:H1]205M@_"QP"U*"-^$6H!&5M@7XJ?_QDW8F"7!M>)!/6#,.3C(V MH;Y@$]:-@\6O7NCY=S)>O;GD_&D>P,BU-\4&RHQ" M)A1-4-GLP92K.%&2>H8:EC?=DQ)\@I$!)BW#1J9:X)(O\\EC5-F.'R6+Z#)7 ME*K?B?I\KK />(),;,4V>V:V+Q(O,6KE^H:MRT1G4KR%;C<83,?BD8DER31V MX9PG;7[L8JUC+#TUUBPK"JP]4>03$YUXC)-_5^;[8&^=,,%'!K&2$40:CN:' M3N*(J/F>V*[S1'E:R6EJH:.9%V:2RLNU;J[O&C,;*?PKSW*7,?V+>WL0 *&& M.V2:4*7YS#9\\.8SPE7Q'>C--55\IXKO#K7X+LX@>:LV9/IC=)](;\8"HQM3 M37GF>Y2:F2S!L!S3&B2JFP:&Y]'8)O)P^PEI@/R0_X#@GWSP/^:3C'G"DR(% M EW-E/#Q&#Z4GB5+L= Q[P=<. 8G0E9I^2XYR>%F^%D*PKX N+K316D,#E$[I&S-FE)YT^POE"R3]3ZM$' MG,3R9>U<;%E37SAPPKISHX]N<'+A@ @EP2KN$0G7Q?WP#]!57L #BG2"?T7Z MY6/O,K,,:SF[T!7R>GPYA^?!3K!6TZ76+%$;<4PS=TS#,[':QXSB=21Y=&=6(.E?3$[S?I,8TR^]V$O3#\U7Y9RSJ91_"+.:J@P MBUZ6VNP%GHM12M[2"^LF4VIX*>F->JB*KIFP=Z*'V&1BHU+_A#5X3U/+#%-2 M>8Z:+]IT9I?(S70U"[NE"+."4MY 'S/X2(+8*B>4#2Y3&DV+EW'@FG4T$+"4 MC5@^)GX\R6XIX8O\8&Q"-X^E1G)#(-E0TE_6["X4<=@DQN<6(DN]%9^Q0/V, M171"&$3SK70(K=A\-+$GANV[O&LL-5>+FA$1H^%;)B9\\+,)[1]N5O%%86W) MA%=RQD[8C^^+6!=O>N1(58],I&6%,?.M_V1E#*:)4N6(R+SU,?/V\&IP8_4K MV$-0CKD0-C_V)4H&@T+ECQ_*L78NS&=^FL:3Q\*.53P)RP.U\ 6P@E__%:E1 MUFRZ0LD0]9U -A;&;8+PR2;O1$2AN1Q/"6C0I\A4YB66F+M,Q!_+=K*T:.0N'DV!X;TEQ8M1_K<'_&!@8N92PR=5(KF<6+YZ0I,2>( MCG.,@7"0"IX02J O3#TG6<@XE>W7//;LVL\DU%SX$\ W'*\4=B,D>)CYO# @&Y#+BWQ15OM7 VEAB M3#FVIU!C[8MH<-!SS.NPIQW/6I^+9&K/3P33[YYE(GM"^^) M+*!.:2\3QUJX)FIC\VRQ%\%M8EX] MPP%#CW(ZUU6ZBN59TD$H>K3P9BN8T)/P$G+W(?<1AA[#L/E'WN 8?SE,DKH& M.<>X@1/>)?GZ21DR$DV N'J*FJGP<(%LYO,">=-I;E[)7JBARH*O*0P]QDTK M)CQC\K5G7SCI%K5(PQF['@,%X >(@@K&\2IYI.4'_!8/^V5+JD': M$B P3T[4Q+E_L8H['F"47]*)@# 9.:K.B_DD]5@'3P]LTF>@:31TL! OS(F. M=PWBWNNP"'#!DD( M'7["N(OS.Q,.=Q&MVD/*F'^E2(.*7C[<^467)H,&89\OW)#H+G*93IS-8:18 M=O,2NK!,8$RVIDCRZYEMCACV\I?)S#:/;SQ_"U[?1 WLHP6%7$O.R G[!"6? M?X#N]GW3\V9_3]/WRM>I,EJU*+(\/,7O>K8)==C[)RJOQ (?41T*_3GL*\8[9ZAD02)7(SV? MC?P[1ZRTA)4R*AW"*!2N[_<$&_];!# M<=B3_MKQIQYJKYE!V_)UA1.OHL7?Y?"$0=R5;6%\PQY6+$=T!":#1O9MP09P MH"!3.B7RYHF8)4UJJE#TS7\2>QV<:8*C/&H,1\S7*C30& P") M]/Y.9:O,.5]F;'*%\$$\/7GL"0U4N0P>2.'/B,8R<1FRN+=+V- 5!R=0W".> M:L*+=:(^RY8D@= 8I-:IV^Y)EMV!2\[W2CL2] =Y)###YBM8X)71'Z[9>'.; M,REC4GB*;'KQ>LYG2X+Z>>,Z8M#D2DWD:L Y?*\^TNQS;LM).5(^;R]KI 7@R]Z"[^*AW90^6#/;# MN2PRO\-^U3G\+3E+#O,W<+*"L?6MFM%!+);)'\^MW&O56"7R WSJ*I%?)?(?:B)_Y\[_6$P @/:9K?#>: 2Y<_BM%YMU[J=SBQ,!=4'O&4=L?B_'Z%V"7QR@ATQ MG:?P=W]B#,+?.4<=6@X]+>2 ";FP,C,3&+>HE 0/^"=B.NB[YBO\$PJK9["M MT>:6Q-!W@\ =TZ5F :@3[]+N_#5V@H%9[-UK*3<'.0E[[9#>N$R36.WA')P5 ME&J0RZP.DX-88J\GWFZN M/*1_FG1SD!LC8O=:@4Z,#_M%H?U\.KUJ\)5@)W(I C_B"W;J&&^%O1 MA[8M\BSNYHW=7?KNWGRSF_Y.9M%J$9_89V:1%$;=!/OHN\[43^4;T7Z_0PXN MPD$A-Y\7LD>GORQZ$H RX6OPT*]5]-,7N_5;]>9;!T5)ZU@%/-GXSN- MO-[XQM%I0S^IM>?\\1L[FS5"0>$LQ%EKU8!SH3AKSL>5MX(SI4J^1SH\&Z+0 M7 SNVU%!L>SF6Z?9M"21M\B&?XES6IEH6T>G=;U;K9:#:!6V"L36R3OEP;NQ MU4!L->J=\$\ MZYE*NV+1M/<0<;L]/W!6B8==QU=&TN(F\=7$[E.U5DD4$&4UK"0DXDUVXXYI M)1O60KN-E1)G5TDX%B=+[7D69AJ_198T3^;S0I4LV74\KI2Y7 H\-LJ"1V6> MK")Y_LBJUE'29SW47E_5,GE+^.21? M-(Y!>G7T[LFFY-7FP^ W17Q=I2LFL V9GN%.MZ9NANFXDX M^5>9Q1W>&_POB#'4FWJSNZD@[2QG:.R;@#MH1+\WY: @1(/*UJG-=_4H#Z*Y MK/M5E +^2G6+L7+E6+N!O>URL.W"XN)Z0D;QT.SBZG;IBJNCE6O7C@^+&O,* M^[VJKWYCTR]L53P=!+[6QYY8V$G6!H >_P? M\V?ODY*7@VMQAT.:T()=)BW_QUS_,>J7.QRR 9]G*[M\S=V<_9RXV ,-VUV^ M3L1 %M@3/VP>Z1LVKU07#S>9XXXMQQ#S7,\-QS#A7,);'FO+,XNH]9DH?J&-JJCRD;L++M_\X3E+\\'(.SA"/H4?F6IN8O,L,T:8N2+2C=C1F#$;)H29\ M.E3:3%[J6!6]M_1YOC#3%^/10J)T$5F6Y:L,,NB\!64 MA%45*KGN&-"6Z_07\QH2]HGFC?->TB=C%"0* M?% 1?A,6@2WU7WDO M9SF$E682[7D_LFU3=7'\3J@ M:_6-KJLY:BR3D=WI(5Y=B"0QNL&)&Q MT,\_<.7\([>Z&1_# M8N 81SGP+IJ.A_3U$ "['+FVR3Q?VFZ2K:# M7MHXNM855P)NY\\C6'R L%F_?,AH!]N:2?)=*.,R\R472KPOL!KL,'[/##2# MS56ZO&H(+?@)&PC/IU%^G.GWFOVVM92WK49OF\N+O*FWK1W/%\3,ONVR;K^M M^OP+U[KA"\./6W_AU%-=WL1W-9^!TI'+H2,+M>&>'R(>>:8NW"V=+BSUGM@; M'*8&+&UN>, 4Y^VA_U9[P;G5.$?;,] [27^%A3)F:Q-K@F,M77)_QP?=/C&' MAO2]\HGQ:+'3+*1P!I\AQT#@G7VPDVTQR4)H(30>D'DTTQ<>\"?YFX4%WW_5 M)E.PT0=B::!@DEM<1RWC!?L]0:,M)P!6.C1JH^U+W*M M.G=[+IKZ&RE(Y%6FB7QBP%,X 9BT'%@S#O>(AA+&/ JZ'.$$SQ];/G?_(P\> MPHO(-:$-D E##43/^TC3 MPMF:@XU.GU,]SL,>YPW5XUSU./]TH#W.'^[N0H< "HZ\@FEF!BB?YXFA5\&* M(VDGI U- Z4@*J.P5E^,NE\D&2BYAN:I\OGQ?'6N]V-F-"J:OMQ!#>LQ?->A M4X0'H0\=A1\*"R$)N6P$3?Z_T]B;1*[U3&8M#%$;]L?AP?JI$#71\B-W#XZR ME3X;D*U<3* S/9SU)!?/7=[/X:VB&8%\BJEIP3X'XMMPS7!J#W&4*'&.,?XA.0R?\5;C9'C"A/B?LD82?AG!-1]FC!W+]&C)YF M*HN_3Y@#0'G%FSY;/G]<2C0_YI[3QD!"8SZE\A%OG\P/A"\?HNAT] MD.8MHE/H*))=(,W?CD,L$7]/AS85_@=\)QQF;Q]I=N$-:;& ;T.T4'S2Q6GT@.A4^Z_D%S,\ M'E-">HH^#'=/,D"!K877<8*@5T\;A&QR,*9M O B8'@N,G/ 1)]X% UT,QSX M(.)B=LBZ7"*+(V4![A)DJS9,X.F64V/ 6'Q!2=J4OL19H*@BF' M]@>"#:=?BS'2)"9 @[$9%QHB)\8448KD6/:?$R9R?^!T:52ZS>^.KAA)]](A M'YE-/>#+M'F(C]G;P^-SD;9!F40Q),>]GQ//0EX8L3<)[BF)&AY.]?4HXDHH MA:VQ AZ'B1,@^EHIX^A8NPP9![[5@G= VN2S$^&7U"F'^+S &E@3SI-G9]!' M@>-(4?AS:C[-I16E69@Y\WZ$U4EN1K*J4??@N4S.TX$19=Q_8;HLGSD;4EQ( MRWCT$1?%Q"D[:3ACCH0Q06F)=16(.'<\MD3*%TK)+WBJM>&;J\P_%YS"/LM3\:=\/(JB1*\*UD=KEQ$XK8M[*C;H;;M2' M$?"<,V0Y\3+D6QJ82L/CTJ<#:JA@1+[A0R'2F: MXY-\A27"0)]T7QD3J4-HXX"L(H_H@$+@ X83Q>=DM(&Q7-*(>025O*LRI324 M9_C8)P^E!9EUD?H8SP(5XX#IALD\V$CSIN%2B>^ LAX >#-? SL4C#*USYP M*3?X=/_P741YS4\?.2>,66;^B&87\Y<(OW/WT(M])QI>GUAH2H8O/EZ\+;TG M7$EO?:S%@3F__VG^@DA1%JIS9#&$9^5ZT5'1/> (A*9&UA58L^($4W4K>FWN MF#5(-QDRB[O@W0%88EPDQ/*QYQ<>6[4TV6D=\ 8^6C!7$4+(AQW;>K$9();< M:9"P/8-TZ,X_/0$O+GVX,()]-P8CBSVG&>/Q1]&B8B8EUTV%/V3&% _'.H?O8:,!$@M783$+)1]RT4]QUO YPF(^UOX% M$E38NS@ATJ '"[=46%!$7DZ'H=<2T^P"3)=&%V?6RPOWE/!'A*_,G0R>R##A M6H5TL272M4-OI @1QXXQ/(ZXU2LM:RZNA+,^U%.XF82?6!BGF\#[B[=&_]AD M8HN -$D+QC1>A^F2L9^+!0SQ =>1Q00MRW(^]DO@"RBAF\L7 =\/S MD\5BR:31(4-OA UL&'_7-6 W^!M]VT6W'D8G/-C<@%Y<.FW_!/W$-ZV!\&__ M(_8K.ECX:TDI2^X5=.DQPHC)Y"^P,I"@0)0H7DUK""?-8=EGP0NBL.^Z/^2; M@ 7*QKC+Z.5$[R_J&:%T]KD"(#[B88T$AD/PB'H"^OYS"C2CU87PC3BNP]P?L2N$,TT]R#]XL MCY?.+08IT1JG >XXXP6!B<()KJ7YZ-'XDXX#@#T%C4NRAF=FNY.QR!1-/)@? M;_RN@BU(5@#'W$==EO#I^U.$S\1%6D'>")]P'SS6F/OSGX:(2?DZO1T C^F^1)9 M1"!RRB\/.PPL;S =<_]0& GA"7Q$3<^&97.GOBCS9!,LEX'S,'D:.,^YQ4A2 MZLN]8-((1@DP;@@\IV);/T AKH"4V]5_\K72>]EC5QN M1?09;I$47?QB4&^&^K*K/*)_F;EA-Y_%* *Z,<_LITXJJE\Z*BM>1' P0"KS,E_FI4JD+'DB9:$B_E(8W7?,HZA*IF1OE$ZRWP![%UY"L$5Y8.CP M)/F9X#M?N-C&:#WQ -TT0%N5[CF7E7:L75@V/3K/VIXLBC QX=EQRJA]?SJ6N\,<,U)*I/DN(E[P!W24."+S*W9I_#ER?Z^=T ]<1P([@YX6*D$)36]E M?4;@R7(P<0SQ\Y/Z&/,FD4L;(Q?<\KA5_^O"3JGOOWLMY>:@^<)>.W\_JE67 M&P>;[?(ME]UH9/2!GC5+-HE&;S)A@C4\"#2_N;Z M/[]CHU(;>"\ZNYR=N_<'H/6RXK.V!7@BZRX%#-7Q;^GXJ^KX#_CX:]U2'/\J M0BB')%F.MOQ7-#;SF/U>2)EG7W$@;7],2&1SJKD@.SA%H5- XR^ '>$8C!S MM2$*-;U5;Y1XB(("]*X NEM ;[=W AH'N77UZL;FS"M [S&@FRFM&=_K]1(#>GTCW93FOGL+49K[9[9C/XM&ZT MF2HX1:3F!E&+<^SQ8[RAZ/GMD*[U;Z-3I%-?201T]4YK4X/.]DA[*3W^4IH# M9VO,6\/?26=3HR,5_C:'O\9;%=SMX:\YWXM[*_@K\_SBLJ@WESR9RQU&F4CV M:Y1+E51S/F.X);%@6D:'[O2A]O'SKWA!>M2A_"S@L":A-YOK4ZA$_L\<5^F% M-:LKL9:3;0V0S3,L72&]M$AOK4]U6Q/2._-3'A32%=*7(KV]/B5Q34AO;&O, M?1ZD*__8<@7R(D_2]#YXR/+'*4K'2U8+J9RLT^.VB)VL:'-VZ]OB(WL71CPT MF*?E=A3FV"L8YIT3E?ZA8+X2S%,R/HKS'Q8,\Y.3;HEAKF+H:B'*1E@M^Y4J M(..60=$9ZMNJ12CNYAD8+/O2=_?F:M/W?M-5-' 9HTXJ/MTH_6E7/3:'G!&; M.KY[6==HGQKMX.\HDWYW&]@4\(7*RLZ9694RB$ M[PK"WYR_M3F$=U4\3B'\_0A_<][6IA .VEZ9K1FN[?TJ&O+]2MT#8WV#8VV\ M-]IB\L;*O#XY=8V/ MVF'4$S%K-'FR7R(=<<;EU$\1^\)G7(,Z;JZKJOPB6'#F=;7N,5]6!+P,-K.' M\PC6]8!B!Y_0N&8^3/[>\G^ B+&:V<\"WTX/MU'GK;S_ ^8#PE G="1MQ M>X;)Q !GI%,_FMP'#!2'[+WB'V@6L)S_+KJ0A_,6$Z-K<5B)&+MXK#W.WEU[ M8@Y-MWN-&H/C[$ + MR9,4O3?;=W$WC:2D\S+Y^9O,0#N7&_R'%8SNP_,Y,VQLQW[M@-!DOG\[?&0. MB$?$U>TPNLPO3DC*D]9&!IP,' $M0 RDAB4L.8N:G(Z&4'8#(!YC,*!6X3'4 M<31D;>R;DUK+L[%D=[@.F]_:A[N[C6PO]G'?!L54N>*!$^J6\"N:"B#F"8S MJ-7^.S5HLNXPP7.M8,IGWL5&*T83#I>R.\FK^. X/I=+?D+C(9QGYO.!3; . MT\+1WM;0PHD+KA<,7=MR:3 %GV, B.V[\#_C:0"+I8%1:L[<^J1OH>H6K+/' MZ03DUIWG.O#C@(\*S#%OKE6ZJ33(H$!.1^]$\+P/1WU<1(-1#W#NW&?K-+8S MYWS0&Y#/@6W#=>884ZTW?8+O:0#QCJX1XT;]-5)Z8UOX@.GP!DZK/7.1CW_@ M3'CPZ:KW<,9_-C]]Y%-TS?0O?I_@M,[HF[V'[]$7,Y9YXW*A(G8VT_#M\#O6 M/M6:0E[)IYW') 3_6_/3/0LLCP]G/1.#=^5'%V+NG_B[=H?S_N2'7[C"K'UX M="?68.FZ3FHMN2QAP7_\3;NP_(%-@XDU4 _&#-2('_+^ J]RFE#LTGL^PI@/ M/D3'1<8ZS4^S>_V6[9/WX.N5-L_8-5$\\H$\9K0N;W9=;#RQW5>0IGQ0K#_! M>:W>PG&*\!$?#SEQP6*(CH7&+.+@)OC=?99TM[: M0'T3[QJ.8/*!E<#I#G#>\-S\S=B4S=C<3/EJ;A_XD"'FR2>F8)ON!+_V=@ * M)1?U,GA!, \G8JPG3CNB>:!9K.T?8(@:WFL^Y3:G-<@ODJ"Y% WQ'%]1@Z)28*/QD_8I[P"I!F*C0> G0W;(L>\Q=X%65_\[BM+ M@=CBTZ6 SQSOER<^]2 MQE[/[T;NNR8WX3@O+XMMH^ -EYQ&VU0YBM]=)*#_HY=Z:8EFO2KE:G75PW*,OG&$DX1Z?![_" MB^?5,#O-CM0PKXR!95O18%Y\2=YBDP18^F/@TLAM%#HA]5#I$A%3T'PL$ULI MD?H'EZ(E:UKD-4"!'-,,4==!O8@4E4@%XD%5&?(<,?,)/R?C%+\VLB8BT,CU M)+C0\7GP!9Y ;\$'04O_A8O'-4V\[%?7,>&W:Q1 ?^3[AOOIZ M?79['SFP8+EP6\/AS_7"7?+P2S,&>_1@9G(M2^IKKCC(> [^'@)U^"3U@-^Z'H6 ?H*UV7?[% K)-" M+WQE?OCF-'FNDYS>>0J/9L5OKGY.,7#"7?6;2K[3G.]LR :V1O<<3A0.I90V ,E!,AN%<@.%TH[_-Z7N(G MP%=EQ86JS/>4W#"?D%V#)Z(AKHK2J2S4.:RQ"!V0$RS?+6A?F>'9KQ%OA)N, MK2"0*H9\W5UGX=H<#Y\QYA:5/(AJAUD[]>T)%L6O0+YR6LH_FN3'ZYO+A03N__79V?=-[O+Z]>?AM9JW;3"0O@<8%VW1G>#^T2^?9 M\EP'@]3 "]!^%*JC8Z[)1;1HZTUING&ACB%[FTD5 M@K0C+J,H+7)Q'5M[9@JC)3AGM5)M_4>RREYTN]Y/RZ\@(A* "/'PU1Y\(^MW M09[J+!..W5FDHAI/[';X+Q=U-/)(,#_@5WFQ@KA*/6=%7!7S1^?'E?X5=R43 MU_R\ -"1.HS7?W_H12X0["CO64(&^B_RV6E8'9)YA/1$%78V+! M1G"GF!6F?Y"A@*1Q!X:'X0>@N3S1_>@0;3M408>N#4J;##?'"0EMQ&--H !O MC?$]?C.L>_" ^G@H,V#,UH9&WQ-&186O>2#K)#!!R.3IBMS"B541@,F VJ>. MCK& B9_)59@ JN_:4Y%]8QQ]@.ZDN''UD[F*'>FHH4&6I0A,HU_=]$" G7Y G;: M$ [+!S '>P[\V7*7JL ;8N6EDBMHP\3 2+JF/QW#17!WGH@0LAZ*K9L"![2[ M<-8\"9;"O_VSU]AOLW9'M7L.7)^4NF> M5?$.W6KCK >?U'LR8OEV2T:$3,$DID!BNFFS:7.]_U_7W+_T<&A7T%NMI8[KNARQX1IF;FI8#Q6GMKE 1%?$Y^ $]RB#0 M>-["GC3 VFY3E*QF)^U:?>U&8HIMDN*HNP^3SJ]1-%A#"Z4/9WC23.DY9BSF MT>.*#-DQCGD9X6:E.0?UDY+,Z2USS[SR,A%>"AYE2\2*PG>4C91@UDDVYVCL M/.>@BMZ 7YE6)?T6_E&KZ=5&24;-*SUD%19R[3P#&ES/4BQC72RCN>LL0V+D M=34>4==/-C8S3*D9:^ 1=QZ;&)9)"06.S_Q(XU L8STLH[7K+".A90C\7'+X MP/74QX-_MIK9LK&>ITKG6 L_P=RBX)7'@21*%2]9#R]I[SHOD7#!U@B!<'I, M5I]KKU=/-M437&DC:^ >(C[L/&DVPU@A$53%'5:FOHP#*E:R'E9RLDE60BW@ MBN0C(7"^(F[NN-(LG=7>=)TGL/1H_WZ'%-)K;&H=9V^JL^_WD2F*& MQB-O+9S,BU1L:0?84GW])0QK9DOOX$6U>EVO5>O[RX\RM*0$4UE&3N^_(F/V M^2X.,"\'+Z84R1A%J+35_4Q;/5!CIR='%4R,5Q0&.ZI0E$!3R%8!=C]!E0> MXQ\(Z-QQY*P6^-6K]>Y>.$L.0!0NX!\>MJVQXQ)2L9!UL)"-9JH6'JQ)Y1\( MG=A?5F(A3;W:WI2[0_E;-Q#_5:QD[:QDHQFL:X[[OI=_J)#O[C*0A<I3Q\ M1_E'3J>CO(PV;.==J/G>)HNK[7R2[7M96;NI-[I['/I1KM:]YNU'IS+S8K_Y M]N[PY&Q^NY5$Y-63K+E-GLI6NQY'%B/.+:!IR;55JO2Z.C-ZJ8* MRVX&"LX!O1T>@^@9&]LQT2=6 MU_K3(-=4 =Q4G+]@9+:)!@[)+Z?!R$MZT!Y6?^T.W\_JB_713<< MN8BO>@%1+IX0D6= A'BYV?D0ER%_^,[YPU=KR-:1H)KJRMI8UJH"PC(@P']7 MJ#_]"_4G#H M@R"G,T]QI17 N$64?;AV2 /T/ZX+98?$5;9\D%'O^DT?YBK< M(0>);SF 49J%E#D/D9_?]B,I4/!H 2Z,IX8U[U1]3Y*Q'0ZB?!(Q6>#W\RIA](3 M9SX=5^=F&VXCXW"74+Y3+>GKW;6'](HC@:S0('^(G?8022LKA 1;0 -=O;,G MG5+6FGM0%HG)F],C.'C#V(!^ATM_*+&YGV*33IP.N.>8],L-GOZ:!6>CJ@3G M_N(\358VUC]ELDC<;T5:=O7VG@C+@S O[XQ@AX<_E8EAE%$PBM-=MR"L9PC" M>DT)PIW&=:H@;)1+$,[@?#MFHM[8$\%W$%;B&;R[[3XIP;>7@D^<[KH%7S-# M\%6/VYN1>ZO4[^P2U@^K6JW1*I=HG:&DK8C6S0G6GU1M9_M5F]L1JWF*LW8)L@==R-AX9R'C%^:P9^/.FK!S=SPQG-=K M)U?]XGI$Y*;'.>Q1W>)6*S)DCP#-\%R?:4//'<\5JKA#S7!(.(YAQTSMQ?5^ M "H&3,>QF(;CBXLFGFM.!P'\.(1==)Y$71"L&S@M,FYX$]7BO MV@_'?:F,W!=^J>73H,V!J%WJ,X 8WI*D,SP2:Y"PAFH":_67U?W;.;YKR,O:;U'WC^<+L/DYPVG:5(8&<,WP9-N=H MACD&>0NLSL#[R3'"FBA&Q,8!:)P3(3X$\,]85KZ)SGUPP8'5""+POS_T-#?< M *(CS^I/<9<<%F@^H-5?QJ).%@<(VMMB47>>>X4[<1T5N]ZS9^9,HW(_]@"@ M8K'%7 J>H-@:MAOIU/0RFJ=XWF=+$FH(&F#2&Q$0EJ4 R(1QPZ#Q#!-5QK >DP7, XIGO.@;%"'4 MAQQ"K2BCQK)GK(;V0??&JG]MXGI2Y$KLC^"B/F,..B?8DT?L 7Y<<$ZN\^0F M#VFI:C3',V8:""PR@H3],]L;89,L),DM/O=/N2&DH25$+/?.8P/##^0^A<4: M!\-!;S/+T[5_&,[4\%X+)0LI.F/XI$INFY$J/V]09##N3MH,(-*<,KAU+FOX M;NJQ15PZ=L,[YF$U$!@MM\-_N=AIX!IK@Y@?6<@A*Z[4<_+B*CJ.YCGQ7W$S MEB!8^\!I??")7\A_,S]]U#X,?QB);XMOZ/QP80^./Q+#-J+.$Q,P<-DRX=E) M2S.39U#4<1357.DM:FNSNU2S!]T,=G\46J1Q)0^1+$_'9T_418+V%RQH+A!1 M0&9V?)#GA087[O' QK1)O+L)^+NT2?:FH+TYB?%"C2PL9^C!H[PIW3,TWP?&)&J+TG_5N*T(93&QLQ.(Q[!Q:]&-]@?(8?P#EJIF=8CB]]!R.76I<,C& P MPM>&CW3MV9C:@? O@)';Q]X]U!D"W@U[_!AX5\=]YEHW+L&,GA>,C V*&"\ M>P1\/*05SA^&?#R=L<]>8-.,R<0&><_%;$Q+#YLG<(,Z3JFXX_#VSY8[]6/> M$'I"Z$O18$VXF P^&XQ />1\%D\]!@C<._A)'IKM#H3*H#T8=J!]-7X ".!< M=.W68V.^;0_!,3[Z5%D5"5AF1VG?2;=:K%YUNI=9N=RO-D_.3 M2O>L>E9IM+K5QED//JGW]K/;SP&/F"'SN2>2'G:X/X6:U7C(K9[34GO.P8#C MQ@'^P$ <@*#8X2J3G:KG;J3-EM^@QV#UP6L %OC@,H++:K-%NOLQ(^D )&!J M6B 5:R/S<$&G].(=5'>4>Y0I-3"-8337YO'=S*17?N5]A).5V,:)7NVH :\[ MS#BNH^[*BE&LAU'4=I112&B\KC9W46^?-/:",QRH2G'GL8EAF3+]QX^T"\4H MUL,HTH;([P*C2&@4 C:7'#5P_2U"AG^VVE"O5GLOV,B!*AAW'J;XB/ JD^EH MBH6LAX6D#9'?!18B47)G ^B$.X. LA++Z.K5[GXPC0/5/69GQA,=5=QA9>JK MBL?U=\%%6:V,)7LGL>1X;QKI'&MIM?:+=7&86]X4ZTSB?HXS.3^* :U"PPJ M;2[Z+C"H=RA#H#RMC&[%!LQ3G6PSDVD5Q:N%,UE6T@8F)_69%SU%32V"YSCMGPC.(@Z^8@K4UD MFZXY+/->ME&OZLV-.2&4QK$&OG'!>!L$V58F,'XJCK$NCK&K::<2)(_&S_=R MC);>:.Y'#NJA*AI4S&*[SE,%>U3M@:)Q6+&2UJZFM-ZXO ]IPOPA-*Z6D-;8 ME+VC0K@;#N&FM&I0K&D76-.NILJ^2REJ@AG5U1OU/1X,HF*Y>\V*H_;OBLWN M IO=1#ZQ9+/ORK2KU_5N9X\S[11?W'.^^+DO5-+T_F,+DUYV@&4>\LR=5MID MN[*VM7T+PVUV]69M6W9Q ;-WX@WI#JA3-S9 C HK''-^&-WR7H8OS&/8HT98 M0*(SL$N]BBU/8_#@,76#3?1+=%*;$^MR&@Q.JA@ 8!?U7\3G>2;OI/@D-(5C MK8%E<,%C#Z[C3 KK8! M+Y5KQSN&CT9Y M!IS\8^JPG#TEJV_I*?DRL@8CL?6\\:^1W=][P72:9CB=IMJN-*IK#X?>>>ZS MY1-&8C,QKGE_59%91?W793/Y7GA,U*9)UL2G]=YY0UMPS0_"^82,$-7_$6("0PMZ6UE#TA-;Z+'C!R0W!XBY2@M+#9C'[/*VAF"ZP>/JN M(T?CX%^6,,I9WC>E.8\:3KWSR]%Q]:K9;E_U3BXKW:MJM=)LUL\J9ZV+1N6J M<7+9J'6O+L_;W?ULN+J6^;)K31.?N3E80[#7P"_JRUN';]9]D%CU GC/]BS/ M >[8VXF72\ =C*7+D-+X1%4-1ZJNHS0@U=C?6+V L(R(,!_5ZAG_@OU3 Z M+8,@I[M#<:45P+A%E'VX=OA8P8_K0MDA<94M'V34#G_3A[D*=\A!XEMV\99F M(67V-?/SV[ZO^1S,(G=,)J+-9PF-K,FNYF25(-06>H#%-.\U>7S_PP>I?TT; MI'[V^LWXT_7.T0JCV\@SOH\?L728)'W%,F$AX_9_T,P:9O: G(PGQE5NU+B/ M$L[NI .DXK/!;^;40Z&)O3"BL:!RZOE6DCEW"=P[U86_=;*N6$=QR,^*F?"' MV&D/D22R6JRDHU<;^]&@?ZV9S&41C[P=/V)#R<2]DHETL#=XKNL6A)TL05A5 M@G"G$9TJ^Q:$M[:.\*T(O+I>[>Y'Z=SH84[6Y+BN;)LMTEH!YT(GJ[L9U$]/6)QFWVUE8)Z*D" M,4?NI:SRT@S/]9DV]-SQ7!XU9G([)!3'L&>F]N)Z/P 7 Z;C/#/#\<5%$\\U MIP/,_!XRS)_V=4K%A'4#J\6,77AS '_WDP_"UH3U>*_:#\=]J8S<^.&_"T9Y/A$TEHPXJP!PXFK$_@5512;93V;O'^"R;F)#N^8$8# MUP^HB, =6)2X)S+_+7_V\+/RR+L+C0.91UZK;ZB@)G9KBC4Q\QQ?<95T\-/Z M\?S(HV06."([=*U)S@P MS[ YSS/,,0A:X' &WD^.?<3K>3F*0T8XD=U# /^,96J[Z/(&%RSE7\693+/B M,I:VSG[2J\H\=--ZEJGE=U^N'N\S$]1BN>8RD3UQA]&PXKDOX4>SGV%*NW;W MY>;[M^5I< N3V&>3UHY.Q<,T[:HB'YP%D%J'HT.N\5=89/@RL5\2/X]""_RN M]^6R'G_FV;8+\:K+[5(/ J')?;JDS8B*^4WK8YJC3#0_U*E M_TNSW<5'1]JOJN7:%$H<990 $ M*I5@ (F>(U=WT#]@O D6Q#<3]!0G,$E[<]=LBO@_]T^_.\;4M) IW7FN=H67 M:1>6/[!=+):+.OT?C':3BO5HKQ=UZ3%]8M M29T,%%QKOF01+KHSO!_?'WK:R# U=R 4-_@HLZK0 ,O%>\TG/]\L/E,6R;63 M+:\1ZYWQH@]6/(%X*]5=6;ZN6J0-U[C2MTAGBREJ0(!$?[&BR$>XZQER4N&K MJE?;M6ZW=:0QT.,FR-R]*5,58SEBNRKZZ\V\J#6TD\ZFQIYL$="J?1([91+2"6GYK^D<1DAC+F45BV/>59@B*EU'19OLQGAV%[;G@7&_-[3>P^S+07 M;(J-CW##H<(R_>3%G=JF-C*>F=;']L3SR2=^//L$U[+V) _^)B(Q)DJ_I+Q1 MV&0+]\N=7>:Q]LWUF O:O,ZSE>.MQ:U\FR3F1&GJPVDP]5)W M$Y/4^XQGK<<7L&C5"32$'=KYU4;8YEHT*/VQHPR'RMX^ZOYML F]F13"']8(Q]C_^!VKE/HO/P0@HD%J[^].Q?'[4P3[1 MKAT>#%L!AQ2\TMT9;/N$>KNGM]1'1--#<$^LDJ"Z%WLA$ RNA O67L"/'@T' M1Y:!X2KF!V%2<91)-G>J)NL'4;M]"W.8'8=Q@1HV^L_) FC#W&F #?@Q=*6! M0!QD]L??S+XE"4$B5/):^O*6,]#_'WO?VMPHDJ7]?7\%X9Z.K8K ;MTO5;45 MH7+9U=YQV5[;-?/.IPXL4A9="-1<;*M__7M.9H) 2B&$D I)W9GRA*")/,Y M]UOT,$%\ B4 +\4=C&*8]?Y#G-M\ ^A AR#A;CD1/2SJP'-R"%*%%EP=]):? MA4W1R[Q/]8 IK]DBV!G@*=1?0]>\9D_8$ M&(PZK>YAO[IKM8IGZ**39= C, M Z9P9Q_.2P$XPPM^@5L,6T3I@VXI\KO(M@/G-]SP+-CD WH&T2'>0&Z)/^3 /^)X\VX)= RF)@P9 ) 3GOJZX(&_]3:0Z8B8Y MR\9GU[+K@G3I[;,JKX)3G:%MGC 6LF8:E^9Z]_W5?W?SKXN;Q]O[JXN'#P@H3 M;)S*FS-QR^5J/F6$3?!QO4#$SA/;*YM 3:?*/ S'1/=-Z2OWM.Z5-4NL6D*4F\Z9+ 4J9.2GSIN7QERQO6@YW.-I\ MU7*T&SOY?*^]*C@8"WYLRIS5/40'NPW!D/30;DB*\87F YS9]^#(;HAW.[HG M+G%>2+;@7JNE=OK=<@3W).IVA;JF '6U E'7J*D=.>6@.G+BW[;S$TS[TZEC M8V"WHI*B[*DCW=;6P@$/Z@KK\_&8MJ?3IEK#%C-E(%,)M!R!UMY:'N0,M+K: MJB_W[JJB/#@*NP$;=;ICHM.>B%(<[(A*.UN+@^"6A(X%.VIO M;U40UJ"_[T\O^ M]!]WT9^^B**-.U['=V=J-'_[(BCE6U?$T9-%'!F+.-IE+N*XN[^]N[A__(\R MN/FJ7/S?CZN[[Q4ACU]6><@J#QG8B$;GKVE3&VPV,\&^#FR>X\&$,DJ< M=]]+B+3_L=) ^#)[G$T);0:')W<5.;0TS>!6WO>;D[D#7$/MUTJ2CB/!NBNP M)L33*P;6;K=4[0IE[EB2=/KB&R:J4U652"5(ITFDZWY"_#L570<'5! ]M_IJ MLU.26C&)RQQQF1#2K@0NNVJG7&UQYW*F.&OG&CM!CFUST=B0U),S]204DJ?3 MUH*#*H'*UE1K;5F#?G@832@[+R-&_R:.K6ON>!&>I^6 IC0FUAL3W[7AV+"( MLQ!MEJ;%;@@\H6 ]%8&'QQ7]OB A5&_5U%I=#C0[/)0F5+M7#Z4-,#NZ)?'% MRN#+>HD4GCD@12<.G\-!%!-UFXK*I>,J-.LGU.&GXA_A9S\0 9<, %2W+S9_P<6Z)P]2DN5,6%>_= M:H[0K64NF!_,@? U@@/XMTGH@%-+'T3@L)*!9&Q.UE'[Q861A,I=GFG/L23G M]Y*4*D%*FH1MU;LUC*/6#!AZZJD+]%H,@%]39N.40UAZ;C_+P< M=]("N(U=3,^6,X388<&1F$&D,_%51:9/,78L[.]MQXL(BNICBRYQ4.%_!S97F:]6P ^QNX+O'1S+AX?CJF_:5PFXM9P M8@GWX##>,X5"\ AR_MR>3#5KIHR!ESMDB 3.9@#BEB"K!_9C$2;]7@T/!('G M*D^^:U@L3PC$A&O@MR[]FFL/=W KS?7@CE/;8;S#)<\H3LX4?.IP#$P)7HY? M/M0<9X8]8K6)[8/( :$2+@%5#KQF1C1'(18NKRB!\TH<@C*/];1UJ]_1]F$X M)KIODMM10 1BH5 _AE:VA425>JUR>,""\U<7" @(1&&-%P_$#5;>=EW=>N:\ MW>#T,K>"ZY6D2+;,SNIRD*IHJ-5@+H51=-YISL\?#P/EW8WM$4[&,KNP"G&Q MQD*>[@HQ_L<7KG]%#IXZ%_#D+ZP7P[$MU+4T,_0>7)O#--&QT'#$&SM$_^H[ M(+KO0+^P]6Q]8&IJIW_ Q5A2.:#:<35YRS%'$QJB/.94,;*ME(UVP1L/^+> H'E!',6-!<@A,L4<3*6Q3!K':8'DZQ9_.DMQ6 MX>&%4DZ936[&@HLWN9&LJ.Z\RN+.?P;2WD@)WBVX?ZX@C,T1)E M>!%Y$EN\2)F#.F7A]^=@<=I@K"D.,:GRY(Z-:65K^JH4=6TDI:PFV+Y?9M^U M/VWG',U35I/$C_ ^>H)I@BX)#]FB[U)?;<@!7X> W:1N)(VD>M*BP1NQ"Z-F M8<:>COU^@?,D9,^?DA-)$HV(BDW+0B-9*W :';51WU?Q=85#Z&71[QX=32<4 M%BZ-.7GX-USYLZHZ7@DR;I*I/JG%]R94_QB>U,#2Z1\W>(J%*7;UAMIKE"1= M3P(V3UU.5-]9'L3FJJJOMWF$T MWCH*%]V=YK'!EY+(=T'DHN*'+$3.CZD8_0Q+R]5FK214+?&9HWK63!JZO7^ MYJJ.25U,DD$Z-MU,2!LO@ HR-[!1&P=2\G84WK,O\.ZF_2QI>C[[KUQL2I*#T?5^> 9EY)#O3(%Z\J+-C9W)N E WF*T<.B4IC7N'_ M7=!#KHEQM<+DJ9R/=Z2$ET1W>24Q[(+NLC=Q[Y58"DD'8I:>68^VIYE592G' MW+BFF7F&^DXTU%93[7>6&VR7IZ&-!':9@)VHLR:D0)1"UVRI[5YYIC$WI;9Y MC!240$"MS&/.=Z T-OMJLUOFP3^[SOK Z_17-_3SFL!0%Y$F5Y =F4H]S\7C;E*"K9H25*2:N5I&8[N[.HK[9D3XY# M@&Z2&Z+L-/?5REOFKU6/2))H)&EX9M$TDM7CTU6[75E44!GM M3K;DV#?1BW+4LA!]V5IR--6&[,A14;PF:G*B)++R #8W7:X%LJM18.F,U.3* M1Q=)9"'*\2H/661NJ::V:R7AXM(Y)VL3#B'/!V$?5F:(.FN-&*H+D.6)DA@YU*:T$[(QRB%JME06\5U%):E"9*"UHF&A*20_=>SUM1VO2B] ML<)#V.'1Y&UH^CH)IAGKQDLPH/CNV^7C?>(PT& _:[5?@W'(L3N,1Z>._1I^ MM?@=#D96[K[=_/B^?N3HDG(:G-TB\SGYS!^F*)>GP8.3IZNS8>C!&G^#188O M$_DC]N]Q: '<#;Y=G'ZYOQC\\W1P^7AQ_T'1S%=MY@94AMJS16)[]5$9$Z3J M#TH#H<,-A%]J]#\BVX%_=:+\)CRFW[^*CPG!F,\A/=Z>7QO6S_ INN%.36V& MVV@:%CE]PFG9<;Y%'SZ_J_))4\8./!D6R\%B7^JXSXZ"[!\_U4RX#1-1^'2:4@W+ MI LS7,R^L5PFB,[F''=/C+U03#W"N1#X9D+W0XMHP@IYFQ++)70?B38$*.7I3? ET48@(Q38;LV%FYJF_>HJ[PP+OK1]%ZYRWW_8 M^^;'!'I,2=)9_68-_R]6RAG7D!Z&8Z+[)K%'";K2I>_Y#HG:&1=LX1' M?D&N?,*4MD:MTZC50*JCW"!]3\GZ%8$KL_UG/!O=ZH- MP[^9?!@9%GW:R:*&1:5<9M;,468 +[*H.O5&?65,>2JG\ZW7*H/SC1;&_(?S M<>3K2W5]LJ1/EB]5%MS ,1L'XRLH<3)[.Z'W8G;GV+*DNH$'/+X2\X5\AZ>- M,_:K45O-?74EJ'!TJ$0TW*PH#9<@;)Q,M@DM(O,D6U0P'E_MC-1:[^XK@E/A MG,0246M+4NMNJ#6AL63NU#IV",E(K[5Z@6/*I73=F%[;DEYW0Z^[:-.X@EXO M;=\Y2Z&W+=2>_)%>0*UQXYN1Z%='T,(PX5)=KCRH_N[*)[IH % M#! 16_&!>D_MUHMJK;F'O.$0)G3M$-SQE\.P0,@&(*CI-&DI*0/M? MWPK2NM8EG]72)9^QBUX-;ZS\&RE*N81UVLH7S?JI*C<:3_8"AFT/#2;&WP7I M8I'K@R2Q]RHF(VGZ!+B^ZSGP@Q>B:,_P*!QM-T\;P M?Z>:X\U8;I-GJYC^9OIZD*+'LQY1$P[NH<:6_ ZO"M9VS1ZRL*X)2_%[H@]1 MKC"]#C<>7Q"_2GD(MT//3IT$V&AL<@[O//N9X :H2O1M!GSABXB)O-[4L5\, MG;@L34]QR(MMON#>F;9FJ8K["O_&?%7^-QZ&23P/#\(>*4-V8YH\A@<&#WB& M?4#]S8<]@2O\*1[3/Y)TA!5._=IIH_''-3SZ=L36?PE,VS2\&:V_I"=(#Q A M=S-(4WHINMEW[:-4MG4!(&-^H%E@^@& M19;\Y1N,EMTSH&O$X9^^-0QOJ]!\>GR\8?'LV:7CV/>F!GF_7F1389$33+PE MNGB-2WPZ;V[53K-T,-G951&>NF[W-,O7G%FNB=.\>(%S\W.@&-PB)*0Y-T^X MPXW-4+TV39KS9L#-^O-8P< O@?,@CUC-OT/ZCY"*#NHS,$(09/1F*VX2%92F M#:8*@HC^5E5>X820! W]"/.P5S)>E%*: 0QV2!N. BYQDQR"^.&L%X_C57,< M>*Z!A1*PCZ]8#:)%?Z2-1@9-@4$:K94FN[@T *M MR7J=OGW@ZM$#?9]K_CKW^#;W<]D9ZDJUE+K2U:["G;OD6Y 'S&)YGJ)6G!OP5.F1P\T;X68'BTZ6:XLH'T? M5WK.^<)WMF/GD0V[X/OUA6[7%=^M1]RKKY&=&ECB"N[4"G0;)?C9.@T:[13< M\J3*%]MW&$KPW,G0IYQO9.""E+] GZ#FR\1VD2U@R210/SV_,P4(P/5A&X): MJ54'J\;XR!@5&M,%MH#?HPX&9VYP33V1ZCVV3A<.#X6%"[()U'2'<;]7PR6< M,Q+\$!BQCX>J4OT6D(6*L/V*. 2V82('FP(IS!@KM(=1Y@WLA(J4B$2!W?%- M_*F+?P0VW'!(3.)H0748?A:U+>9JQ:JM.8NI^ZA)&*A83T#YUG Q5/?!E<\9 M[5PH:53D[;^6+G")E4()*9U&Q ^3J9W]C^Z&B% TX+)(APYSHFB!?*2? 0,+ M63!"!1@[:K+HM &ZI+KM*$IM\U50501 @[\P= ->CKC!M[P6\LC4UX YSXL& MT5D6=^J@&43"! M,+EDR[BFJ[@AWNUHP%P YTS1A/W2,PF9^EDC6<:HH"Y31AGX'(;S)^+'B;O1 MW6(W D=5L"'G(**V?MW:V7('OKA(-1)M\(C+(?'%^X(7K\U?/+'/11$PJ)TM MM^[,#0;]VA:[4588!/XI9!*)+]]8?OEZ/WQY^&?IH+!.ZURW-_4^=W4.@%VC M*\Z,^,!#Z8:L- JBM'==)UV6I-A"HX95X7X>Z5_L02&;G@B/HRZ;GJ1M>B)[ MF&3M89([*7]Z^HP^ _J"3"]_=Q_J@\C)'\(0WS5HA^[[,.!^-%KSH""CDUVT MWGY:=#:LD;X)11>[BZ=FDKN]SMER![*XX(6#B88V$DR9Q#U)R&S/>4]8<#RX MW^U\[4Q7R6BQ+*>M)6[34HB>NS'G;7C"G4.%A$:\J:8[G3KV&^U" [9WPH[V M:@F)PKN/VM\3]+S#ZO.)VS>7"PIBVWNF%,0B:HLL8F4L;Y%#)!U=TFQ*P:&% MXF(AL+-.: !I'H;"B!OI_*7BAT+WGDUC.?1<(L$>O#02]>2^P97/ MG\>X@RC1]=67VWO6:LQ8B*&J"C'0\?Y!>6>\9YOS!6Q-Y1YSFC8*^TQ-GX4: M!_.DD^]4Z?@(]PYNSI:2=*WMX.7!]7B1KF$[MP2V 58$XQH3^&*LK'L&<]>' M&6.+7X=MW PWD:>DP"-9_/-_H5X(KX5'2;^^MBW=MJBC MX0EN<#L: 41U_)KN6&)H-)JG/ ^A 50,]V'J$$V_M:+/JX<$>]I(2;$M)%C! M(-%?:8 TX1S2N1_W>@XLA%S9 M;D8VU1.Q*7H:";N4T$O^,'=)T,('F C<= J*C?%"S-DF&4Q ZQ,>S$W!$'O9RBM-ZVFB5[V1V+\/W?3(MP)!%ADLI7ZPQ.$T$I^!U_0EV MDO\[GD$]MW5XLI!#AHAR?6X311)OOW!N^# FV*:^LCW'%[D"[W)AZ=<@%CFO M3.@HWCF&CN(Y-ZSH]';>*7OAYD,;]]JB3M9U20?[;> 2KKJ;T,0CPX"IR.OQ MMUMBZ4^?5W1'S[]#NK#ERJKS2MEKY7! V2@M* O )/,!E0"&\O@+.OY:*8Z_ MS/W@&*\JNN/3R>=[]*N=VJ-3L.QYCOZ'R@[7V-G-F]5=>G5OOM]-+W-[N'(P M"U%[N,M8;0K-T _JV)D#[8[7P%'W%'K,IZR>'^5F[&WH&GOTIN_J[S_]AAB,JU6.NO)-2>HVD_$3N(J >@FN;%;E3%W-PKF!E7P2GFB:7)EHS0&7/[>@' MM]@W;R*'@1RU*_#I%])^5B)T5P@598O6*H%0;(RJ-GK[FNM;X0;)Y95QMU-: M?TU3\%#*554H'5/CY%XS<^/D\+ASXP#]GMJN[:M'>I;6R!+&I86Q*'LI5;%J M_C!NUM1>?5^#KPZMPW<9Q5N]%VGQ[2P[@JHJZ(ZXPW>O*4KD6]_R(3]MMU93 M&X+ZG?)T]990K@J4$^JB]@'E9D.MUY:;-)0'R;LSYU($5->[@--?D>#IS?,Q M.UF(5#K6!YDH22KF/!M'AIADB*D,-Z]4B.E(W6_Q$-/!V"0E]KY'YB,ZQP4SD3#WE,YM_+#65WM-DJ",ZE)RNC,L;BU,P^. MC[NUMZ/]?D]M[8WX95SFH L2IK)$)?9#L#-FEJO+U=[EP? TN+9(B)C+GI- MJBK:CMJ)O?$,][D3>TO-ME93V_U]91[)2,P!@[@E2J9)&8G94L+5U5ZK56(, MEW)&7G$YQVKA%2O2 MURO63*G\[1RV?PR+_?4-DV"_-VJ/"6. ,CH:="5_94 MV-@@;3<*JU^NU\I:P-QL%E#!_!_LN7A!FS[)_@JE *@LL(_ 4_97./;C+T=_ M!7G\Q1Q_O5^*XR^S9RTP]^T\N<4%0.!BU* M*!HL^$L/N3"NQ,F!+<'0THT']R:Y;$5^VDU"4ZV]U<(>=!BUS! 4M>3?=&CP M3B'86)Z<+2%X4! 4S!Y(/;IY+Q!L[BO_K,*I9N55=J+CC XEWZP$*:;)--W. M6;-9F,Z>J8]:7S91.SR@B88 ;J._; TT$!C=DE3;2*#E"#3!E,.MM)0\@-;> M5Q.2"I=UE4,Q62KBHHYRJ7WLAE9[.6@?\2(6S 7*9CRHG49)J%1"+$>(]7/0 M.W*"6%/MM"3$#@YB[5H.&D=.$*NK_>:^2A2D$V1K7>-A;#O>*>B7$ZEL[)Q, MZSDH&_3 'N&\MB/3?E_&:PX/8*(HX::J1DX Z[9*X@J7 ,L18((8X,:*1DX MJZNM5DD"?M*IL5[1",9R5U_-.*[>'NUT\]Z323XX_"TIOEU4_;YL3U-I"(M" MC)NJ13E!N"\[+$D(9X"P('BYL>*5$X1;174!KWJ/I7*H8J+$EVB+I2IK9L?< MEJ8M"#MOK*AMQQHZ:J-7YA$!$LM5P;(H++NIQK8=EMMJK;\O]X+$\B%C61#_ MW5AUVS:SH%8KRNZH<-LP>#1YH\.;@X8MNO$2]&"Y^W;Y>)]8B1UIRA)T?(G= M83PZ=>S7\*O%[[#WBW+W[>;']_7UWBN[O2R679]\Y@]3E,O3X,&)#8P:K'M1 ML,;?8)'ART3^B/U['*K?=X-O%Z=?[B\&_SP=7#Y>W']0-/-5F[D!::'J:I'8 M7GU4Q@1)^8/20.AP[?R7&OV/2''G7YTHOPF/Z?>OXF-",.9S2(^WY]>&]7-^ MD?))4\8.DO(OGCT\B:'UE;^< =1NH,[.#A"O6/PP5.\7KLW0VD=E2% 5%\YU MA!H_]<7:(^4<69.%57S:1J=,*3-&'E%Z"4AIZ9H=D>XC-I7R/=\AP&O@?VC& M/K[>4AI_T?W"'"R;5%@#++>Z[:]X2TO7)?.>EM_9SL\2.F'U9">LC*V99:N1 MHEN-\)1L[#2BP)_7?,!""7J/2#P4@8^.J3&[CEXRLQ7\AWN/_8S5AX5))L M8 G 70&PGA6 S'Y8,0,F;R!VU%Y-YHM527PT*RH^2I!SD$RPC5U)#&P5_/AJ M9ZM-ZNXKN^N !$7IH2::6I^K;-@&E*2R$/L="68F$WE"J:29Z;6+BT M?2=;/DNK).0IL98CUC)/6]M$*F3&7$=M[VTZMK05\A *'2D4=D.HHIF!^0D% MXR5;S\9F1S9M/#RL;3PP.I-0R(0Y9BDT]U7P("V%K87"XY@X1!MYQ*FH:#BN MHL?NSB+; \3 .LK_FSBVKKGC1:(_+7'YHP1S:<&\\RAY*E GBK->3VWOK5'L MH57WED;(16IYIQP=%15W)2#]9)K>62 ]$_DVU%9;=G4[/)3M/(:>K0]$HZZV M>B7I)BNMGXS#W7S+4QPR=8@+6,"6XP9O-E]1D7& 2N6[)-Z0;]S^AZ4;[A!! M0?2+MR&P#P:1;.*H5UCFKU"YS+- )%8.\E[22B5H93=I!_G23%.M[:W+78G( M1AIVZPV[.R:DE1?-](FPMKFB?*@$#"99 <\W"R*C;52W'"DEMRY[S@H&Z8XP)1-ZE[N?/$)B[AC2Z<+ZM$[O*N#/,8+ MQ(7+Y2?U8]-F\\W"X #*EH[7+:S5OS3T)&DLDT;FI)$50G4KXE"[M2/T@TB# M;KU!=VW#R41&+Z67U8VJR^IC;@C92TAK^>.+9J)P?A@3XEW;0SJ*?O!FN*>W MWI@XUW.$?*K>B\%X;)K5BD!JU4A)=TNO4OH!LE: M028:$YKOV3DO+\(3_O1=SQC-XBL6N!!&3'Z(FF@Z!%Z(-O;4X1_*8#AT?/AG MY)JS)6U0"%V)TI*BM%%*E,YUYI7@5.$CUU6&"WA>A"Q5J!1SKH.7%;J[-E,B MV?$*ZTN+>2",8%Q_ A?!C5P%MHOO-6X7L !+5X+(IP+RF&!76R=R661#J]?8 M%EX 1Q2Z TO_RE_R'M_QTG9B6@>\7$*[VWY>[6YSLWTI(XNRK2A9KS+24W2& M7//3Q*ZBG?#]4C;]7/>P[KZ[@<8[1M..T"L:@&ZZ3X$?I03'U,C[F/9]2JP+ M=TX'(_5 M=S.B.:Y8K=HK!E/^,J$[;AF76XH738GCA%CU-CC.6S4,_Y^%FB^C>K?FV?MSJ*/J#('=R!'7LO_R%N)1][I[N3(BY71.^9MH6=9!*R>"V._5.\JDWZD7RN!WI;[G;(3$O767(0AH>4CA+PR,; MDQ;&V],EC-[Y#ME 28TZQ^^(,XQ&WT\;*E[DUCBKBTI; MRTMN$G:I8"=*Y$O'X_<"N^99LU,IV)4TT:_(/!3>H,15;)JU8UCL\!&)#C$! M(+KBV33WQ ZE"":HQ)*$JCYNF68L7;<^3P(JV>C=YN[DT.K9N]CF4+FP,)5O1>Y-!0?P5AJ@+\7QE[D(EXFJHHMPEWMIQ/7-4]Y>0W/'L/4 ,DQQ MUVA_+S=638"FQP1T;C!RL:NFL ''A[S!4!39YW?SA-A7V9=>W9O+33_X32]S M%Z6R1ML4 VQI[>>K\]EI\E'*ST-*T-5O#=OHY*#HQ3,) M@MDF&3OVU5NBM+##X102OGG"MYN#.I#TI8C?.MJ MOW;8!HCTS671TYA=<+"^N?+SB7[.[K@[QX#SG&KF=LI:O;#>XU+650S#_5HM M9\];#AAN 88;TI4L,9P6P_6%F84WNJZ"T':5S39A*&_YX5Y9%_QH+VTGO\%H/3GR^@!Q*(K];ZJH[1>'[5I)1F%+'.:(0T&H?F-E M:\_\L"X'^1VQQK00M)0ZT^YYA"#K82<]B1[]23=>/M/N >Q:=AU^ M2/^5N>E!Z*W4#.=?./0>.X*8-M98N>*F!G5A4X,2#O]I=I(V"&$\ACER;$U'>S3%V*Z9PJ\!=JI]"\-T4/6_K0 M)>-X+]QA6"#%NDNA-:3;PB#$YE,9R,"118>FM!,UDM]_3/GXQO+C66\BV%=K M825TJ^D53RYQ7I OJ0HQZ.6Z 63H ?9Q;5;X%VR7[3^/05PZC@V2BQW%*_PF M?&^%5T%L-KGI/8:",+1I;\8$ M($H1BDX0>Q3=A. EX.TGAK5T9?3%@FM?Q\A8*(C153*'\?XY"&A'Y(W6D0<= MF$!Q"IHJW7V[?+Q/;*T045&"%DZQ.XQ'IX[]&GZU^!TJ/LK=MYL?W]7 MCQ?WH*:8K]K,#7I%(%.U2'P$FC*FS>8^* ULH, =C[_4Z']$/DG^U8GRF_"8 M?O\J/B;4[?,YI,?;\VO#^CF_2/FD*"MT#C^Z$88)1=5R.*B4UA#N<+EL8Z*440F MX]1+U/)\A[*Y)\TU*MP#+S ''X9CHOLFN1V%AB'U#>"LQMB =+8GM]9]L -? M< ,2>N(U9$^\C4,IS8YL.E2&ID./MJ>9I>@Z),^_B/./*/ZR]9R$ >Q40\) MPJ#VL5D*&)0Y?Y:I,$5G@]"C&[AH+BVUM%421Q?OAK#RO3F\6W#_IZ5P6@[/ M:.[C(?MZACR),KR(/(FRO(@\B2U>I,QYF.60O GEQJ'O3?9NE6U$RW!SN>ER MTX_CYI5JF'L$]FE<2M9[5$Q^)2/B8.!I:$^FQ')97&MJ:E9%JPW*UW$Q(<.V MT4HU\$^05ANC M#LG!F^&>AM]=T5P<^D7]._5W[1>S.!I0[34+[+TA,;L/S'9V@]E&$9A%/MN7 M7/; $=O=#6*;NT/LW\2Q=T0V!\%TZ>(-9SAD;]J MCD[1B0=:U9KBE!'<$E38I5YI$C_I93<3'..%EA9L(;#J^VJ,(0Q('Y(0.R[4 M]@NU-=(!OVBY)R%_2)!OU@HU522OE\ O"/CU0BV>P^7U,JR1)?A/<^F7RF^J M:NNLI=@F4*QN^UCCLD"R1;I(TJ\RB;$TLIH^C!<(6D]D#8XT>P7QB>:AB<:C M!G2S0*LH1YK8<_!%TL0ATT1"&'SG9E.^VICBBB; M896&%'8744I15[T^_R[]%0EI=GD^1BYD+PN1]OYVR?Z1[AHRXU_F09?AYG+3 MY:8?Q\TKE?$O M'8DD44A"%MT>\Y%2$-D*?XKBPO["O\KM6)'T4"9Z2!09.TK0VS!;24H=*74J M3F4)1-;:44K@AIE1ARYU=NY\N9"BW/E'X*-8US6O)KOFK?.XR0YA)7@! M>1)E>0%Y$F5Y@0IWS3OZ0+KLFE>*()>\N=QTN>E'=',90R^SE#R>KGG'Y*(5 ME>2D&K2^DRY\W<)JL&5X[Y!0+2JJJ56TU5^35IOU6I(P)&%L31BBVIH<"*.H M?H*]9E.2A22+KE)Q<2^D!N;JY//E<5^OMPL: R"( M227K?"NB2IO]^>(WH#.12P5)K!I5 )(@RD0026*C+2J+V9\37DH>*7D.A]"2 MZ$S4F'M_7OVCD3S,*/S->[+U&?ZEP3%]5OY+491@T3?^!+9CR#\44NA_+ZSP MOS>FT6!)TZ3'Y&('1L'_I^]ZQF@6;%*P/X]C F>Y*E.*9Q@C.EW#]; : C' MKV@6'"= S-%,90IH-X;F3 $#42=XS/;P)[WBR8;_FOB>CWV^P<1V5>4%(:HK MO@MGI^#+P!^PH)_$4Z:P\?"N!CQTB'#DG\./AB8LPQ@9<*WF*A3:? _))+IW M'^#'8S@_?*_ZI]_(Y#.8W-X8[NC!6XZ 0MCSE7% /RK>\)68F$JM//N: ]M' MX#&&]4)<;T(L;V[YAHO7Z%JMH3'%MS=]7+-''/B!,H1=-#QV3?!#Q=$\DO$M M&JG>XDQ9G>L6G*#F$+COT/3QB/C];N&&3G !O_\YG#3.%=#P+;YH<(&- %)R?[4QMQ)-B/[G$>4$.%M(/ MH'=" (B -=C#&75H4P#[&ZA@7HS0=/A_( K\@3NV'>\4 #\!C<_S M'?IK^,)%1+B>XU.J"H]5I +MYZ0_Z<;+9SQQA7W.5H,?TG_%EA73DW76IJ&& M_Q?KI+5*P[V:O_? TG\G.BSI>8#:!MWZ>1/E1WC$%Q/TF!.FIS=J'1 S1.% M@%X\A7O#;<@)QRG5([DA0#7F(2@47#\-_W:GVC#X>T$1KM4".\6P=&)1U?6- M!AV8HKHZBN'9TQ7I)72;5Y'0:B-367E^$9()*"9VI)^>/B=I8[4S*AY6UHGS MA6N^9^]_X5\O[J_^-7B\^M>%.#,KCYJOQ^\?7;U,T!7X$]BPR12- ML3%UE2?BO1)BT9OBO2+LD#)?^C!8ITV,5M[C#NS^S\1_ U;AZJ,80." MW\?7.U=,R6C$EF&!:H2[:X]&H&)XL6?K[.ZO!KS.$Z%*"/R?CGJ3.V4_AZW# M]W"(%_V,JX:@4;E#QYA2ZX*O%U3.L:WC7Q.B >]D"XPMYTQY'!NH\]I#MCBJ MC[@HTNC>X FE4*P!%[@BT$N'RL@ L0;&SL3@RB%L-]X"$(.J2V2/V9'"X^#N M6K@=:?1X=Q%_]$7F6--,UYX#CF\F .8)1#]7#]GOYJ<$KT[8[E$5 ?\'_OO9 MQF4]:6!BJT 5A&H.*5<9*L6^2TDK!$E\"QS4P9_'L,[P9!9 ,AQKUC/3!,/7 MIMI.E!K8!LQO 1I[! LNB5VLP)ES[9PM[8<%1&L"UP&%!W5F>XG"0VTGIH@^ M>/ __)A'=/L=,@;=&%=P!8;#A)PI5R-X*#Y11Q-H @C4^=ZDX$SPLP3A9=D> MLVT6=U!E5@1:9IXR1KP !>!S;4I=RSM.WS'.L.@>@0;IL-]1*Q YG$^6>1[J M[W U)4NFY<&CU[]=C+J/3(UG36L2#G>AH0W34E9?WJRK# M)EC!HHNPB)/+D M"VO\=@@)CP[$ [0!16%Q/S4X C:;@A4$/(Y9[4N4]0H?_B/)"YW0G/8/D0Y] M#[*$^9[9VB[>& ^Y9"MCSN<_N);]-6# MD5_\S5<[,#EE\SOO)G?^H;OV(!N M6.BZ[J0MS^B ?MH_6PX0,40 7$W?0(6W@J,\=4\1D7@(24'H0SZ$-AQ"^VRY2&;S0^C4V"' F;:% MAZ &/)0Q1*4H'A$A_2Q^Q@E3&T$$!$Y%E):H$3BV_SQ.?*'!U#%,[-S55.@B M L>?ZU-M%H4+;#.QX*D@TYB3$10K!UTB5!1ICH,H0YSL7Z( 1,@;U2'9!]2# MP)R6_W-R]^WR\3ZTL:,B8D@-D'G.(-C=W(2/WV$\.G7LU_"KQ>_0FE?NOMW\ M^)[X%+$,6V7)GGSF#U.4R]/@P8D :C'T!&L,_24+?\3^/0X]"7>#;Q>G7^XO M!O\\'5P^7MR#Z6V^:C,W"&BBD+5(;*\^@B#! .H'I8&Q-IXN^4N-_D>42M-,G]/#$U0CZ\/E= ME4^@Q3G(_'[Q[.%)#-ZO?#<,X(\&JB/LQ/&*Q0]#S67AVE7H2%".5 8=%6QE MQQBAHY*2)]6+ 7@69FAJ&\&"LMP8/44)+*"]I6ND6I="K4MIV;X2&C-*4M_. ME&\:V/W*.[2/I.-T%K)15[AQ\U=W;FQK_D:;J3<1SS%H.HEZDXL'=0VG!&>RN1[4 M//F\K(FJRC^2\K0Z?<&&UN8;NC/]L0H;VHXDI]3..DM[^SZF'#)'5^)N=VO+ MNUWOA[L-_Y2[S7=[N>=[?+>IEQ3UWQG1'!?T38Q2%J:(IV3IZYA_O<^O+)65 MX<]];U.'>-J;P@0).MQLWW,]>"]D[BDD!PLA^Q/?I)*!!3J',:\<=>]1AT,B M)75W+ B2R6/NCD2XWUK\3N?\S>=/=;\0W)9'[2V375L3F+6+7 >@P<(A,5F: MZ"KH)HU*V=&6+6S1.2@IEZ"C(!,A =]XM+^0>S)/(?E*8P(WL,QZXSNL=^SF M)!71=XI)$M2]S'RN3N2Y^-%<+8KDI5BPE"2J\5Z)^4(8V4SH@E'[T9">,9L$ MCHH&=LS9/$:SX&W'P +X:"6YN@+.MJ9\D"( HR8K$]CZW#Z9:Z!X<J)^#^XO'J_@)3!I2[Z\'-424(Q*UR3*4 4L#0&SHC'./)I^SECO9 M$9X<"!K#BX$!=% L75%&5A@BK12VF1WX=KQ2-]G$T)#R/0]XJ> M.7Z_I%#4^V9@#)F.*YW@1XV_NGMZ(*_ M=/0YV8H20:<+L8TW2#'%3FF&HU:#3'A"G1MTYA011>N58_)R\#+>=:+&7LT M0@F3](PV?0#;A$A!C$T3F(XM'_Q.!B )-Y*$\KPKLT MSB:0.G7@JYT44@=?SW>U:DGR&B86[TZ4PZ:*1?F^-C4K+[ZUR.^^I0/LMF'( MRWU\B9F Z/><$.,1 MY5X;:INZTCA=FU<%S+"+KE&;IU1A?DA(";8S"T7B$]]8!#B0^D4:B#=JM0"U M-'F:_I;%ED>._3=AZ=)8N&=@U6T8>![Y*$Q1,V$>5E:0%Q15\950[RV7")@A MQ#/HV\V?W!D[YA2B/77Z."=VJ;!W+ILJ\/,;?8[ M8&9/-(?9#GS 7)D9VBX6KF&ULS;!K.^_M6@5@&_A S"XA!<'Y6P8]@)-)[C1 MG+<&6A&KS R?3HL[[=>%KU-I6T>FCE8E <:+\1D]C(>HK,X?_Z UIC2UG2D$ MGH_[84:J@]%8#JEZRGSQ0H4#EQA<8*2)DB6& M"^*WHT^(--Y@D34/?GH#_)7]D2VC>6U"[IA%"^.1VE#5X7L87.3#^Z6WX IE0TQ%D:VU&:(W&O@7&7K9E#?]9)";_]; ,BSUC+?_C4Y M:@W;E#"E\T"WJ2:*DU1%-3YR2;/<(''N2Y[:MHEQ6X)]]3PR;][E>AKO_Q91 M\4*G*?/%PHM0,4;O/=<"F8.+,:J@Y!:-+9I>GJHB:XC=96PG*/M:W6:/]ND( MDJ.7V.7<5\&:"8[0G>H[V(QD255-(G=1WMA.!,^VE"^621=\@ZYA.QYA-^[I M)MPNJG>;1$V[ K];!?C!D48#;VSK]"\?+J,% W.8*@_:"VV^)U-7P]3550UF M8VDN]FAD##&QB'4(YKU_>".<\+?PT3P6%(N;\W"?D1C_QP0Y!M@@WVG5VIZ! MUAV:<4,S:; -Z[I$FL61S!NF;P*B0D#-+^%PRB>7YI%8CV/;=V&+O]JFJ3EE M2HQ-LE,6IY?N?&L7?;.W#)W1?=HPHW&SN0,UM2;(3\(-Y72R.HDF]"/EL.W; M97=OO^T/E ^(4+K+W6^OWGSJX$[#G>+GDR*QJ>QR7@T*^U>RS"?6]===%XEJ M)UG$O'4P[1Q\;0_G-!023QA<'*YB=AV6#6\8/6VM[ M&*US=[:3;.ACWMCN9HYXZM*)UE_&VMWC*23$;8_-&*:MYWC'<99[3+NFQE)L MW --I)_[71/),IT431"#<1J\8)N]JPAOXJND\Q?OZ576YENL8YB== TY]O0Z MCQ;< MCJ+JVSUC0N@C=1_&FD.^H'_[3IO1#D'B_@9MV=\@:W^#1IG[&SS\/K@'IC5X MN/BJG-]^O[NX>1@\7MW>'%.?@]U45'2:)Y^!W0<5%7SL&9N?AIWB+=9C':UR MFOD0JQ3406,9>C9.>UKC)FK4:ETFM1[HK:_"6]_1:BW6>"C>1 ![OE 7 %L- MK_E$I63J.T-X/YPO WR!S<.Q)Q/;8I>J_!>8P@":$>\O@RS;I:H/*#%A&AXF MQ88?K+K=_<,//A/G[F%P='89[?QMFG04D,)8J>M/4%7\&YY,]^R4Q1YCGIS MD@O-WW//K!*F;EXB@JP >P9\X[<]@+27G. M @\JTDRCUE*51K,'_]5NO]^-2K+[SHRGGCWE'()_$) ((TTTA:B5CVUIDUQ/ M]5^W85CKCRY7;GCR^1\).(K9W=0SD??35\>JZHO!_56Y.*Q0-!Q\%POUXZ'= MCA[PR-*$Y[DI3'2QI;P8[6IN4)Y15VNUY72'O9WR#D$E$1LB5I0/*XWE^*S$ZT'AM9VN<68U\-KLE82_;JE-M=M4D3IL;>J!F":8(6J0=LZG)NL3 MPS+H8&B,N7#7?%65K72&9@IU?M=,(O5*DWA)RH3U)%["0?&-06)@Z8,8'CAS M*)K/--1&?5^<1FBM'Y*X/"X:$0WQV5 _K R-=):3%26-2!I92R."W.%-==)J MT$A=;3;*3"/2*;A.C8WO8*,[KP^HJLJZEJ2;0-*Z[6.*QP)-%VGEIE]E$N<1 MI?JGK5K8AWT+>F=1_*)Y:#+UF($N*@))7=.R%Z#7>LM%.Q+H$NB; KV^1;73 M7C3 ;FVYPUUY@)Z0IBXHP#B:-&.'K.V!UA$UA%Y6("BD%@%W3G.Z:?[YN38U M0)NDE[GW!!O>$_W2=BY]SW?(E>OZ6.&:_T6BH-4&(A^VV.,5%5L@T61Q6'%TL#-FS]-1"=BY"K_T M +$4TSR0N@PHJ233Q@UO*:3R6:G/N]U\B]8*2S[=G0[?P=\!=KBB>CY#0LZ MLHH"+.BAL+WE)1T#6NIQU#V.UE!T6!E#.QT%I3!/!'TU"GD#R!HN91]LG@$E M/IN2&O[3Y84+K&H'^PP85M!/+KR8TB-\%0XJ>7;@?6@7MS2,>>-Z;B&/7E%) MX3@X))Q..IXMU0)2]' H?<,UNU<6J[)8P<"Q$@J)]!5>WB76HO: $U&6.K;P M':=[0G1%IP/%J]:( $3+FCX$O*75U_CK%?5VP;H3<+B"VY<%+9TT]MU?!;M,6YID:6]36 MM7%/*ZQZ@@S(9/MUMTQC"X&T$JG%B:0-94U5^I5YJ:"U.'G;V*/R$S%3;GP6 M@LL+;G'Y%+'I#LET6;)2[N>EXXU,5 EL;#L?HO,!Z^[#G,6?1OMA\P&(O*J=-R*@EA=S7J0QF^C- MQAJ^^QPJ_(Y3;08DA'R"S3(J2TN![1^SIEF T(4%^Q]L/^L_ ;BH4'< UEXT M; WP@_=OG_,.RCHHYQA8>H1O4+;!N,: OS8MU!>W!>C*M@ ;9S-T>K+NL@QU MESO2G[^KO>5>:4I1L2N04@9S 37#*_00*=? I7]%[B?.P M%&I-E@(@6]3T)O$I64I;_JPY=GY%9\V=? YTCT65ENJF2^U8%.97JF1"70F2 M6TG8WK";EO*0*"]Y4B0UK>$J_IC8[^TH M/B"Q6WKX"]H-[!K^A0C=.!'L2/(VFV?-Y0R-*DK>([!YUTM>;A$GNQH;"E[(E18WO^+PG8[>=_NJ;V]U4$LG[3(>YJG SGF+GY?42IQWK?!:.I8D6QV2;9229"_Y MH.VH%Q5H+JE0Y[OF#,?Y5NE\#(MO,#?'/IYDR\4W/F)JSH$Z*OAI\K@49^=.08!66J6];],+E%/YY[CZL:VP MM?/:PN4[X3J2.)>@4#-2C+8B92(#$XO\A"ECK'3M.]L4(V(8I&92#4SF6=9T M?E6"*>UIQIZ?IBI]C!Q!4,%!:[=6Z["U=,60I=S8&AV9F75C5^]9N:1'X75+ M?N#+>=),NDM+*>I%M5)A%QD6GIV%%EK1O=%O2.LO&>GQHX:J^X75+@G*PT!_=?VG M/\G0"ZK"N%S MZ7E:-$"M)72A/5K3RWN#--4D,UP8#S-A1]^ W\F"4!8\H). MOD(6XNGB3T:./4D$7Z9@P0H<_G&/F*)7?#._1I^ MM?@=FC3*W;>;']_75^JL+*%;U-A//O.'*#?YX.+A\O[L'$,%^UF1MXTE&46B2V5Q^5,767?5 : MZ&/B@9]?:O0_HI@0_^I$^4UX3+]_%1\3>JWR.:3'V_-KP_HYOTCYI"EC!PGF M%[#C3V)H?>4O![S&,U"'8 >(5RQ^&*H;"]=FJ)=4&1)4K#DV1JB64(L:&/(Y ML@\0E)]^TS8Z94J@,?*(TDM 2DO7[*>L7JB8,5ULJ=\-*_C6L=1KA*5>89<6 M86IM>?I?;-3::&W_"6XDK6O]4J_GE@,+VUL.-WV!Z7YJ\EZ+$B[76I9RKQN= ML\YR!)&IO(G[+L)#;+#>4C MY[(-0>?C/:1#%94&13MW+8-PDZ9=P%Z3FW8EL]I&)B?>T6YX!\!\MLK+$6[X M.G[;2-O: M0X/^]-7PQF%D1RVZ#[9O.61H/UNP5^CBFT,X&, ($#'INKG','1'3VV'7L?? M6M0R*2*:UPJM]#[AW&GX8C(U[1DA#ZREEIBD0]\ONR^EQ^CW. OUQO;^0^ Q MP8;.[\1^M$CBF815XZR[CG>R9F2&2\]PR _O"8\R/&K><6S)H)TW'MN\VU0> MY[2GDV%,]=)V^$=X7?TD!LCN M]]4 ]N793M&9RGE4.=<;:J>V;/5&QV^HB3LM4'[76QQ'N=-=M=5*'G2BKDO2 M: K%I\, KS%'%=E.H[CKY*L8UE3RTI0M3/!'S^)_&XNPE4(Q;8#E3> M@"E:\YZJ+!20W/:^WLQ4"[\UG@[7A]BLG?6748W3M@07-\_=L"XBJ0S#NSG(7V+7LNB : MG;VM\]'Q_:J M"44DS0!?*YJJ%I>6#@L_O_W^_>KQ^\7-XX,RN/FJG-_>/%[=?+NX.;^Z>/BP ML.8CSW*%[;JS'<]$SOZ[Y@#JE0.3X7 I7R44,@0=!:=1J-; 4 MD0XTQ27#J$?6M$&W5OYMF"8P*P_4TGL#G7X_+?N5CE^D/NC$?:=>6Y[?&VK* M-U1Z::9R!S('U@-,3KDVYO,2'?*7CQ,(^"K0[4=G4X @_@@3 M4VD0&/YEF#C$0;?A\0E[:MD>TR\8TZ4/6]P[M!1QL,A(,TV6:(I7!8^(399P M)J_PPL!E9V"P3!3=T0P+]Q(L'$VQ4%##&+8_^>NH8+\RT@8,BNN!N M>&"N:4S/E('IVFLDL1 LD:VDAPQOS_)^GV;TG6#[PR1?OJ]?R51SO"#0$3_( M_P/U"#J0,:A&."HC?N][,!=! MU2&J$M6>F-%^'=YK,/3F3S^_N#^_CN)G *BD%B-.U*+9T<_,%L2;C(CF&OPV MKN?KLP"Z*8B#&:ALWS0%4PNG:YQD74'7W7H750S02<]M'Q,S<:-G-X \JG)> M(QW/H?@-'[(^N9:EJ-^.[H*--V=\)PV0+G?P!"#UJ<]5POLB?Z8AP4VK-#6% M#)W2/1&/!*#*ABC+Y[='EFS9L*)6QKZ0]PS M90WC_U]@;GRMW0@IXY;PI'H<_G-/_1Z\UX?AXEZXQ$1.R]-BZ,-GM%!G:!*X MYS3@WLF8#T-+GO)$3 Q\NBR+?VBC (@5@"39:%U1\+X[M]$">HAQ@GNV8W@O M7 O+1N?+9:L-%XO?)T7^*(5ULP]W,-5S]3OI"AYKNA6]3$G(=( MUDCP'LY\$V,,4XTJA0@+WZ*6,P N2-9 G0T.UT>] MQ8G\@8(%'J/-'\*@@6!")FH_F8$@H3*(NZV#/(@UR@$\&589Q!:24,Y /O(= M].THFHX6 95\_$'GL%_8?)"B]!+DGC5$L4$5:NIRH(3T1(@U]W=KX:2OP!]- M*ZE&L+GKQ^$=99X/,B546FF-'&JZ3(BQ<7"TE@[T?Y<.=8/=?+%-@! *XIC& MP;#LVKXS))0[.+89C M#I'/E.H2K!?=Y"63R\GRZB,#%J,/('OH\8L'OC:>I MX)V&ON,@9 (%V,=9=KH;:,"8PP.:#&&\$7ZKX7!MA XU2$2FSED2:&\X: -5 M'M^-CI&C*(3] !HTW#%KFP'/L[B1%^ARP"L6]NV)LQ":9?7F<2,C7&JHJPLW M*F0JC'?,I4'TUW1]:<4-?8^YS#FRA [@. &@0NT[@F+.66(F(E".*F2+-QH8 MXLR*HV3A*H\./)7@,?K R[0)2 _&A<@?% M AFI:&:#4+*U.^:A,,_ U<(!27SW*I\(3\H,BF&"NTBA^6!HI MXL= R0":R;-EC(PA)CR,?,K4F.X!I(7F!?(7;AD1D]?=^#U0F_VD(OE=>'= M6I @"$8%XI$9^!I(6F WZ.QF_J1U[%0HO/G<9)JCS( 53T('GHJ.Q&7.A7L0 MR_5!P;,G,8VQS7*J-<4$ M/A0VDV-&HL*%R P+025=V0$C; 2%X MBFZXP$AFN(U@X)+3)TR:B".0/ERV3"BT94)*ITI4P0&I )R8=OJR3>2>S#+1 MR8@F9%)63RNB7A$7] !W1-S'U)Q M@:WP?K=?"8WJ1D4/*#7AS5+X[5 ?8Z]$F357Y(-E\M@(K;69FZ_,VA$O!G]-7X(=QL3S?3&*J966&CYH#9*_0'#H3\- M\ED>YC_[G5Y/DPH6UH _\.G>%PO$:+G/]Z'"H MZ,BP=$PVC>N@(4\#_F90/1$C& [Z^ZEZ;5!.0TTV/$#A07)?ATM6[.&"&W6# MQ!BV.,;H0K,OOBK7!YXF>BYCAO.E'(:(0&)KH2$,9AD&-JNP:S M7D!Y]TT6W)NC2$75>:C!]HY,^_6@ZNZ6^!U-_55BWA.6 D.>62;5D!"DC"/D MAY?4=H6G4,,(_G@0PR3!"9LP]02HT)\B7#I>-F3#S\$S2).T1.TB'GN5Z I4(4 734=.(U&X^EV-&Q"KY\_*S5U,RW%1#2I@4;&F,6B$L;4E\6*=F[: M#N<^MO@IL-@D^FFIYPWU'V)Q?F&[E'$YW ,-K!4=L8[]Q)JM4TZBN3:&=F<\ MK@M?K&"=; ,H_TSSWMS-;;*NDHY'G0]SC+"7 #0,:1ABQ-6V5VJ4IV-G 3#4 M"&,+FVD>'V=+0="WR4ZQ 8AQ,UWQ;+JRV+#8E0EW3.S#/('AD"9N8=,A8][P M?TFK>=!@Z=HKF'SD37/G&:<,*>QX&>MA?IW ?3.T*?-!@!@FLFX*:'P^_E<* MVX/ZOVC\Y,EG:PO2)VB^C<93H^BP%0WQ23]+A\G= 2/LJMM"?7=IYX3K+K17]%B378HF6/N(!GPC8R M+8]^ KL6U[\PI^.9[@@C.AKZ:5W1A$9,_+HV2R.1VZ-DL[;?>/V/&XT)Q)#%0GB2%5F>PN/\:2 C:!HOJZZH)"4#"JKK\"!*2#C8\_;1P*0L20BG(51QDXV%& M&? :W&G:)!SV=*U&<@0>J$C5W_'97(-BVU8)%;'A_$""I(7T.>F-FB!S85[P MN9)14;M\#H4!U1KN- .;"V'][A0_O?.=X1BK>_]#L!71/1>]FS.H+J;XK.%/ M4:N6Z2J8:C=AH4I:??2*;G*,6@Y97W]@9AY1IL:4*'@3ZC9?=D]ODJ\=*A?4 M,@VVX9#,F"5V\,W7:!>+8_=((TQH<)5*C8AJ;1+J&Z:)G?"EP7T5K*UK(F4F MS$U;D_7#'GD[.J?I'4O^7-9BD4@:<@N_H$W8SH?\4S_S<8@N>P7AMN*B[L[\O"_JR%_:TR%_;? M7_SKXN;'A2SACQ$I&&#,+L PWC.QGQT-C3Z, %$G9ZS74N J"N/AG)!X,RCT MH=DFNCV5=]3A;OLNYK6]_U#$$)?<6,?%&RU;,@.VX7Z9?0LW:H .;IHC(N0F MC9J0FV1@)SSW9F18]&EB_I(Y[24C:V)S@>/<:0L4\W=I-W[]N&K(YO9WKPMN M/K1QKZW_.:G7UB>=[6BJ?'WZIM!ZL?A0^6#9S>:OJWGF:I:9AF/RMUOB]$^? M_X-.C0OJU(@K/E2Q>5K-Z;?8J,69TW7,AEMU=HQ['Q% &V7%9[T >+)9AB6 MH3S^@HZ_)H__B(\?!ZN4X/A3"B%!"C?N9:/64I5&LP?_U6Z_WXVHVKT_[12L M5(X<_D&P=6GLC ]YGU]1E)K?S9O577IU;RXW_> W?4MFW6Y3/GW(S#JN#/0I M^XXU TSR[=5_W48/686#7&Z^K.2E/M-OI+D9>] MG?$.(27Q&N)5-"%6D&]6?KPVVBVU+YAL*?%Z4'@5Y$>*DN&J@->&VNTOCQ8K M!*_2%,ZB79UKEJ9K556KTGF*UJUA#PPA]4J3^(9@6O1F>MGYH!Q\H]Y7V[WE MY.G=8$3H3SLDV7=<1)!RM$[YB:!9 UUON?6O) ))!&N)(&4Y1^QY%Y,T*VJ5KF69IM L[KM8QK5 M$6:72F7V42:Q%, M0A/FK!7./5"$-IMJ<]Y%?L_LHWEH,O28<=^MI=(KRX'[1J^M]FO[\KM(W!\R M[NNI5,F2X+[;!WY?9MPGI/0+BE".(\__UB+*P]U=F+*/33+HS"H=3SYA8$JC MEDX9^0.;SQ/$'=[@WG!_?IE](=9PC*.8V:163/_A*+TA'I_6*OA9.-LUP.[2 M-?RWW[4_;2=,RZ<_@?=\F$Z#SQ)GLLR'@"[<_8XX^('V3.HAA9PV4I)( X?$ M+Q''KTE3X1OU=')/;O%\BY?C<[^NF0;?J*?CLG*7PUUN+&OUO]+:'UKY:84I M?4&W3C8SJJ!V&"F;9D2&4:=KJA"=>G^6B"]!:* <^$HSE"H.P153J.CH,$#, M*W8$(]:B:H#C91:'4-TY9*BYWBK!$YG9E30#O4(FLH@#BZD.4M9+6T4+) MYXJOXBM?PY6U1@]W$Q7QU.7L'<#)V9J&$FKRNZ?K$%7"=V_CNR_K6 OOCE3V MCW=)&Y".7Y=R Z(-L)9WXGV\J\%ALDB1>"ZBSEB.2NC)40ER5,+'0QR5L-0K MZ*OA:L_/#GD.^R!PCG^O3[?'JJPT:W!BB]L1_=L&6S3L%\Q M[?J,PP$];-]K&ZS'%>L!K<6'6$5[JS_A[#J=3(TACD_E$X+9>#Z5-_Y4\2ZL MO2@($=_B78R\6=#O.5@6G3D4=NIEC>UI_U_6TQY6;-D38XB=/#W;.8">%G'P MWHXX=!.Z5]1E]XHJ-0>0W2MD]XI2 U36K\?JUV7WBN,^?MF]XIB/OUK=*T0= M"),DR7JTI;\BH4(\S\<<]D)D:=;FI5EQN^*456O=AO;KNPL+KB>T8^Z#1PB. M-*JJYW^OBI/ M)* + K0@R"[*BZDZH/>>&RNKIO:C\-U%PQ/*NR"CZ"YU.-Y;6A/AFEXQK%.S]6-$9AE!.?"/Q'OE1 V*M&>$@OSXFF2 MN6F[^.\GS<3YK&XP/E$P!YMOL#;?X/ S<[[3RM0!>G+@57E1I*N,@&KI35GR M^ZIE+3UR2AQ*N'@A/NX):\:L9_>,#J,=CC7KF=""3#KO,>WZPC?5?8=6!QQ< M]1F[D(Z]3#-:&RM8 5\FG%BTQ@#+&VR<0QX4&1S2H.T-QT_S$I&_86>""@TZ M9OI5"X?"ZTM %( .2TKPFB<"#Z(T".1&M.$8L6[8^KJ:X*:HN>FFMI-(@ :L MN-LV734%3JF_2N K-@8_5H#^_: M/%O6BN*EO ?+3TM1S5NT@O5%&_XT[>?C4Z3XB\/Q3P$!6#K*6#CGZ,"Q'3+1 M#,K-HQJ+_02WI=5L+M NF%&T+I[,M1+6'P1[0KRB! ;0Q6+V+DW:G!I3 BJ5 MK?O!#U['!LB+0 P9;E0XA>6+9Z 'X]+V3GR?,)T^^!Y;LIP:;Z=C0]>)]8%S MO%8? +7^LC:V4OKT&U[XF?\/7\$3/Q&4OMH4-N>-=N$ _26)T;86@H/&IL[& M^^"8[^:G?!L>&OG!5-U #2%OR( ?_;\T!=V(&D#NJLWX(]4[WA! MGP_6-0\*/<"G[H@]Z<'3'.\K+(*&A/*]W9ENXWU.8;T-)AG7=)M*]?AY!ZI, M#:AZ@DYJ@?6TGB,8B4V%\$4CXFGUF;9K!W"FS=*<:;TG.-.U1]4LI".2R-V# M[1U8BPQV+;LNZ&&P?97VE34$U?)1>_MJN.@Y@&,2%V_946";4[-"M7:5CK*ZP4M*46 4JQ5*-54(_L7: IA6U5WSAFN_9^U_XU/BPL,<$S>0QZ(@KJV"A*RKN!\Q#X%1#;9&I;5'L$&<'H2'DB M^#5Z$/ O3WLCO-4#:GHF[?Q0^<8.#\,QT7V3W([82W^A[SQG)/ _L)W#@:5? MLJU*:/G0E"T?JE11+UL^R)8/I0:H+/J.%7W+E@_'??RRY<,Q'[]L^7 ,G19* MLQ"9^;PN\_GD<\R>0F,]OVVG;=(%W-L'QTADX):W[O+MC MQ VLX,USUC"(T%)K-5FH?N#(S"-[>*_(Q&S*EMKM++O4)3(/"9F+(:A,"2S[ M1F:SH39:^QHP+GLA;*T)<=]P576@8RHM;;8%LZSVH41QC&3B!W6UWMZ7H)*% MU >%=E&/MSTH9MN@O==9'E$GL2ZQOA;K@O9O^U#UML%ZLU]FK$LO6);Z_T>< MLU=57?"(:T&;[6UFVFW!0"[>/$>#]1N6YLRNL/?9C6W1/&R;EI1=85@$K,EL MNF.[0.51EDH?$GEL,_:PK.31:*N=YKY<+9(\#ID\MAF*64KR:%%/9*=55+M# MV7 @>ZZO,*/7T]YHE8Z%LW^?B$5&AO?^@'-ZS\--"/)[@6(NV 9\8:^?D,_; MDOF\54J7E/F\,I^WU "5&7TRGU<>O\SGE<=?N7S>(_9PGWP^]QT'5G5O+C?]X#==YIQEB3M>$I#Z!Q1Y+'-6:1Z9^%RN\F-;\DQE M"V>HC?:^,@H..G!19O#ED6R_"_#U]Q9GEM K!GJ=/++I=P&]>O3:3:/A'=.L_2@D9:?KS_FV7^_U&Q/.G V=.#( M,L+*%)MT\L@5#RRAH+5@+AZ@PN;!R>JI2@,ZC^SNG0"Z)0$M 9T!T'GD8^\" MT*UFO\2 E@ZLS52W>F\:%OTI0P:72,_D(-]:*G558!FY#+!B&%B1;YZM2EAM M-Z40E(C.@.A<9I7EC^B&VI9JG41T%D3G,I$N?T2W^T7-Y=V#5G<$#KF3SU_) MB L=)GH*G,NRW!SN>D'O^G2V#Z^1-<2Z&&)"E8WCWR10);RH\I5T>KNRW X M(!NA]*#+(UUD5Z!KG7QNJ;&)^>+#+(UUDA[RNJ>[/K)06I$QL+1_Q)B5[ M=?/(P0BH-Y;ME2,-SW.^6D7FN;Z7^,L??WFD3.P/?\W>82<=2FSGJ!CED3RQ M:VA_;G?J!Z$<':L?1^:[EBOLEBCL\LB-"$TE=O([$7-E"\-54/,Z0&@G(3N/ M'(G=(?MSJVR(KJHWZ@!AGV8+LB(SST/+2\V!1)49V M24>9P:/)V]#T=1(,P-*-EV"FU=VWR\?[Q,D6P7[6:K\&$[1B=QB/3AW[-?QJ M\3N7CQ?T'13-?M9D; M$!IJNQ:)[=5'94R0L#\H#80.5^A_J='_B'1]_M6)\IOPF'[_*CXF!&,^A_1X M>WYM6#_#I^B&.S6U&6ZC:5CD] D'K,59%WWX_*[*)TT9.\@)?O'LX4D,WJ]\ M-PQ@%@;:!>S$\8K%#T,38N':5>A(H&R504=57 #""(T*.OO-'BDXFA$'RWWZ M3=L(%I248_04);" ]I:N*7R>H&Z,P"XGUI H3\1[)02'!!(%)^QIU@S6C1S] MHZL0N P8ZPN)6EX.V/"*9NGT)R-FV,,+:9[OVFPRH0[_ MT!Q%FP#P/5R% MR&C?^DX]@G'VFB=LQTSAC4 MJ_=D;XD#AZJHC"5SO*TPJ+;5IH3JH4-54)>2/8!6&%0[:J]=D@%/,NE^O6Y% M$^X"M4I5+.)AN"/0K:+I5-1G75'UJ@3IELFT+YKQF9-&)2[')FXV0;2WZK0# M$D-E1U]?5)^1DY*4*_KZ;:D$'1[Z!!43>>D]N:*OKC9D XKJ:#;G8\UZQKP$ MY44S?0H'1[0J4&T4J.17L'U%^5(KJ"7)2D"K2CR$OF>(%"LVM-R9.1768HVK^UJKE,3EP M!1N@*!CH6*$^P;K[;+*G7^(V;Q+79>VDW:KE,9UPA\">^P'ZA0FVXEII2\(I MK4#(8[SB+@5"O5M4$S_9^'-GC3^7JP.KRBR.N'U&X&DC):=H8/[$6:TTGI/F+CTGOTJRJ0;9;#R5 M%D V]=;9OCP))2*;DO:WW[5^R[==U&>; MM=9>ZJF!#3<\,IG:CN;,(IVW7<4;:Y[RC+JP8[CP$YM&?HP1V R6I\ /*";Q M]Z(1F1HMRJ&-N$U#>S),PS/@IH:K3!WB8@M$77DBIOVJO#NT;4N[!?0ME9VT2P%*V4LW@DG92?O8C[\_F"6V>R[[TZMY\OYM>YDA-.7A&7";U*1<9 M#(=@.>D*&+.F/2,X.XH&\ZI:K5^E_K&M^D(ZMI$Z;6;)9H9_!)_QJ"P._H+_ M9=T]+)T':=T+?M#!WUG[<#<*\X\=4NI!F<'9$( S5>9+X>!LEP6<4H_-(I.N MK!*0(3%>,"A#.]U+>; ;DFUO*@^LU^G;$KW2([L/3^R&9,L) M[35+0K@28CE"K+.I5-@EQ/KMDC2YD!9"%MEP@S-/6(:/]:R8MNLJ0\UQ9G#^ MKYJC2[-A1S3;&U>:&_*$ !B>%)T[(.2^WF&.L[IP6U/Q0VUURN)(BC!EA_8&K4\0Q?Y M@:U3%AUE460495W$$V,98\8/MT/8W\2Q=Q1GXA97KHV=RZ MA75)D?TC*PW>_$+6V<';[)6Y^6GY Q55);42T% R<6P<'%Y)'-\WOK,RKMA!W8"?\ZF'G1!ZAX)37N;N074LYG MENGGMMHKSDTK>W1+&EFFD?RBX#G12$=M- J+FQ5'(](&DA2=B[LAOV!XUI!+ M6VWN+3U>^LH.";S-_(+K6<';4CM[F^A;@*_L"&PXJ%9CCL2.S,])O4Z(X MT\$D>52:HF2%C7*3LL X.0:A-CL%SKPMO_?D"+1BD7"[<[#0S9O1IL#D+]^8 MXC ]R1AVQ!A$B2";>F8BO"$XO3L3P#"P](O@ +/QB(;:;Q;6SE^&(2J'9E'F MQJ:NFEVBN=8HL""B_"+O2.VY*\O3K&<#>[@SBT[RAQWQ!U'RS1;2[IMMZZ^& M:0)KF)]AT,DG_G=&';E?*S '3(J_BL%;E%NRA?C;-;P;:O? M;N4=8<[-_5$ M=8?!Z4I"S)\010DLNY$SP5<9-=*R)7Z]EVC,W84M2K[8C518!\;R^K57P%'& MJK9WYY&I9N@*87V0JVK:'&#*2Y( :XER7K9R"U(4\&;868VA6JT\,PIEGK*D MDI:HI\16[L;MJ:2WMZ+*$M%(^2-M,M6S&A2]<;K'(D6'XWDC=)U-W+75?G$- MO:6\D]2Q3!T;9Y'LCCJZ*AW=>&S4L3LC="-QM?T5"7FF>3YF)PLIO[I1M"> M=:P63?R.I+Q7E>FO9:Y-8*ZZ[6,\=X&[%CG\*OTJ$V5 S@E#FW/_-NU?T*D5 M-DEGB?LWI6XDR62!3'+.1,J:<-3L[JM!6(G(1"I))5B(5)+6*TF#";RWYRJ: M0Y2I0UP<5([:DN*-B7)N6]1"T_"S+YJ)S0N4AS$A^ ,7GHL=#63=8-$E;/+F MLFZPA,Q%%(L5E2 ')83PD>GKC/O0EH[53D6MU.3A5D)/J#\XYZ>,_]H>LF8V M;X9[2D^)Y5U\)Y,G;,*YD0MNRQ;F>^L\>TB-,RJ%RH0N3&5%9;U68#ZIU'YW M(*"JZR8\LMC0UBV>1+&A['Q W5]K]!*%AR2!E)9 VENWD@25#=\XR5#=SG+Y]^\)UN?X5\X\_ZS\E^*H@1[ M<>-/B&,,^8?"!?WWPHK^>YMN5*L?DXM(CI+$G[[K&:-9<""!/+ZRJ"_6=7'V M.T:&&+1FBF";2L0UZX!).(JKV-"O;R&IQBN,K$= M O+])S'AKF/-4CZ12?25/\!]X6H#EV/9WJ??R.0S7NB!'@Q/F]H.I2+;P7$$ MBCVBRUR])@6+Q%(]XXD$KZB?*8]P4]_T@$R\X&,V P$>F/ P>#^=3 DM?E7\ MJ(N. FNN\$>SZ%E=FZB^[QU[$Q',.'M@L_(!-X M^?_?WK55__":+3B+ 8= M0&O[?/JG9P!=$4(2@@%U*CG'DF 8>G[=T]W3%\UY)P-C"#.@E@Y@>*;^[70P M ;Z% 4_(EZA%8 .[^@@N,V'F#@5MU-7,=:\SIW])9.S8_Z$Z.QJ,G+JT_"HP M;][VF2FVXB9[^, M->L=WM4T8.+N/DB"6SDB0C0SNCS#^@P-6#Z@!ON_&3$72*WQ"V(>0BZISAV1 M(4_# V,NKRF2/Z>8:YC:%%QE@:X,SV>$^+':DN.$=/.=GC>W4&Q/,ZP)T SD MQHMF6![\1[2H>1/X,*0 40"C-^T;#GC1M;'AP9>F[;J+;<1]++G4!%#"Q!B' M_@>XQQT8?.=R3S8(T_1E-FP7](T?:OE?D+.!\8/H)@#Y]\K#Y^O^8R6I3E7RK! LCC(95QWZ=_K3\FTX!SP^?[[Y^B7U*]"X1;C#+.VOE M/'@8(=?5\,%Q4*C)/@[".7Z$24Y?9N[#PM^CJ77\T/U\5;UXO.K^5>U>]Z\> M/P%$7K5W-]2TV#9FT05:G9(199K=)Z*RPM&!\?RSS/^)LJN#GRKD8^0R_7$9 MO4Q,64EGD?KWO5O#^CY]RL!P01R^,S*:AD6KSZ:M?U_F4!WJ\!-0S0&PVVX?LKSJY8_G*J&RQ=NPX=,>J'Y$-' H9TC"%,M<_W M A!%K'@C8 \L>&TK6'#U:X&?YADLY+V5:W)5G 02OB-M0+0Q;-IO7'N!S?'_ MK3=!U$Y,;]'_FQV534 '@:>^\X.W2_@2J*#W6$B1\Y[D\"VRU[L?DS0U6II; MV/;RR:K%XE,6EMT,-:U@7YE3;/SM97D_\=4L^C8V'+XA,038$U $@'Y,Q?)> M*07UP@7ZAHM1=:E>-=ZJ(V, RMZGD)IUOBRULX_LVG.^426YK<%O:TKS]\6N M6DQUJ:U6[?^B%X9=W_,WX%O8?^=_RV>U5SOBK*QVG,*PL,!&LJ5L\36IGX1K M(A"+ V'L[?B\)L>DV:]#S!/3K;K6@)VZFW_.J5A),' _YC:/]6T90.Y.$%!; M)ZL9BBL8\+5!KBF'C]^,AST8OB8K?)'4[1B^)JOLMEI[@>']R6\05NPM8]=Y M!WF^USJGS>OU39(]7+UGL!TM9F!LP]8UV9?0:EG8.BZ>:\UR7X/=#+K,%KMW MRKQ?NSS)29V[OLWC6YPYE9#B&5N?F9J^8[[Z 9&B;WYDPEF$.] MB6.Y89SY5\ 8'1 N;UQR':AG\\8[BPXE&C&-%WXEP C .0^'!4O?]P1P[Q$\ M/1_$E( MS#T9SGB.'/0-UL;B'A 65>^0=ZHY#*+LVGB!H;1.?,FS8=57T+5DGZUSR0?> M^&734S"P=6$%7EZ8#S1P_.HC#19F"K")Y5#=_F8Q)^X\X:<>/ECM6?;#,S7M M5_*!WPL" [#D_O8I#^?1[*QA09@/?&$NLW\7#E 7I?-3X-:]'WZ=>WT0^Q?! M6S_:IGGMBTMNG/?A 1?,U5#QMQ)5;L+HL)-0$.9CYOUP)C3T.9SQ@Y' "_-[ MA:F1U#2#4YOI9Q!\^O2S[_08&A9_VM1)L>"ZV=G?L%1@4N;'16?!*<[&:(N4 MXR@::M9I%+K-:&W]7E'DS=Z^;(.2PFG7:C'!)3NJ@+7)3/72 M!%D*G O8V+GRVQKK=_N@R#IK@UUKY!8ZC%FGV2 MHKZ4TD&D(=)21UI$B2:E M?<1($SEG60S])+IYF^Y0S:7^V<'8=@W_),'3OE-VSD#&CA$>*A1552E?IF:< M7%@*XUGK\-]!1$S!\DA=%LEN?;MV[)<'AI ''I,-USZ$$-HM<22KGLJ1)FZ9 M]K+C GTK O3R#/3[Z/JI@'Y-ZZ#,.@8AW$L%]_8JW,'*".&^E\%QM'!'_U8: M_BUJ#4KGV2I;^G"<9-FY#DYJ5F6-6Y7-O!3!6MEVQF.&J?F#^A-\@=]&[BD9 MV:^L^(!$ (L3C27B,]/%!5Z9F(,@WYX,P8P)RA[H$\>AE@=OPOJZLC($)^0* M+@(D_V#9$7-5(#:_!W^&QN^>#P*'Y6?,>>H2&HZ\$,7.\W*&9&[T63D*P_*F M-.'E$;)//Q<&K5,"L8!LC\+2>CQ"?TPMS63%). *DQ>9]VQ8+1VL-E888([4 M,Z5@NTP=)29E0BIV]5U9T('V^?D@!J_NDD M@_+A9DN9>/&DI*DS2HN),(M.,V[R65W9SZT@?2X9I^_+3EDVH'1@#!*)YT!X M,IP BYF %2.V7LDK>!HBS(?P1/OC[DG[:[_W9]?\>G/Y&7H%+6!M[GS5M M8FJO8?D<]K4Q-'2-U?X)4F/@"C:5&X9J$!3D$;9?:\+$V #D:6^:0.,7Y9?( M\\0CKS0^'VF*ZS!1R[.!YZ<)][KML%)%WNHN"D*'>RS]'3Y&7*I1;M/6S&W: M6I&<#[#W+HO.J:(P%9:/,(M'$*>6;IB&7TO<"Y*W6"K7Q+.=]X6+I]*TJB84 MIRK(G=7NX;^PA8A[XL;+PFS8Z$$!,9"- XTM%!"=OO#Z76/- M-\I*G/G?UT\?*2]M!Q-C--N9ND]?MR1'.(8_S3![V[<" M_9XP&K,C5J8>IUO7E4UG;/S/S84,8*ON6@.V4<,^?3]D@R^3D9VP=6W=Z-N/ ME-&2#JX"3H,!?)KN6.-$W9 4[\N?N86R^4+I"PO%$^1YM49_VMR8_MAV9'[M]>FQ4-NQ.*:V>/8[,U*@U.2EW4KT7U6>6O1(CC9NA2;$F MJR68CP8Z1LQ\UB?=D"19-Z'FOYQVT^WUOG[Y>MOM7UV2^_X?5X^D=__EX?'J MCZN[IYM_7Y';^Z>G3TM3C_%&'H.UU$TB6WA)4==W'"XZ DN42#]'";X;1@@* M5@HE)IN^@]GT.W8ER"5=L2ELNF(KAWS%E0QZ4MCLQ4*C$I-H,84>EU^P%/H] MQ4Y=%:9OTP!11VYJ6Z6?^+:;3,W^2%!:*7ST ]]TH&T_EZLUFY;S1 M:BT6HTUP6ZMRWFQUYJO@E2%F*>^\PK@&,LV(%-9DA\H)+9Q+P(U%!\&9Q;O/!UP??Z\B6BQ8K(J"[KR90%6S?\TL_NZ!K ]P?#7F]ZYOQ9,RSV M=YN\H\GCH"OP%LB\_R8?=E)%M5MDF*LTJF6:1)=NTL,4R^@HVE!%1VG[( M-@MS+:KP*7U.49PL:D4UC$W3WM_':IG;PJ5F>S6:)2]QA(V7D8^6^6CG(H,9 M\U$[L]QJ@?A(T*1 [/+)@G^QRR=V^3P]TBZ?_85X-S^4RV](PW,>EYK1L. Y M0'.09)LHN&XQA.Z$=,U9HJ[FT%5G7X&B[*S7\=M'1C[1UK5Y,QU@X; M@Z05UG+V/#U>OYT>KW>GQ^M^^ D&'N6[0G,G([?!R0ASLA'F92/;B0N6^ M4!E'B 5NK6*'B&&;C0)-1&3_LRAE""\T4[-T*JVV92-^2&=)W6=KSYI$\I[M M="#6B@HZ"YQG_S?-:[WZ[P0TI][4!N*MA^=T_:5X&A8R,].RDC0E?@+3^/O( M-N%]7/]A^SK; M)_QDIF_[6N=.&1*U=F[;6'$+<@N!Z%B%*Z+JWUZ0WM_>R0[36.=.6 M15-0UQ5S[/E-!ORF::F+JOQV@K0W=QYNC?@!H8>;]P7&13 MVJSK@]64$S$*6$= H.+WJ&1[H1NQ&7) 'P"Y*&IB1,T_5'/(%>\MON)D/ 9) MDBW!UVAK^4J./9&9OTA9W0/)S)3,5* (5]>M]-U>L]1,<76S;N:*JYOMZBH= M$5;W*.F_X+#90R%8HFGA/XH8)Y"_+A3?2_C3H14>'!%'Q!%+-J*("?'Y2]JH M)'B6)>-GQQ@Z_.$+8MUV4?#BB#@BCIBMX"VIBAO9 O.).C\,G7)A6YIXH)@X M'S7OREZ=A%4'=CV@YY$^N][LA_]D ]C=#S_;]L#M6H, C.Z3;0[V+*:, M9<.0.W?ASJA*!O*,.V7DSA2X4\FQ9"6R9Y'9,R+=7NE,V1/^1/9,@3USZT20 M,7L68NHQ36@9 %A@J@MK[?)^M)F4>B^=$71G6U6W^(;0IL$S$=]QTCMA.OEQ M2&\^$4">[1]26M_\>5R],?\GW5Z"UYG@EL4H!8MU=8.'H =]@#SMC7R@/G>Q=D"<;PMJ5:14\BJ#'2&5DG2=A&TDCF/C M"),^WX*M(AAIMQ*YXM15P-IV1\_H#3FJ*4 ^SY;/X]@\(M[B M> W!%-E\9@&*7".S/.;;S "5Y@_;;+I$S*(VNS#^H-:&LD6P/ MJ,((]K?AC7J@0<-\')B6.6&:9==U*?P[Z&MO>V8OYJ8DXV%9X7@U*EZEJ!ZC M O)J+3-/+S)K(9@UAE>5B)"3PGJ5"L.KYSD&*)?S*)J5:SI$SN%1^)T"TR8Z M:!A#A04[)(B3YE&U(H[72CI(:)&"Q^C(FCNP9E0TR_$:10=AS4Y6-9:0-4O% MFA$1+D=L QV$-8L1]%)T*P@#$59QQ*9/"DDV);=S,.AW_\.7RGG? M]C1SKO>S'O1P!YCQCN]^XY&B2M"-DJH&DFI@3U@/]B51E6>=W^2SC!&H:E0) M![%,I(,G..65?%TKFQ>V](P49X.H45TIQ+)!LK,:&AUAK(8:6@W(JDNL&A%V M()@5D1FKYE=[4@1.S=:P^.@]VX-W]DD#Q)Z3GP@A(?7O)B]PLQY\&4F"7Y>F M]NO61 CG->:/B7KTV<#X<O8E_ROA1N2*([+R'VBWYAI_$C'ML.J MJ%X:KF[:[L2A?1CIPK3U[Q6?556YJ?EZ LR[\L92[*''QGP0JM-P'!4EJT[((A:\U86VT]?,G: MI9N3I2S5V!B^KW;(7H]!I742 '!-Y^Q@XMK$L[.?^-/5YR]7=WURP;Z;3B$8.[R&.0%>1X8^@BO&&LR7DJ%A M:99N:";@T=^2^ [L$NV'9IB<=]G(LSMG+^I0=V+"0]A3'?H-]DK'?"?TAV9. M>*3GX@1AQ=A^?>H2?630X=PX;+OC/5!?M._4D8@!8_;X-5=O5)]XL-^2^R%L MSNQ'S^:736^"QS_;$X]-QIXX0!UVQ3-,V@0!Q:M)Q.:UCD':5V=$ M#<)L8=F".^!MZ0OV MWOY0P3,X$MTYF<+N!X72]B4'F\'H?>#8U*2ZQ]2#L?TZNQL>"M.A"R/Z6/2! M-C_!$W)C$;:9LT\2>7IXX.SISA[-'@8[-ZR$PZ3,V-08+QEC+BH#DK"Q@;L] ME@ ;$@*N77P0&WNDN4LB$?YB_>L-MAH!P\,@#R!XX4$#B=R#9+*M4](=4/9D M6R(] =,RC*T4_*DP:)KKQ(!E49S3TD?%.OWQ4L>- >DDOL\<8 S_P9^(_\V M&)CX[=Z)#^Q;>V( C;X8+I-"QBE_HR?-(K?P/7F$B^C@U ;0F;:C#6 27^B; MH=O(=RYC,QW@!CA:Y (@X#Q+!DB)9$/.=O^=P,.]=P">/QX;P*%\4]-A %" M=0>X= I,)D"#E!LVVL@VF5!]MM^(/C&9*@F??FAL@Y,(X J8$(2^P5C2-LR0 MW?Q=U';@V_'D94P -AY0.&3>9P/V!9.+;L8=,Q:BU@_#L2WV*@SG\#V=O2LH M ), \R%QDN+^#YNE$UE3/ /Z7R3RU=-&I^02-AK-G?[TI)D>N65;:0_(%E[$ M,-L%-K$,>WHEQW*(],_4!IGG7YX]?,&HH6]LU0+UDAM!A%OOOU<>/E_W'Z?V MPSP>=[KE]BG1#/,.BV]=?^J=J_[5X]@5IBO MVKL;.FP81UMT@5:G9$29@^@349D?/#A'^UGF_T0=L04_5>O.+MB^'7U$ M!Q.3W@^7?3PW,\)KW>5?NZWJFV.U?U:OVJU:MV.M=J5:WU.G+O M^K+;N[Q<\@3Q.1JP)H.N]WM%KU]TFY?75NNUFER]N+Y0JMUN6VE= MM9KU6O!)(#%YOP1[4_:F0EW=$4%T0@IQ1F$(K*A_G*(>/.9$WEE M<)#O0&OK]XHB;]X"LPU&"J==J_V2JFMZ[O6"MUOQ[#V?_T,U!]35 4B22ZKS M8P&?\ M_$I'B.47,69S<:O*/WYS6FTD[7*KN3%E>H/7BCOUX@Z.1"\]T47,W!5++J\6 MTZZ[G!5T M,7%AA5TW_)W?-5MVONKAHK,U%ZD,G-KH2&VU)EHQ..2 5#F@EK"MY]%Q0)TE MBRA2LR,C!Y2; Q)VO#PZ#F![0*LCU92L\D8W< :_[LHF5M%QQ15YTPG+SX# M291&7GPM82'-5 56 *-%%'6MP9P@\R$DC/B"#;Q5D^J9[=]8=Z]43):P).:1 M,QGH"/6ZI&:F(B"3E8K)$A:W/ HF^Q]U[('FCI;YJRHP:Z'?=Z=B]KS$2E%U M[4-DD^<@KW:JH%*+Z',;&2XIPL9,_*@8L%3\J,^ZCBJJO:L!BX5]L- MJ2/GI9$B[LN$^XA:HQ$*JB"XS]19NPON#^?!31 NO#GL(OD5,=$5:3ZFW!-! MXV%S,-_GN>H &,^'H64B#(Y$+SW1\:@5X_D*&/(N58 MN+],AJW P*X7,$QO7V"S@\4.QI^6'-@%C+[;&]@M26GGUE0)C7 ,JL-0A!4Y M5/B@NGVEDJ)*G59>IX48QU-HYBE\L-R^S-.45+6)O(.\LSWO%#X&+@'O'&%L MV]'Y0#&V31@YM%.L0SV-V+8T?#Z9]1O&T)TRPSF-D+5]X=R0I8:257LLA'.9 MX9Q&)%JA')#,QP*QX$T$-?G. V25E[0X,OY(U[Q;SP@HY_\__(NC\ M@I%G& 0EPN!(]-(3'<\C,?*LD'$,!8P\F]_[N]:@.[?S[V0>=*1&9OW52VW7 M"HSS1@$#T=+&N2)+K7I6IWT(])R 7L# M-2!KDJUIB 1F&C,8Z :Q@N 7"I\ MH%K:4JHFM6IM@0,)D)>$Y:7"QZVESTOUW"IG("\5FI<*'\>V R\=85Q;!A[6 MHC*\ )P)[L<32(3$[4QB1 MLE/^3S,B'&7K[,P#...:F47\87I;F>$=%=6P;;;F ?QYC496E141WF6&=T2@ MP=;9FP=P";:$;@^#[0)P(JCQ;Y/-V=/&!BCX?M[FP$"XF;V(>H0B#(]%+ M3W0\V,/DS9@S8&%S?9H'"8PZ;*[/@_;.Q^K;7?V_$P-N=&R8A_?^8 (J60PD M?#MFE^QD'+2D1F9!]:6V[")Y1HVTR@Y[@\2SU5HW+_I\/Z=%O:4+"%4D\6/%0JJ-:FNH@N^?%!-%@M6)*BB][!(WD/,+2VZC151 M:N?PN:4'EB'U9EY]V3D0]O.LDNR)QF+A79K1'!6%LFY=Z M:+37)5GH/#Y$>U'0'A$7L76:ZL%]C?D91\F35C]ZS_;@G7W28 G.R4^$D'#2 M=Y,7ZAAZ\&6D;O;KT@Q_/9W-C4]M01L+E#%_8I\6IS2.>TPJ*N \L/\S<3UC M^!X2*:1/?T3A9M.T7X&:A).$# Q7^_;-H=_ W'")Q]1!HKDN]5Q0E5TZ( !- M#^[KV2]CS7J']V$ /'6)0\%&\<=P QK"PC*^ M,:R)-N.I^D6W>7DM=ZJ=YN5EM5ZKR=6+ZPNEVNVVE=95JUFO=:\K_@#DS'\A MGXE_K[ @"FJ: ?ZFG]VQID\_FT M>"_#ZK-;*\O(E^5?UBUAHM5?B#&5 ?C, M-O%!O='82=F,:;:S3L #"PUH;?U>:4[I.@]S'8A"G5S,_^FL6S&FW=(DDL![ M[O6"MUL _-DS^_>2ZMP=X%.KIDAG'^%[_E^Z*<:1AOB>68?E :4J+"ASP"0S M.86 (2Y_3LLO"['\(OL!?5F5MQ\PU M38O"+:V6U&J*'/8IONU:5-86@&?CF;&1VM9U,/9IU%I2O=X40^=%\*4(OF9J M.\'A7 8D&1)36SQ%BT?TH%\/;V MNU[& *]7SNL-J='"-G'EV0LQ.T<8J;%3!'>[LWY?/)SI56])S59>Z=N8@5 B M_';D]=O>X:RW5DV2E0(G%^$[?=',RH&$@^\#X$<:F/WR^[C_&!BO. M!:N'D? +(XR&5<=^G?ZT_!N+B2K[I_5;O7 M_:O'3T0S7[5W-V0HMIU;=(%6IV1$&0-_(BH#3Z"Q_"SS?Z*4F>"G"OD8N4Q_ M7$8O$X-C.HO4O^_=&M;WZ5,&ACLVM7=&1M.P:/79M/7OBR**/WPV*CG3R,AA MS/^S9^N5!7B_!M0P0#X83/'Q5YQ=L?SE5$=:NG:'' G)AXY$7 #"D&E-/(?# M'I(>DV"6YYY]U+:"!6?F>7Z*2AEBY/4AZC.C?UTXQMG"#+SN4]@D7'FO#EX.) M:Q//SG[B__K:?02)=/L/N>SVN^3#U[ONU\N;_M4E2[%:F'#,!G4,"6Y/DQ?X M D8:D/^&[$.&(?\0,-0U8KA$4L2818'HZ]LB8 J1'&@OT> 'Y[>64 MR[:? 'G21W0P,>G],%Z4,(PLRY-ZIW%YT;VXKEZKW5JUKO9ZU4ZGT:A>-WO= M:^7J&NQP=4G8D$#[H8.NQ_3(=N.ZV[[L5)O*I0HC7,/FVFJJU>N6VFTWY1[\ M?HE9=SL8-RF.*&XJ"Q=[UX;C>B0 KR_H#II3@A1_HL#$ R1YAB3OCPP'*9ZI M6+$GCC="DF=%\HPS$0.?>7:IB,4Y]:_+(IQT!$SH\+(2_U#-(5>@: W(2E8[ MF>44I[J*A^!'>*5PT#3E21$'1N(B<8LY,!(7B9OUP")&1HB@(]Q1C[B:25,O M4)"!-HXCXH@X(HZ((Q9T1!&-^/PW92P)$O&D3LYI.9VHOAL+AX-RC<4J'[1& MPB/]0:T)O7;L%Q9SP:;YM^&->A,7P$.=&XN%4AC6-Q8E0+0+45J9)93@8#.!] 1_1:B&CF6 M!JHR.U M56P36S!#&PN1)4TMSD":I)!9W)3E- SW5*LF926"%%52&W6!TY61:41E&B4- MYT QF:8AR4UD&F2:[9E&3<,!452F465D&F2:[9FFEH:3HY!,4Y.E3C,KIS0R M39F8IIZ&(Z5X3%.OG+=J4KU3XA),1Q'3@&671)$^NU2M:DMJ(BZA'U^Z(^652%&*AOUZ5F/:\"M(CZ$J$^ M6>B%&*A79%5JU//J.X.P+Q'LDP5HB '[6JT&FKW(TC[]J(LEX./'I!_1*Q.= M_OG9L5V7C!U[:'B8 8HCXH@X(HZ((Q8D _2( E,Q S3?Z/6FLB8F+M,,4*ZO M/7!U;3>_L*1D%A%::J> P#A=$X:6:6+GOCAM2LW,.E0@3O/!:73D5[;YFOOB MM"VUZRA/RXW3Z&"K;-,P]\=I,[-00\1I/CC=&)53 )S6%$EM9Q6M@Y%\F#2) M <:1LF1-K%..29/[2A9%:JIYA0%BL'V1>6%-!%2.N9#[\H(J=3*K3("\4"9> MB(Z+RC/%<6^-4VHH>?7R15XH,B]$!TOEF;FX%R^P_O921Q$YMPIY05!>4#<6 M62D6+_C%4SHMD94D/#K'1,.2QR.KR8[<#^TZ;[6R.HK$X/H2@SG9N?QAP=R1 M&K6\2DX@F$L$YF2']P=7T6I-D1- $,T%07.R(_X#H[DF-5HHFQ'->Z,Y62# M8=%S2#Y+R(TWTA$MV*^!$]&>M[,QJ6;K^4)[S_B*1PLA"*>"D,"+CA M +@%:;SC4:^"W@N$\_YP3A8%D0&<:UC,"^&\-YR3!3(<&LYUJ5-O(IP1SOO" M.5DLPN&EL]I"Z8QPWA?.M63A!(>&LZ)(C=SB)-&'4:B/Z,.(]F'X+$C&%"@S MTAR*189P1!P11\01<<2"%!DZHD3."\TU=#QL*)[!M":V+/:PX8$Z3TPE6S:< MKC3' DO$#7_GH)@:4')" ^KF[KIR+I^H6(0>X;TWO-=$F\4>/B"\$=X%@?>: M=EZQAQ&9P+N15S88PKM$\(Z.1XL_G,A&>HOLW$5X%P3>&P-]\H&W9)C?)+PYQX=(!F>?%$PYJ@J53,\@ 6:+D@P/,#^)HPJE0,\WT!CI$H"/"] M ;ZF(U8JIOF> $?C' &^-\#KT:%6Z1CG^TIP-,\1X'L#?&,-D;P #@:ZR+'? MOH'^T7NV!^_LDP9T/R<_$4+"2=]-7JACZ,&7D8;SKTLS_/5T-C<^M053.;"4 M_8E]6IS2.'@,/)HMIV%-M+FE;C>NN^W+3K6I7*K5NGI]5;UH-=7J=4OMMIMR M#WZ_K/@#D#/^)@&V^)+IU#0#"DT_NV--GWXV-1<6;6A8?79K97EM9/F7")HG M7R[.1H8UH!9?B#?NSO#)OM$_DIKGX^!!';K-B&K]7E&G!)R7'SJ\/74.*T#6 MES9[/K\V'-FR'X*7^-CI_@3!48>(,DS)'E_9#A(\4S% MBCUQO!&2/"N2K]%#EAZ<1 N9>Z7@C1;T$EA;QE!^94&VJNR_5$/;$RROB)&- M)%"+ZJ 5Y7^@$C"A0[P1)?]0S2%7H&@-R"75>1%1GYHU!6@@J_(!5O$0_ BO M% Z:ICPIXL!I$S=$KU+W]?##S'OZE$;KD(\I$-V+2 ,D;A$'1N)&#HSQ&.N+ M,+F:25W,7#R6$9=T@(,-'VS^XA,$1\01<42Q1A31],]_OXZ*GYQO0E1^BSP[@I43=9/MZ[HP,!WTM;?=.M?+4CNS,LYBQ2@P=2DC2/NZ4[ZHCDIK MD6>QCW*BOI %076C)37K6;7)$PO5QR.FHQ)9Y%FLHYRHN6-! -UL2'(KJ_P8 M!'0^@(Y*OY!GL8URHJYT!0%THRW)[:SBR1#0^0 Z*MUB09$N"Z#KE7.UKDC- M3E8Q[IBMF)*U'33Q)(M=/(EF#XW\BRJ\7U,O5WK42DP6UOOJ?9VS6I/ MA2VUGE?S! '[(>]KWZ?"-=E8_FDP3B,JM69K!T$A&8=UYLLMP5A SL'=)C'3 M1*7K;.V$*"K3-!JXW2#3;,\T4>4?MW9T%)-I%$GM(-,@TVS/-%%%);=VIA22 M:5ASSMR*0R5A&@QNV.QN4=I\4D$&2C']*$> GZ*'Z-,A41'FLL7%?XC.G&B M,TH_.[;KDK%C#PT/DTJ/941,*L41<40<4>@1,^3D7BPKHEJRS17=%^P*K+4DNM'B=;CD:K1D639 MYH#N#=2:U,DLO 6!F@]0HZ.WLLWM3$&B9N=X1:#F ]2-<3X% "H+&.QD%?^# ML8&8BHDARY&R9$W@5(ZIF'M;P$I6%D4!@O&[7DA.LXJS[S)O:TCJ25C#C'RPO:\$!U]E6:'(O+"Q M>DOA>*$IJ:K(O("'Z)B\6/+XYE:RP_?#RH&.U&AE59*V ,'ZF).X%Z*3G= ? M6,M3I4XCJ]KA!8 TRN==T9SL&/_ :&Y(304%-*)Y;S0G.^L_N&RN-;$$ J)Y M;S0G"P@X+)H;LM006C:G?\J/*7_"I_R5U/7A-Y$T+-U^*4]FP!$)[&11%_$" M&Q!PPP%P"X)[-Y'=S.M@6$#M YT=>R$Z6>#$P1$M=3KH[4 !O3>&\[)(A ."N=ZY5SI2'(CJVY2Z/% MC\=Q>SQ\;B5C"I09:0[%0D?',B(6.L(1<40<4>@1,8DT:1+IA>8:.IY:%,[L M:J\):(L]M7B@SA/3UI;-KRO-L<"><&=W0@7/PY M1R;PSBT%'^%=(GAO#!O*!][*26[]4O/I]5!6R_S2,"<>':!M7CS1L";^*A7; M/( %6N=HG>>,\C5A6:E8YWNB'.US%./[ WQ-EZ]4[/,] =["5#4$^-X CP[= M2L="WQ/@#00X GQ?@'=?E^;XZ^EL=GQR"Q9S8##[4_NT.*EQ\!AX.'UCC3&#Z9"S M@?&#Z*;F F4?/E_W'ROA1.8!JE, @3,++I+E7RK! LCC(95QWZ=_K3\FTY- MDSQ\OOOZ)?8IT8Z!EX?NYZOJQ>-5]Z]J][I_]?B):.:K]NZ&+,<\%Q9= MH-4I&5'&XI^(RL 3.&1^EOD_4;Z:X*<*^1BY3']<1B\3@V,ZB]2_[]T:UO?I M4P:&.S:U=T9&T[!H]=FT]>^+0HP_?#8J.=/(R&$RX6?/UBL+\'X-J&& V#"8 MC\=?<7;%\I=3=]#2M>O0$GT*1=#=Y@6?H_G?L$8&WY=&&Y5%BLS6:R$LMB7NJ[C?7K2 M1W0P,>G]\-^:Z4N;KC7XUP06;/C..N/J.H#.RR(K,6B+[NKTKV+:6$;4JP@[G:8S8DN?G!EOE M\SF@FE'&U=4*\0R/S8/_'4 =K@$,A80_^_@<3O_Y_.:&?=SP'NE+_&S(%8KN M%7K=W3_V__C[ZJE/'FX>KDCO_LM#]^Z?!)3(;HK_[MY^[?9O[N](]^Z2_.MK M]_;F^I^;N\^DV^O=?[WK/XDSVP^7MFEJC@O2D'@C>^)JUL#]+7-,[2R5K-?Q MVZ>GR0N,_KY)*G'I'"V0.I$"B9QQ/2O8AKE"R?:R0'^;?G;'FC[][.]Z0\/B M3ZLL:XY\[]YYPPE6U+ &U.)JXAL_Y8#AYA&#@RX# MM+9^KZB;M;UL2\(NS!HDP(5F:I9.B>:1"PHC,CN%Z05@JACVP&?_U"@663,U MAHRX1GR->F S?J,#XMG$+^S#&[6P?#=<'Q'6YQ(T'M^!,'3L%_)(0=W[07%Q MA%B<.0%W!5PCA&@3,<=@<;/,.ZJ!+]T_5'/8HH'HNZ0ZKQ_N4[&FP+N#AO5I MJIYF@_IT!S^;6DCI0C%\AIK%0[)Z!JZ$""^"*R'*B^!*[/$B(D82BK7_1D45 M=DW3?N6ZU-!V^(F:-YR81 N<%J6)-HP)L5)S;AG;6VT[/H0/#8Y9DDO8L\0\(%.W="F1E5AZKU,?S(B,W*J5C MU5N:-X@#5TO?[MFNQ]H8O8VIY>X&ZF9F@2@(Z@."^D,HPDMAT)L>Z[S&ZHK&0C]9H2Z(@A/[*.N-&1!)#LZ$G=H+K=X-%GU MC9LI6(BV:.;0(74 =D&1=N)I;T1S75I8>V?3X+G+C-;^)L[J9??#RV A^]I; MEZ]?OB*$M:K,JL)UB=1#X=$;E?BQNT*8$9"WM'K^1QU[H+FC94Q7$<^%Q'.L MA1.5Z"$\H/&IJ5@V0T. I!(>L9Y"6+.]OXQ1 7VE([4Z.3)%-'8@$\8*; MS]^27Z%F\QB<2"8305L\E: >&8-Z1#TVQY7 E1#Q!7 E1'D!#.H1>?_%H!XQ M+4AUU8)4.L4_)6O+6952*I%#L%C(75.&>*E(1MX@3BVHIUXYK]>RZA2&H,[' MY=V2HZL/BX;J/7W<]#8Q!%MF_?02.1 SJ*=HA640@X+8F M3@$.R9J2HF95)+E$ZJ'PZ%U3KGA'A5#,H)Y8JT>MH]533%C'&CIKJA2+C>L] M[1ZEEF/8)=H]XG%('(-T,!:Y4+8/QO;@1#"V1]38'J6#L3VBGI[C2N!*B/@" MN!*BO #&]HB\_V)LCY 6I*)$.+[;!3\LJX/)V$2'8,F1JZXZ!Y7.U#DH2H!: MF@5[:HJ*H"X^J.-]0Q%%ED__81.!(Q MMJ=@AV1*1#S@MB9. 0[).E*])DC5+T1OBNAMIJH0%BVVAUD]]0;"NI"PCC5T M(F+6Q,?UOG5[I&8C1Q,>+1_Q>"2.1=H8E)R'];.V-_12]UCL#)U*9^BG1)VA M%6P,C8VA3[-L##U;NHN_HKN/KK: "[YQ?%+!5V%#YOV@$(6$X)5]61'QEM,^ MU;._;SW?=_M?'JX5>P=F([HS>_3\3US.&[\LO_S!QW GB-*'/K?B>'0%\8UC(.>*-]J_2DK-6([1&E\&/S&?F/7P^\3$+X&S/+J31]I MUC=*NKK'?E8ZM;H4#/K-<#V'/6:DN60P,=^)KDU*7%A MNO #4W-@"L]TI)E#\OS.!P))2AW_ CZR0R<6W,4'U";>R': )O"3;?'+E>:9 M.YF2=\E-Z=GC4R[R A&NJ,"N,\(RMO1&9Q]A@&#!!MH[>ZTOFJ./6)$O]21C MH&S='CF]D!;9=ZMRJ>%K/F'+9FWGW-E>BVYW/K,3=W7R,\ #TVW:UL?W/@F@_N;Y^T(@?(^XT.M*@7[\M+ M-S^IQ?;_O__GE M_J[_>/_TM.[2U?\M,K!S7 ZF/^B &J8Z!%-^/O\"XSC3YM9(U]WH>@FJB.[9 MCD0>'.H:[.Q,XGW#>R.##A<(?O4&FHAG_* +W]X/AX9.G0VK$%KSOBH\L^A1 M 4RLY,VT.*;A/5-JA8K<,S7MUU"!&]K,,P3Z"1F#(F=;+E/5 ATO>-B@V?@F$- * >ZGFYZWE;;ID+R@>0M9ZYF(;?-&_BT"AYD%1KDD\: M&X7HGH1I9TV8ON&9D439>JMZ,08#DRZM\38;SL( 26B]80+M'37^A^Z)\&7]U^Z=[MKA8F4A1T6;H&"*7/ KU"I2)0)#0#+K'" MW>?"UIS!8;@@2X9^-&";9B\RIPMU3Q8^\J=M*0A%84X4.@(+G51MT-)(FV@3 MQI_RU';Q/TZ-EO3,QCR4K:ULXL*O\X>Q8UBZ,=9,?WIT<4UM?TU_0P6KD,9# MC+CK=A_O W7J[YO;OV[NBBSM4HR0#AT,3]0R[*"$PK^!!_R_YH3AG""\-BP- MF"CDH4 0^N+2=L:V V9_L,E0W:&>YJRX= LF);N:8UL+4O)OP_QN6,+ MZ\W6.4CL-:QO*0O.U77>C42IT#?5(Y="ODXI5-TOS+Z^NO4_] +[^OJQ>_=T MCQ:V770-]@LSHJFY()U[BT;TM:-9KKVM&9T_]Z%2F3>^XC3*+]V[RZ[_]VT@ M5/[Z>GOUU$694G29TH61!MJ"#+E=%"E_34SJ:D67**B>""!(_KJZZ?\1./T# M.7+;?43=I 1RY"]JL%/K>7_^HABYU9P2*"8H1@00(W_>_Q%(C'X@11ZZ3V#X MW*(8*;H8^=,>+7J?^HM2Y$%SP08RQ14C.8=NS>5EP^SE"D"?P(F&.%_.OLX\E[,\Y_^/U!+ 0(4 Q0 ( M #R"<%1W>^V9W0( (1 - " 0 !E>%\S,S%\S,S>/:[! IQ( T ( !IA< M &5X7S,S-S0Q,"YH=&U02P$"% ,4 " \@G!4]D,@;MH$ O$P #0 M @ &,' 97A?,S,W-#$Q+FAT;5!+ 0(4 Q0 ( #R"<%3U MFEBY^A )M1 - " 9$A !E>%\S-#$V,S$N:'1M4$L! M A0#% @ /()P5*B\:G_'-D4$L! A0#% @ /()P5'8L M\6-O%0 \FH! !4 ( !,^< &YW<'@M,C R,3$R,S%?8V%L M+GAM;%!+ 0(4 Q0 ( #R"<%0W<.X"TR,#(Q,3(S,5]L86(N M>&UL4$L! A0#% @ /()P5$FJZFEH;@ &.T) !4 ( ! M/_T! &YW<'@M,C R,3$R,S%?<')E+GAM;%!+ 0(4 Q0 ( #R"<%3BAN7( M^VT" '=X'P 4 " =IK @!N=W!X,C R,3$R,S%?,3!K+FAT 7;5!+!08 #@ . &,# 'V@0 ! end

-8?20$3;8T.P6BP^0"X99K>]9!:G)%(0^0D \>T"T*O'SGR][[JOXEM3M_WY;&/M]N5\WI<;UST].V/E_2<)(.>S_ PNN-*FMZZ$N[X$ MQ@<%A7='@^VN=&V5N916O3?=L-7M>KP,_(HY^AFN'O:ONTI\:?Y/-7:KE2[5 M95<.C6KMKAZ-JD? MM_H;3\3K6S4^6Q?1+QI*_&NM5!)XKK=70K*CK\4;GU= M[7ZU!5Q4A^:EA@_,=>7 CP=Y <==K2NX>R66(\3XA5YT*W&S509!Q@1D/!GD M1==L$61"0":,D&]E+=M2"==->P28$H#I9(#BY%8BR(R S"9KZJ7M2@29$Y#Y MA)!?8@2Y(" 7TSTTLM\@R(* +":$]&KR!0'YXKB0'T&$(A*GXL:L9:M_/!N^ MSZCQ^XP!+@:XY= TTGQWG5"O6PW?EZW%F*1FCNP9AYD YMNAUZWJ^W'DOM?M MKB2FI#P3'5DTCC(%RNOV 4I"U*(\-DHOT9']XM@R8(/ #,P,P80C(GG&8"\"\,*K2$*.M MC5)/ZY%23'1DQSC @#_5++W>R$EE>C(5G%8+P#K2FHC/LMZ4.(#$ [F6>U1 M6HF.[)7=D'T&G)?*Z 8E%@B%K.,:OFDK-Y5H;B%R RW=TSI M)>;02^3\LI%&G=Y#9ZQB#"LQIAD M'L/AERAU[0V"&10&H^02<\@ERISYRJY1XDY^\P:=F')*S.&4:)3*FQ(*#[4+ M%V_L1IFQO3$FY928PRG1*)6E6KM'^7"Z'U->B3F\$HUB^6N0QBI3?Q>7TDIQ M\G:0#'F)1GXB-[!D7:8]_L!AAL MVK6XA9RF]&/'F/),S.&94)+@I5D))9N$0S;!)$%@3$HV"8=LGF0)XN1. D7_ M&X:D5)-PJ":4+OA-3DZ:<8@GE"[XF)2!$@X#_8K&#[8VI9Z$0SVAL-RO1DH^ M"8M\ M&DCTG))^%(\D+/G-TWCM(";EG80EOPD$;EY[IY1W4I8D M)Q"XB1.,27DG94ER J&;7YN4>=(CFX<,W7Q,RCPI2\KS9%97G%PJ*W7M!1LI MN6C#89Y@Z)9@3$I *8> @I@IQJ0$E'((*(B984Q*0"F'@$*!L/\(419*.2P4 MQ/3Z)F6AE,-"04S<-S/*0MF4V8_7-S/*0MD4V8^;=]MVK<+S'!EEH6S2_ ?W MS8RR4#;EJH[?-RD+95.NZOBU26X>X+!0$-.K3%@IC>DTY9*..PT*$U MLEV4A#$I"V4<%L*Y^3Z$NU/?K#=5F%$6RC@LA##_>_-)E9W!$Z\Y9:&$ M8DS*0CG+9%QHSM!K=,I".K[TM,0O*0@L6"SU?(OC9[AB3LM""Q4+/,/>'&)/<3,UB MH0.8NXE$C$E9:#'-NM"I>+=:J=+KFY2%%BP6"M2F-[P7E(4*%@N%,''H45 6 M*E@L%%IE\S I"Q4L%@IAX@BIH"Q4L%@HA(DCI(*R4#'EGK@O.<:D+%1,N2=. MG&),RD+%E+OB_$>(LE QY:XX'Y/\4X^ST-P5[E^_JM1*MZKZ"+?HX7PIZ_+6 MB/%EO%(4I]FX27HUU/4%G+MI_^QDM?]'Y?[?H*__!5!+ P04 " \@G!4 MPR792)0" #?,P &@ 'AL+U]R96QS+W=OQ[VAVY8?)Z.YV%=[<>Q^U77PV9?3LWPT';E?+FR;?M3 M,UZ6_:[NFLU[LRNU+)=>]_$.Q#('9#N0&!W0+P#@=Z">@N! MWH)Z"X'>,GG9)M!;4&\AT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;4&\A MT%M1;R706U%O)=!;46\ET%LG'TL(]%;46PGT5M1;"?16U%L)]%;46PGT5M1; M"?16U%L)](ZH=R30.Z+>D4#OB'I' KTCZAT)](Z3C]T$>D?4.Q+H'5'O2*!W M1+TC@=X1]8X$>D?4.Q+H;:BW$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&V3GY4$ M>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$ M>COJ[01Z^V2S"8'>CGH[@=Z.>CN!WHYZ.X'>"?5.!'HGU#L1Z)U0[T2@=T*] M$X'>"?5.!'HGU#L1Z)U0[T2@=YIL%B30.Z'>B4#OA'HG KTSZIT)],ZH=R;0 M.Z/>F4#OC'IG KTSZIT)],ZH=R;0.Z/>F4#OC'IG KWS9+/W3^H]C%_',MQZ MOM?X_)^D>KS<6VZ/ORZ_3Z*$JRO.]7W%\/074$L#!!0 ( #R"<%2-G,NK M- ( %8R 3 6T-O;G1E;G1?5'EP97-=+GAM;,W;36[;,!"&X:L8V@:6 M+%*DU"+.INVVS:(78"4Z%JP_D$SJW+Z4G 1HD1H)7*#OQH)-F][X]-QLD-[,?1=67X[Q9]^.PS9QMO/)ZM-IXYRU3DSOSA_*7,N M,.Z\=>/DX\2P\[<8V;\R.U_MS=(=E M'CY;'I??\>\S?JG_SCX$I \)Z:. ]*$@?6A('R6DCPK2QP=('_F&T@A%U)Q" M:DXQ-:>@FE-4S2FLYA17&UL4$L! A0#% @ /()P5#FH MXV#O *P( !$ ( !KP &1O8U!R;W!S+V-O&UL M4$L! A0#% @ /()P5)E&PO=V]R:W-H965T&UL M4$L! A0#% @ /()P5+%2(T"&! +!$ !@ ("!;@X M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P M5.[WG>7B @ _0D !@ ("!7QT 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ /()P5#O0S#[W" NB< !@ M ("!\RD 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5+?Q MSBJQ!P :!4 !D ("!;D\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5&&I4S]3! :0D !D M ("!U5T 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ /()P5!OB'X(2!0 ;0L !D ("! MX&P 'AL+W=O&PO=V]R:W-H965T)V !X;"]W;W)K&UL4$L! A0#% M @ /()P5-V2>A0W!0 H@P !D ("!PWH 'AL+W=O&PO=V]R:W-H965T8 !X;"]W;W)K&UL4$L! A0#% @ /()P5%&JHYEN! 7PH !D M ("!9I\ 'AL+W=O&UL M4$L! A0#% @ /()P5.[CS<.$ P Y0< !D ("!J+\ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M/()P5 R9!"+G @ _04 !D ("!\LH 'AL+W=OO1 !X;"]W M;W)K&UL4$L! A0#% @ /()P5",FRE/( @ MCP8 !D ("!4=< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5&[-I"WD!0 4 \ !D M ("!Z^ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ /()P5+CAOM<@! X0D !D ("!8N\ 'AL M+W=O_(" M #N!@ &0 @(&Y\P >&PO=V]R:W-H965T+V !X;"]W;W)K&UL4$L! A0#% @ /()P M5'I*]="*!@ *" !D ("!*?D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5/!V;.?B P X0T M !D ("!I0@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5"6VP2M[ @ -08 !D M ("!:Q8! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ /()P5".9@ Z* P W P !D ("!+1X! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5($D M2&5W @ VP8 !D ("!CR@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5 W2.;5] P /PH !D M ("!.3(! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ /()P5'1K"B!M @ 8P< !D ("! MS#T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ /()P5'&PO=V]R:W-H965T 9 " @6M0 0!X M;"]W;W)K&UL4$L! A0#% @ /()P5(078NJV M @ [P< !D ("!+E&PO=V]R:W-H965T 0!X;"]W;W)K&UL4$L! A0#% @ /()P5&E(QRU0 P ^ D !D M ("!L&(! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ /()P5#S'PX!< P I@P !D ("!7VP! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M/()P5(=CC3E6 P @ L !D ("!1'@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5)\(<>.D @ M1P< !D ("!-(,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ /()P5(UK03E5! ]A$ !D M ("!>8L! 'AL+W=OX1]E5D% !L%P &0 @($%D $ >&PO=V]R:W-H M965T&UL4$L! M A0#% @ /()P5.RSN578!0 ?QH !D ("!*9T! 'AL M+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ !@ & 5QH ,JV 0 $! end XML 105 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 106 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 107 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.0.1 html 277 513 1 true 75 0 false 8 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.nwpipe.com/20211231/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Statements of Operations Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations Consolidated Statements of Operations Statements 2 false false R3.htm 002 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income Consolidated Statements of Comprehensive Income Statements 3 false false R4.htm 003 - Statement - Consolidated Balance Sheets Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets Consolidated Balance Sheets Statements 4 false false R5.htm 004 - Statement - Consolidated Balance Sheets (Parentheticals) Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals Consolidated Balance Sheets (Parentheticals) Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Stockholders' Equity Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity Consolidated Statements of Stockholders' Equity Statements 6 false false R7.htm 006 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals) Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals Consolidated Statements of Stockholders' Equity (Parentheticals) Statements 7 false false R8.htm 007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows Consolidated Statements of Cash Flows Statements 8 false false R9.htm 008 - Statement - Consolidated Statements of Cash Flows (Parentheticals) Sheet http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals Consolidated Statements of Cash Flows (Parentheticals) Statements 9 false false R10.htm 009 - Disclosure - Note 1 - Organization Sheet http://www.nwpipe.com/20211231/role/statement-note-1-organization Note 1 - Organization Notes 10 false false R11.htm 010 - Disclosure - Note 2 - Summary of Significant Accounting Policies Sheet http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies Note 2 - Summary of Significant Accounting Policies Notes 11 false false R12.htm 011 - Disclosure - Note 3 - Business Combinations Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations Note 3 - Business Combinations Notes 12 false false R13.htm 012 - Disclosure - Note 4 - Inventories Sheet http://www.nwpipe.com/20211231/role/statement-note-4-inventories Note 4 - Inventories Notes 13 false false R14.htm 013 - Disclosure - Note 5 - Property and Equipment Sheet http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment Note 5 - Property and Equipment Notes 14 false false R15.htm 014 - Disclosure - Note 6 - Goodwill and Intangible Assets Sheet http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets- Note 6 - Goodwill and Intangible Assets Notes 15 false false R16.htm 015 - Disclosure - Note 7 - Credit Agreement Sheet http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement Note 7 - Credit Agreement Notes 16 false false R17.htm 016 - Disclosure - Note 8 - Leases Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases Note 8 - Leases Notes 17 false false R18.htm 017 - Disclosure - Note 9 - Fair Value Measurements Sheet http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements Note 9 - Fair Value Measurements Notes 18 false false R19.htm 018 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities Sheet http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities Note 10 - Derivative Instruments and Hedging Activities Notes 19 false false R20.htm 019 - Disclosure - Note 11 - Retirement Plans Sheet http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans Note 11 - Retirement Plans Notes 20 false false R21.htm 020 - Disclosure - Note 12 - Share-based Compensation Sheet http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation Note 12 - Share-based Compensation Notes 21 false false R22.htm 021 - Disclosure - Note 13 - Commitments and Contingencies Sheet http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies Note 13 - Commitments and Contingencies Notes 22 false false R23.htm 022 - Disclosure - Note 14 - Revenue Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue Note 14 - Revenue Notes 23 false false R24.htm 023 - Disclosure - Note 15 - Income Taxes Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes Note 15 - Income Taxes Notes 24 false false R25.htm 024 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss Note 16 - Accumulated Other Comprehensive Loss Notes 25 false false R26.htm 025 - Disclosure - Note 17 - Segment Information Sheet http://www.nwpipe.com/20211231/role/statement-note-17-segment-information Note 17 - Segment Information Notes 26 false false R27.htm 026 - Disclosure - Note 18 - Quarterly Data (Unaudited) Sheet http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited Note 18 - Quarterly Data (Unaudited) Notes 27 false false R28.htm 027 - Disclosure - Schedule II - Valuation and Qualifying Accounts Sheet http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts Schedule II - Valuation and Qualifying Accounts Notes 28 false false R29.htm 028 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies Significant Accounting Policies (Policies) Policies http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies 29 false false R30.htm 029 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables Note 2 - Summary of Significant Accounting Policies (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies 30 false false R31.htm 030 - Disclosure - Note 3 - Business Combinations (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables Note 3 - Business Combinations (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations 31 false false R32.htm 031 - Disclosure - Note 4 - Inventories (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables Note 4 - Inventories (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-4-inventories 32 false false R33.htm 032 - Disclosure - Note 5 - Property and Equipment (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables Note 5 - Property and Equipment (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment 33 false false R34.htm 033 - Disclosure - Note 6 - Goodwill and Intangible Assets (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables Note 6 - Goodwill and Intangible Assets (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets- 34 false false R35.htm 034 - Disclosure - Note 8 - Leases (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables Note 8 - Leases (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-8-leases 35 false false R36.htm 035 - Disclosure - Note 9 - Fair Value Measurements (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables Note 9 - Fair Value Measurements (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements 36 false false R37.htm 036 - Disclosure - Note 12 - Share-based Compensation (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables Note 12 - Share-based Compensation (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation 37 false false R38.htm 037 - Disclosure - Note 14 - Revenue (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables Note 14 - Revenue (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-14-revenue 38 false false R39.htm 038 - Disclosure - Note 15 - Income Taxes (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables Note 15 - Income Taxes (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes 39 false false R40.htm 039 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables Note 16 - Accumulated Other Comprehensive Loss (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss 40 false false R41.htm 040 - Disclosure - Note 17 - Segment Information (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables Note 17 - Segment Information (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-17-segment-information 41 false false R42.htm 041 - Disclosure - Note 18 - Quarterly Data (Unaudited) (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables Note 18 - Quarterly Data (Unaudited) (Tables) Tables http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited 42 false false R43.htm 042 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) Sheet http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables Schedule II - Valuation and Qualifying Accounts (Tables) Tables http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts 43 false false R44.htm 043 - Disclosure - Note 1 - Organization (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual Note 1 - Organization (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-1-organization 44 false false R45.htm 044 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual Note 2 - Summary of Significant Accounting Policies (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables 45 false false R46.htm 045 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details) Details 46 false false R47.htm 046 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Details 47 false false R48.htm 047 - Disclosure - Note 3 - Business Combinations (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual Note 3 - Business Combinations (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables 48 false false R49.htm 048 - Disclosure - Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details) Details 49 false false R50.htm 049 - Disclosure - Note 3 - Business Combinations - Intangible Assets Acquired (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details Note 3 - Business Combinations - Intangible Assets Acquired (Details) Details 50 false false R51.htm 050 - Disclosure - Note 3 - Business Combinations - Pro Forma Summary (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details Note 3 - Business Combinations - Pro Forma Summary (Details) Details 51 false false R52.htm 051 - Disclosure - Note 4 - Inventories - Components of Inventories (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details Note 4 - Inventories - Components of Inventories (Details) Details 52 false false R53.htm 052 - Disclosure - Note 5 - Property and Equipment (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual Note 5 - Property and Equipment (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables 53 false false R54.htm 053 - Disclosure - Note 5 - Property and Equipment - Property, Plant and Equipment (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details Note 5 - Property and Equipment - Property, Plant and Equipment (Details) Details 54 false false R55.htm 054 - Disclosure - Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details) Details 55 false false R56.htm 055 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details) Details 56 false false R57.htm 056 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details) Details 57 false false R58.htm 057 - Disclosure - Note 7 - Credit Agreement (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual Note 7 - Credit Agreement (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement 58 false false R59.htm 058 - Disclosure - Note 8 - Leases (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual Note 8 - Leases (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables 59 false false R60.htm 059 - Disclosure - Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details) Details 60 false false R61.htm 060 - Disclosure - Note 8 - Leases - Lease Cost (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details Note 8 - Leases - Lease Cost (Details) Details 61 false false R62.htm 061 - Disclosure - Note 8 - Leases - Future Maturities of Lease Liabilities (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details Note 8 - Leases - Future Maturities of Lease Liabilities (Details) Details 62 false false R63.htm 062 - Disclosure - Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details) Details 63 false false R64.htm 063 - Disclosure - Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details) Details 64 false false R65.htm 064 - Disclosure - Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) Details 65 false false R66.htm 065 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual Note 10 - Derivative Instruments and Hedging Activities (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities 66 false false R67.htm 066 - Disclosure - Note 11 - Retirement Plans (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual Note 11 - Retirement Plans (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans 67 false false R68.htm 067 - Disclosure - Note 12 - Share-based Compensation (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual Note 12 - Share-based Compensation (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables 68 false false R69.htm 068 - Disclosure - Note 12 - Share-based Compensation - Share-based Compensation Expense (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details Note 12 - Share-based Compensation - Share-based Compensation Expense (Details) Details 69 false false R70.htm 069 - Disclosure - Note 12 - Share-based Compensation - RSU and PSA Activity (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details Note 12 - Share-based Compensation - RSU and PSA Activity (Details) Details 70 false false R71.htm 070 - Disclosure - Note 13 - Commitments and Contingencies (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual Note 13 - Commitments and Contingencies (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies 71 false false R72.htm 071 - Disclosure - Note 14 - Revenue 1 (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual Note 14 - Revenue 1 (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables 72 false false R73.htm 072 - Disclosure - Note 14 - Revenue 2 (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual Note 14 - Revenue 2 (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables 73 false false R74.htm 073 - Disclosure - Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details) Details 74 false false R75.htm 074 - Disclosure - Note 14 - Revenue - Disaggregation of Revenue (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details Note 14 - Revenue - Disaggregation of Revenue (Details) Details 75 false false R76.htm 075 - Disclosure - Note 15 - Income Taxes (Details Textual) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual Note 15 - Income Taxes (Details Textual) Details http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables 76 false false R77.htm 076 - Disclosure - Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details) Details 77 false false R78.htm 077 - Disclosure - Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details) Details 78 false false R79.htm 078 - Disclosure - Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details) Details 79 false false R80.htm 079 - Disclosure - Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details) Details 80 false false R81.htm 080 - Disclosure - Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details) Details 81 false false R82.htm 081 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) Details 82 false false R83.htm 082 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals) Details 83 false false R84.htm 083 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Details 84 false false R85.htm 084 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Details 85 false false R86.htm 085 - Disclosure - Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Details 86 false false R87.htm 086 - Disclosure - Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details) Sheet http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details) Details http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables 87 false false R88.htm 087 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Sheet http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Details 88 false false All Reports Book All Reports nwpx20211231_10k.htm ex_337402.htm ex_337407.htm ex_337408.htm ex_337409.htm ex_337410.htm ex_337411.htm ex_341631.htm nwpx-20211231.xsd nwpx-20211231_cal.xml nwpx-20211231_def.xml nwpx-20211231_lab.xml nwpx-20211231_pre.xml graph01.jpg http://fasb.org/srt/2021-01-31 http://fasb.org/us-gaap/2021-01-31 http://xbrl.sec.gov/dei/2021q4 true true JSON 110 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "nwpx20211231_10k.htm": { "axisCustom": 0, "axisStandard": 35, "contextCount": 277, "dts": { "calculationLink": { "local": [ "nwpx-20211231_cal.xml" ] }, "definitionLink": { "local": [ "nwpx-20211231_def.xml" ] }, "inline": { "local": [ "nwpx20211231_10k.htm" ] }, "labelLink": { "local": [ "nwpx-20211231_lab.xml" ] }, "presentationLink": { "local": [ "nwpx-20211231_pre.xml" ] }, "schema": { "local": [ "nwpx-20211231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/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", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.sec.gov/currency/2021/currency-2021.xsd", "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd", "https://xbrl.sec.gov/exch/2021/exch-2021.xsd", "https://xbrl.sec.gov/naics/2021/naics-2021.xsd", "https://xbrl.sec.gov/sic/2021/sic-2021.xsd", "https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd" ] } }, "elementCount": 649, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 44, "http://www.nwpipe.com/20211231": 18, "http://xbrl.sec.gov/dei/2021q4": 6, "total": 68 }, "keyCustom": 57, "keyStandard": 456, "memberCustom": 21, "memberStandard": 54, "nsprefix": "nwpx", "nsuri": "http://www.nwpipe.com/20211231", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "role": "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 1 - Organization", "role": "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "shortName": "Note 1 - Organization", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 2 - Summary of Significant Accounting Policies", "role": "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "shortName": "Note 2 - Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 3 - Business Combinations", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "shortName": "Note 3 - Business Combinations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 4 - Inventories", "role": "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "shortName": "Note 4 - Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 5 - Property and Equipment", "role": "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "shortName": "Note 5 - Property and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 6 - Goodwill and Intangible Assets", "role": "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "shortName": "Note 6 - Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 7 - Credit Agreement", "role": "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "shortName": "Note 7 - Credit Agreement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:LesseeLeaseDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 8 - Leases", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "shortName": "Note 8 - Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:LesseeLeaseDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Note 9 - Fair Value Measurements", "role": "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "shortName": "Note 9 - Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities", "role": "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "shortName": "Note 10 - Derivative Instruments and Hedging Activities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Statements of Operations", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "shortName": "Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 11 - Retirement Plans", "role": "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "shortName": "Note 11 - Retirement Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 12 - Share-based Compensation", "role": "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "shortName": "Note 12 - Share-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 13 - Commitments and Contingencies", "role": "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "shortName": "Note 13 - Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 14 - Revenue", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "shortName": "Note 14 - Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 15 - Income Taxes", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "shortName": "Note 15 - Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "shortName": "Note 16 - Accumulated Other Comprehensive Loss", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 17 - Segment Information", "role": "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "shortName": "Note 17 - Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Note 18 - Quarterly Data (Unaudited)", "role": "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "shortName": "Note 18 - Quarterly Data (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Schedule II - Valuation and Qualifying Accounts", "role": "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "shortName": "Schedule II - Valuation and Qualifying Accounts", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Significant Accounting Policies (Policies)", "role": "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies", "shortName": "Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Statements of Comprehensive Income", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:ComprehensiveIncomeNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "nwpx:AccruedLiabilitiesPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "shortName": "Note 2 - Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "nwpx:AccruedLiabilitiesPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 3 - Business Combinations (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "shortName": "Note 3 - Business Combinations (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 4 - Inventories (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "shortName": "Note 4 - Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 5 - Property and Equipment (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "shortName": "Note 5 - Property and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 6 - Goodwill and Intangible Assets (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "shortName": "Note 6 - Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:LesseeLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 8 - Leases (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "shortName": "Note 8 - Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:LesseeLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 9 - Fair Value Measurements (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "shortName": "Note 9 - Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 12 - Share-based Compensation (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "shortName": "Note 12 - Share-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 14 - Revenue (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "shortName": "Note 14 - Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 15 - Income Taxes (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "shortName": "Note 15 - Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Balance Sheets", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "shortName": "Note 16 - Accumulated Other Comprehensive Loss (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 17 - Segment Information (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "shortName": "Note 17 - Segment Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 18 - Quarterly Data (Unaudited) (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "shortName": "Note 18 - Quarterly Data (Unaudited) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:SummaryOfValuationAndQualifyingAccountsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables)", "role": "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "shortName": "Schedule II - Valuation and Qualifying Accounts (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "nwpx:SummaryOfValuationAndQualifyingAccountsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 1 - Organization (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual", "shortName": "Note 1 - Organization (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "shortName": "Note 2 - Summary of Significant Accounting Policies (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "lang": null, "name": "us-gaap:ForeignCurrencyTransactionGainLossRealized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "nwpx:AccruedLiabilitiesPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedBonusesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "shortName": "Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "nwpx:AccruedLiabilitiesPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedBonusesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "046 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "shortName": "Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "047 - Disclosure - Note 3 - Business Combinations (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "shortName": "Note 3 - Business Combinations (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-10-05_BusinessAcquisitionAxis-ParkEnvironmentalEquipmentLlcMember", "decimals": "0", "lang": null, "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "048 - Disclosure - Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "shortName": "Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-10-05_BusinessAcquisitionAxis-ParkEnvironmentalEquipmentLlcMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R5": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Balance Sheets (Parentheticals)", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "shortName": "Consolidated Balance Sheets (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-05_2021-10-05_BusinessAcquisitionAxis-ParkEnvironmentalEquipmentLlcMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "049 - Disclosure - Note 3 - Business Combinations - Intangible Assets Acquired (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "shortName": "Note 3 - Business Combinations - Intangible Assets Acquired (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-05_2021-10-05_BusinessAcquisitionAxis-ParkEnvironmentalEquipmentLlcMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-ParkusaAndGenevaMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "050 - Disclosure - Note 3 - Business Combinations - Pro Forma Summary (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "shortName": "Note 3 - Business Combinations - Pro Forma Summary (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-ParkusaAndGenevaMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "051 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details", "shortName": "Note 4 - Inventories - Components of Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "052 - Disclosure - Note 5 - Property and Equipment (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "shortName": "Note 5 - Property and Equipment (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31_StatementGeographicalAxis-MX", "decimals": "-5", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "053 - Disclosure - Note 5 - Property and Equipment - Property, Plant and Equipment (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details", "shortName": "Note 5 - Property and Equipment - Property, Plant and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "054 - Disclosure - Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "shortName": "Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-ParkEnvironmentalEquipmentLlcMember", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "055 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "shortName": "Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "056 - Disclosure - Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "shortName": "Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "nwpx:InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "057 - Disclosure - Note 7 - Credit Agreement (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual", "shortName": "Note 7 - Credit Agreement (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "nwpx:InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "058 - Disclosure - Note 8 - Leases (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual", "shortName": "Note 8 - Leases (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Stockholders' Equity", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "shortName": "Consolidated Statements of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "059 - Disclosure - Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "shortName": "Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:LesseeLeaseAssetsAndLiabilitiesTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "lang": null, "name": "nwpx:LeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "060 - Disclosure - Note 8 - Leases - Lease Cost (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details", "shortName": "Note 8 - Leases - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:LesseeLiabilityMaturityTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "061 - Disclosure - Note 8 - Leases - Future Maturities of Lease Liabilities (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "shortName": "Note 8 - Leases - Future Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:LesseeLiabilityMaturityTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "nwpx:LeaseTermsAndDiscountRatesForLeaseLiabilitiesTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "062 - Disclosure - Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "shortName": "Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "nwpx:LeaseTermsAndDiscountRatesForLeaseLiabilitiesTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:OtherInformationRelatedToOperatingAndFinanceLeasesTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "063 - Disclosure - Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "shortName": "Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:OtherInformationRelatedToOperatingAndFinanceLeasesTableTextBlock", "nwpx:LesseeLeaseDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredCompensationPlanAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "064 - Disclosure - Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "shortName": "Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredCompensationPlanAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeForwardMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:UnrealizedLossOnForeignCurrencyDerivativesBeforeTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "065 - Disclosure - Note 10 - Derivative Instruments and Hedging Activities (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual", "shortName": "Note 10 - Derivative Instruments and Hedging Activities (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_DerivativeInstrumentRiskAxis-ForeignExchangeForwardMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:UnrealizedLossOnForeignCurrencyDerivativesBeforeTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "nwpx:RetirementPlanExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "066 - Disclosure - Note 11 - Retirement Plans (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "shortName": "Note 11 - Retirement Plans (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-5", "first": true, "lang": null, "name": "nwpx:RetirementPlanExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "067 - Disclosure - Note 12 - Share-based Compensation (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "shortName": "Note 12 - Share-based Compensation (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "068 - Disclosure - Note 12 - Share-based Compensation - Share-based Compensation Expense (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "shortName": "Note 12 - Share-based Compensation - Share-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "006 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals", "shortName": "Consolidated Statements of Stockholders' Equity (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R70": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31_AwardTypeAxis-RestrictedStockUnitsAndPerformanceStockAwardsMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "069 - Disclosure - Note 12 - Share-based Compensation - RSU and PSA Activity (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "shortName": "Note 12 - Share-based Compensation - RSU and PSA Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31_AwardTypeAxis-RestrictedStockUnitsAndPerformanceStockAwardsMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-7", "first": true, "lang": null, "name": "nwpx:OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "070 - Disclosure - Note 13 - Commitments and Contingencies (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "shortName": "Note 13 - Commitments and Contingencies (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-7", "first": true, "lang": null, "name": "nwpx:OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-6", "first": true, "lang": null, "name": "nwpx:IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "071 - Disclosure - Note 14 - Revenue 1 (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual", "shortName": "Note 14 - Revenue 1 (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-6", "first": true, "lang": null, "name": "nwpx:IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-01-01", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "072 - Disclosure - Note 14 - Revenue 2 (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual", "shortName": "Note 14 - Revenue 2 (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2022-01-01", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R74": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "073 - Disclosure - Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "shortName": "Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_StatementGeographicalAxis-US", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "074 - Disclosure - Note 14 - Revenue - Disaggregation of Revenue (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "shortName": "Note 14 - Revenue - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_TimingOfTransferOfGoodOrServiceAxis-TransferredOverTimeMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "075 - Disclosure - Note 15 - Income Taxes (Details Textual)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "shortName": "Note 15 - Income Taxes (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "076 - Disclosure - Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "shortName": "Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "077 - Disclosure - Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "shortName": "Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "078 - Disclosure - Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "shortName": "Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "007 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "nwpx:DepreciationAndFinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "079 - Disclosure - Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "shortName": "Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "080 - Disclosure - Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "shortName": "Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2018-12-31", "decimals": "-4", "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "081 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "shortName": "Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R83": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "082 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals)", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "shortName": "Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R84": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "083 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "shortName": "Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_StatementEquityComponentsAxis-AccumulatedDefinedBenefitPlansAdjustmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OciBeforeReclassificationsNetOfTaxAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R85": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "084 - Disclosure - Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "shortName": "Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis-ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember", "decimals": "-3", "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R86": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "085 - Disclosure - Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "shortName": "Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R87": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "d_2021-10-01_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "086 - Disclosure - Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "shortName": "Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R88": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:SummaryOfValuationAndQualifyingAccountsTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2020-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "087 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)", "role": "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "shortName": "Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "nwpx:SummaryOfValuationAndQualifyingAccountsTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "nwpx20211231_10k.htm", "contextRef": "i_2018-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember", "decimals": "-4", "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R9": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "008 - Statement - Consolidated Statements of Cash Flows (Parentheticals)", "role": "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals", "shortName": "Consolidated Statements of Cash Flows (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null } }, "segmentCount": 75, "tag": { "country_CA": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CANADA" } } }, "localname": "CA", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details" ], "xbrltype": "domainItemType" }, "country_MX": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "MEXICO" } } }, "localname": "MX", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "internationalNameItemType" }, "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "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": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r732" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information", "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r733" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r727" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r757" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information", "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r726" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r728" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "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/2021q4", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "nwpx_AccruedLiabilitiesPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about accrued liabilities Policy.", "label": "Accrued Liabilities [Policy Text Block]" } } }, "localname": "AccruedLiabilitiesPolicyTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "nwpx_AccruedLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Carrying value of liabilities incurred and payable as of the balance sheet date.", "label": "Accrued Liability [Member]" } } }, "localname": "AccruedLiabilityMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "domainItemType" }, "nwpx_AccumulatedOtherComprehensiveIncomeLossCumulativeChangeInNetGainLossFromCashFlowHedgeEffectTax": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Tax expense (benefit) included in accumulated other comprehensive income for cash flow hedges.", "label": "nwpx_AccumulatedOtherComprehensiveIncomeLossCumulativeChangeInNetGainLossFromCashFlowHedgeEffectTax", "terseLabel": "Unrealized gain (loss) on cash flow hedges, tax effect" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossCumulativeChangeInNetGainLossFromCashFlowHedgeEffectTax", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals" ], "xbrltype": "monetaryItemType" }, "nwpx_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansTaxExpenseBenefit": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Tax expense (benefit) included in accumulated other comprehensive income for defined benefit pension and other postretirement plans.", "label": "nwpx_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansTaxExpenseBenefit", "terseLabel": "Pension liability adjustment, tax effect" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansTaxExpenseBenefit", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals" ], "xbrltype": "monetaryItemType" }, "nwpx_AccumulatedOtherComprehensiveIncomeLossUnrecognizedNetActuarialLossesNetOfTax": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of unrecognized actuarial loss recognized in accumulated other comprehensive income (loss), net of tax.", "label": "nwpx_AccumulatedOtherComprehensiveIncomeLossUnrecognizedNetActuarialLossesNetOfTax", "terseLabel": "Accumulated Other Comprehensive Income (Loss), Unrecognized Net Actuarial Losses, Net of Tax" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossUnrecognizedNetActuarialLossesNetOfTax", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_BacklogMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information related to backlog.", "label": "Backlog [Member]" } } }, "localname": "BacklogMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "nwpx_BookOverdrafts": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Outstanding checks in excess of funds on deposit that are shown in account payable.", "label": "nwpx_BookOverdrafts", "terseLabel": "Book Overdrafts" } } }, "localname": "BookOverdrafts", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentTradeAndOtherReceivables": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to trade and other receivables acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "nwpx_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentTradeAndOtherReceivables", "terseLabel": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Trade and Other Receivables" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentTradeAndOtherReceivables", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accrued liabilities, assumed at the acquisition date.", "label": "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities", "verboseLabel": "Accrued liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease liabilities assumed at the acquisition date.", "label": "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities", "verboseLabel": "Operating lease liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease right-of-use assets acquired at the acquisition date.", "label": "nwpx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "verboseLabel": "Operating lease right-of-use assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "nwpx_BusinessInterruptionIncrementalProductionCostsNetOfInsuranceRecovery": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of incremental production costs due to business interruptions, net of business interruption insurance recovery.", "label": "nwpx_BusinessInterruptionIncrementalProductionCostsNetOfInsuranceRecovery", "terseLabel": "Business Interruption, Incremental Production Costs, Net of Insurance Recovery" } } }, "localname": "BusinessInterruptionIncrementalProductionCostsNetOfInsuranceRecovery", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_CommonStockCapitalSharesReservedForFutureIssuancePercentageVestingOfOutstandingPSAsAssumed": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the vesting percentage of PSAs used as an assumption to determine the number of capital shares reserved for future issuance.", "label": "nwpx_CommonStockCapitalSharesReservedForFutureIssuancePercentageVestingOfOutstandingPSAsAssumed", "terseLabel": "Common Stock, Capital Shares Reserved for Future Issuance, Percentage Vesting of Outstanding PSAs Assumed" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuancePercentageVestingOfOutstandingPSAsAssumed", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_CompanyMatchingPercentageOnFirstEightPercentOfEmployeeContributions": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company matching percentage on first 8% of employee contributions under defined contribution retirement plan.", "label": "nwpx_CompanyMatchingPercentageOnFirstEightPercentOfEmployeeContributions", "terseLabel": "Company Matching Percentage on First Eight Percent of Employee Contributions" } } }, "localname": "CompanyMatchingPercentageOnFirstEightPercentOfEmployeeContributions", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_CompanyMatchingPercentageOnFirstTenThousandDollarEmployeeContributions": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Company matching percentage on first $10,000 of employee contributions under non-qualified retirement savings plan.", "label": "nwpx_CompanyMatchingPercentageOnFirstTenThousandDollarEmployeeContributions", "terseLabel": "Company Matching Percentage on First Ten Thousand Dollar Employee Contributions" } } }, "localname": "CompanyMatchingPercentageOnFirstTenThousandDollarEmployeeContributions", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_ContractAssetsAndLiabilitiesPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for contract assets and liabilities.", "label": "Contract Assets and Liabilities, Policy [Policy Text Block]" } } }, "localname": "ContractAssetsAndLiabilitiesPolicyPolicyTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The minimum amount of consolidated earnings before interest, taxes, depreciation, and amortization pursuant to the debt agreement.", "label": "nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization", "terseLabel": "Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization" } } }, "localname": "DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state, local, federal and foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit", "totalLabel": "Total deferred income tax expense" } } }, "localname": "DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "nwpx_DeferredTaxAssetContractAssetsNet": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to contract assets, net.", "label": "nwpx_DeferredTaxAssetContractAssetsNet", "terseLabel": "Contract assets, net" } } }, "localname": "DeferredTaxAssetContractAssetsNet", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "nwpx_DeferredTaxAssetTradeReceivableNet": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to trade receivables, net.", "label": "nwpx_DeferredTaxAssetTradeReceivableNet", "terseLabel": "Trade receivable, net" } } }, "localname": "DeferredTaxAssetTradeReceivableNet", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "nwpx_DeferredTaxLiabilitiesContractAssetsNet": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liabilities attributable to net contract assets", "label": "nwpx_DeferredTaxLiabilitiesContractAssetsNet", "negatedLabel": "Contract assets, net" } } }, "localname": "DeferredTaxLiabilitiesContractAssetsNet", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "nwpx_DefinedContributionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Defined Contribution Plan.", "label": "Defined Contribution Plan [Member]" } } }, "localname": "DefinedContributionPlanMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_DepreciationAndFinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives and amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Depreciation and finance lease amortization" } } }, "localname": "DepreciationAndFinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtFiftyPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee contribution for which company will match at 50% under defined contribution retirement plan.", "label": "nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtFiftyPercent", "terseLabel": "Employee Contribution Percentage for Which Company Will Match at Fifty Percent" } } }, "localname": "EmployeeContributionPercentageForWhichCompanyWillMatchAtFiftyPercent", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtOneHundredPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee contribution for which company will match at 100% under defined contribution retirement plan.", "label": "nwpx_EmployeeContributionPercentageForWhichCompanyWillMatchAtOneHundredPercent", "terseLabel": "Employee Contribution Percentage for Which Company Will Match at One Hundred Percent" } } }, "localname": "EmployeeContributionPercentageForWhichCompanyWillMatchAtOneHundredPercent", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_EngineeredSteelPressurePipeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Engineered Steel Pressure Pipe segment.", "label": "Engineered Steel Pressure Pipe [Member]" } } }, "localname": "EngineeredSteelPressurePipeMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details" ], "xbrltype": "domainItemType" }, "nwpx_EquipmentUnderFinanceLeaseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents equipment under finance lease.", "label": "Equipment Under Finance Lease [Member]" } } }, "localname": "EquipmentUnderFinanceLeaseMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "nwpx_EstimatedCostOfEPASelectedRemedy": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The estimated cost of the remedy selected by EPA.", "label": "nwpx_EstimatedCostOfEPASelectedRemedy", "terseLabel": "Estimated Cost of EPA Selected Remedy" } } }, "localname": "EstimatedCostOfEPASelectedRemedy", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_EstimatedTimeToCompleteSelectedEPARemedy": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated amount of time to complete the selected EPA remedy.", "label": "nwpx_EstimatedTimeToCompleteSelectedEPARemedy", "terseLabel": "Estimated Time to Complete Selected EPA Remedy (Year)" } } }, "localname": "EstimatedTimeToCompleteSelectedEPARemedy", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "durationItemType" }, "nwpx_GainOnInsuranceProceeds": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of gain on insurance proceeds recognized during the period.", "label": "nwpx_GainOnInsuranceProceeds", "negatedLabel": "Gain on insurance proceeds" } } }, "localname": "GainOnInsuranceProceeds", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "nwpx_GenevaPipeCompanyIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Geneva Pipe Company, Inc. acquisition.", "label": "Geneva Pipe Company, Inc. [Member]" } } }, "localname": "GenevaPipeCompanyIncMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details" ], "xbrltype": "domainItemType" }, "nwpx_IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period of the amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer.", "label": "nwpx_IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax", "terseLabel": "Increase (Decrease) in Revenue from Contract with Customers, Including Assessed Tax" } } }, "localname": "IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of interest expense recorded during the period from debt and finance leases, net of amounts capitalized.", "label": "nwpx_InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized", "terseLabel": "Interest Expense, Debt and Finance Leases, Net of Amounts Capitalized" } } }, "localname": "InterestExpenseDebtAndFinanceLeasesNetOfAmountsCapitalized", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_LeaseLiability": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "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 and finance lease.", "label": "nwpx_LeaseLiability", "totalLabel": "Total lease liabilities" } } }, "localname": "LeaseLiability", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "nwpx_LeaseRightOfUseAsset": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under lease.", "label": "nwpx_LeaseRightOfUseAsset", "totalLabel": "Total right-of-use assets" } } }, "localname": "LeaseRightOfUseAsset", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "nwpx_LeaseTermsAndDiscountRatesForLeaseLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease terms and discount rates for lease liabilities.", "label": "Lease Terms and Discount Rates for Lease Liabilities [Table Text Block]" } } }, "localname": "LeaseTermsAndDiscountRatesForLeaseLiabilitiesTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_LesseeLeaseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure for assets and liabilities of leases of the lessee.", "label": "Lessee, Lease, Assets and Liabilities [Table Text Block]" } } }, "localname": "LesseeLeaseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_LesseeLeaseDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for leases of lessee.", "label": "Lessee, Lease, Disclosure [Text Block]" } } }, "localname": "LesseeLeaseDisclosureTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases" ], "xbrltype": "textBlockItemType" }, "nwpx_LesseeLiabilityMaturityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating and finace lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liability recognized in statement of financial position.", "label": "Lessee, Liability, Maturity [Table Text Block]" } } }, "localname": "LesseeLiabilityMaturityTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_LowerWillametteGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Refers to information regarding the Lower Willamette Group.", "label": "Lower Willamette Group [Member]" } } }, "localname": "LowerWillametteGroupMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_MaximumSeniorLeverageRatioRequirement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The maximum senior leverage ratio requirement.", "label": "nwpx_MaximumSeniorLeverageRatioRequirement", "terseLabel": "Maximum Senior Leverage Ratio Requirement" } } }, "localname": "MaximumSeniorLeverageRatioRequirement", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "pureItemType" }, "nwpx_NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of consideration accrued in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition.", "label": "Accrued consideration in acquisition of business" } } }, "localname": "NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "nwpx_NonqualifiedRetirementSavingsPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Non-qualified Retirement Savings Plan.", "label": "Non-qualified Retirement Savings Plan [Member]" } } }, "localname": "NonqualifiedRetirementSavingsPlanMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_NumberOfActiveStockIncentivePlans": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of active stock incentive plans.", "label": "nwpx_NumberOfActiveStockIncentivePlans", "terseLabel": "Number Of Active Stock Incentive Plans" } } }, "localname": "NumberOfActiveStockIncentivePlans", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_NumberOfCustomersWithReceivableBalanceInExcessOfTenPercentOfReceivables": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of customers with balances in excess of 10% of total accounts receivable.", "label": "nwpx_NumberOfCustomersWithReceivableBalanceInExcessOfTenPercentOfReceivables", "terseLabel": "Number of Customers with Receivable Balance in Excess of Ten Percent of Receivables" } } }, "localname": "NumberOfCustomersWithReceivableBalanceInExcessOfTenPercentOfReceivables", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_NumberOfMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc.", "label": "nwpx_NumberOfMajorCustomers", "terseLabel": "Number of Major Customers" } } }, "localname": "NumberOfMajorCustomers", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_NumberOfManufacturingFacilities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents number of manufacturing facilities.", "label": "nwpx_NumberOfManufacturingFacilities", "terseLabel": "Number of Manufacturing Facilities" } } }, "localname": "NumberOfManufacturingFacilities", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_NumberOfNoncontributoryDefinedBenefitPlans": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of noncontributory defined benefit plans.", "label": "nwpx_NumberOfNoncontributoryDefinedBenefitPlans", "terseLabel": "Number of Non-contributory Defined Benefit Plans" } } }, "localname": "NumberOfNoncontributoryDefinedBenefitPlans", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_NumberOfPotentiallyResponsibleParties": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of potentially responsible parties for Portland Harbor Superfund site.", "label": "nwpx_NumberOfPotentiallyResponsibleParties", "terseLabel": "Number Of Potentially Responsible Parties" } } }, "localname": "NumberOfPotentiallyResponsibleParties", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "integerItemType" }, "nwpx_OfficerContributionForWhichCompanyWillMatchAtFiftyPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Officer contributions for which Company will match at 50% under non-qualified retirement savings plan.", "label": "nwpx_OfficerContributionForWhichCompanyWillMatchAtFiftyPercent", "terseLabel": "Officer Contribution for Which Company Will Match at Fifty Percent" } } }, "localname": "OfficerContributionForWhichCompanyWillMatchAtFiftyPercent", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_OneSppCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents one SPP customer.", "label": "One SPP Customer [Member]" } } }, "localname": "OneSppCustomerMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_OperatingLossCarryforwardsExpirationYear": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Expiration year of the operating loss carryforward.", "label": "nwpx_OperatingLossCarryforwardsExpirationYear", "terseLabel": "Operating Loss Carryforwards, Expiration Year" } } }, "localname": "OperatingLossCarryforwardsExpirationYear", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "gYearItemType" }, "nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of commitment of payment for equipment purchased but not received.", "label": "nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "terseLabel": "Other Commitment, Amount Paid for Equipment Purchased Yet Not Received" } } }, "localname": "OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_OtherInformationRelatedToOperatingAndFinanceLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other information related to operating and finance leases.", "label": "Other Information Related to Operating and Finance Leases [Table Text Block]" } } }, "localname": "OtherInformationRelatedToOperatingAndFinanceLeasesTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_OtherLongtermLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents other long-term liabilities.", "label": "Other Long-term Liabilities [Member]" } } }, "localname": "OtherLongtermLiabilitiesMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_OutOfPeriodAdjustmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents out of period adjustments.", "label": "Out of Period Adjustment [Member]" } } }, "localname": "OutOfPeriodAdjustmentMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_ParkEnvironmentalEquipmentLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Park Environmental Equipment, LLC.", "label": "Park Environmental Equipment, LLC [Member]" } } }, "localname": "ParkEnvironmentalEquipmentLlcMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details" ], "xbrltype": "domainItemType" }, "nwpx_ParkusaAndGenevaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents ParkUSA and Geneva.", "label": "ParkUSA and Geneva [Member]" } } }, "localname": "ParkusaAndGenevaMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details" ], "xbrltype": "domainItemType" }, "nwpx_ParkusaDefinedContributionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the ParkUSA Defined Contribution Plan.", "label": "ParkUSA Defined Contribution Plan [Member]" } } }, "localname": "ParkusaDefinedContributionPlanMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_PerformanceAwardsIssuedMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of the performance awards issued multiplier.", "label": "nwpx_PerformanceAwardsIssuedMultiplier", "terseLabel": "Performance Awards Issued Multiplier" } } }, "localname": "PerformanceAwardsIssuedMultiplier", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_PortlandHarborNaturalreSourcesTrusteeCouncilMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The name or description of the loss contingency by its nature.", "label": "Portland Harbor Natural Resources Trustee Council [Member]" } } }, "localname": "PortlandHarborNaturalreSourcesTrusteeCouncilMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_PortlandHarborSuperfundSiteMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Portland Harbor Superfund Site.", "label": "Portland Harbor Superfund Site [Member]" } } }, "localname": "PortlandHarborSuperfundSiteMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_PrecastInfrastructureAndEngineeredSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Precast Infrastructure and Engineered Systems segment.", "label": "Precast Infrastructure and Engineered Systems [Member]" } } }, "localname": "PrecastInfrastructureAndEngineeredSystemsMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details" ], "xbrltype": "domainItemType" }, "nwpx_PropertyAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents property and equipment.", "label": "Property and Equipment [Member]" } } }, "localname": "PropertyAndEquipmentMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "domainItemType" }, "nwpx_PropertyPlantAndEquipmentNetExcludingConstructionInProgress": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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 excluding construction in progress and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "nwpx_PropertyPlantAndEquipmentNetExcludingConstructionInProgress", "totalLabel": "Property, Plant and Equipment, Net, Excluding Construction In Progress" } } }, "localname": "PropertyPlantAndEquipmentNetExcludingConstructionInProgress", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "nwpx_RestrictedStockUnitsAndPerformanceShareAwardTargetLevelPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the target level percentage for restricted stock unit and performance share awards.", "label": "nwpx_RestrictedStockUnitsAndPerformanceShareAwardTargetLevelPercentage", "terseLabel": "Restricted Stock Units and Performance Share Award Target Level, Percentage" } } }, "localname": "RestrictedStockUnitsAndPerformanceShareAwardTargetLevelPercentage", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "nwpx_RestrictedStockUnitsAndPerformanceStockAwardsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type or description of the award.", "label": "Restricted Stock Units and Performance Stock Awards [Member]" } } }, "localname": "RestrictedStockUnitsAndPerformanceStockAwardsMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "domainItemType" }, "nwpx_RetirementPlanExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents retirement plan expense.", "label": "nwpx_RetirementPlanExpense", "terseLabel": "Retirement Plan Expense" } } }, "localname": "RetirementPlanExpense", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents schedule of changes in accumulated other comprehensive income loss.", "label": "Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block]" } } }, "localname": "ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process. Includes current and non-current inventory balances.", "label": "Schedule Of Inventory Current And Non Current [Table Text Block]" } } }, "localname": "ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in restricted stock units (RSUs) and performance share awards (PSAs).", "label": "Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block]" } } }, "localname": "ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_SelectEmployeeContributionForWhichCompanyWillMatchAtFiftyPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents select employee contributions for which Company will match at 50% under non-qualified retirement savings plan.", "label": "nwpx_SelectEmployeeContributionForWhichCompanyWillMatchAtFiftyPercent", "terseLabel": "Select Employee Contribution for Which Company Will Match at Fifty Percent" } } }, "localname": "SelectEmployeeContributionForWhichCompanyWillMatchAtFiftyPercent", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments at a target level of performance, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "nwpx_StockAwardsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents stock awards.", "label": "Stock Awards [Member]" } } }, "localname": "StockAwardsMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_SummaryOfValuationAndQualifyingAccountsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A schedule of allowance and reserve accounts including their beginning and ending balances, as well as a reconciliation by type of activity during the period. Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements.", "label": "Summary of Valuation and Qualifying Accounts [Table Text Block]" } } }, "localname": "SummaryOfValuationAndQualifyingAccountsTableTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "xbrltype": "textBlockItemType" }, "nwpx_TaxCreditCarryforwardExpirationYear": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Expiration year of the tax credit carryforward.", "label": "nwpx_TaxCreditCarryforwardExpirationYear", "terseLabel": "Tax Credit Carryforward, Expiration Year" } } }, "localname": "TaxCreditCarryforwardExpirationYear", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "gYearItemType" }, "nwpx_WellsFargoBankNAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to the lender Wells Fargo Bank, N.A.", "label": "Wells Fargo Bank, N.A. [Member]" } } }, "localname": "WellsFargoBankNAMember", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "nwpx_WorkersCompensationInsurancePolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for workers compensation insurance and calculation of liability balance.", "label": "Workers Compensation Insurance [Policy Text Block]" } } }, "localname": "WorkersCompensationInsurancePolicyTextBlock", "nsuri": "http://www.nwpipe.com/20211231", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "nwpx_statement-statement-note-12-sharebased-compensation-rsu-and-psa-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Share-based Compensation - RSU and PSA Activity (Details)" } } }, "localname": "statement-statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-12-sharebased-compensation-sharebased-compensation-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Share-based Compensation - Share-based Compensation Expense (Details)" } } }, "localname": "statement-statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-12-sharebased-compensation-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Share-based Compensation" } } }, "localname": "statement-statement-note-12-sharebased-compensation-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-14-revenue-disaggregation-of-revenue-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Revenue - Disaggregation of Revenue (Details)" } } }, "localname": "statement-statement-note-14-revenue-disaggregation-of-revenue-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Revenue - Net Sales From Continuing Operations by Geographic Region (Details)" } } }, "localname": "statement-statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-14-revenue-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Revenue" } } }, "localname": "statement-statement-note-14-revenue-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes - Effective Income Tax Rate Reconciliation (Details)" } } }, "localname": "statement-statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-income-loss-from-continuing-operations-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes - Income (Loss) from Continuing Operations (Details)" } } }, "localname": "statement-statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes - Summary of Changes in Unrecognized Tax Benefits (Details)" } } }, "localname": "statement-statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes - Summary of Components of Income Tax Expense for Continuing Operations (Details)" } } }, "localname": "statement-statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes - Summary of Current and Noncurrent Deferred Tax Assets and Liabilities (Details)" } } }, "localname": "statement-statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-15-income-taxes-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Income Taxes" } } }, "localname": "statement-statement-note-15-income-taxes-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Accumulated Other Comprehensive Loss - Summary of Accumulated Other Comprehensive Loss (Details) (Parentheticals)" } } }, "localname": "statement-statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-16-accumulated-other-comprehensive-loss-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 16 - Accumulated Other Comprehensive Loss" } } }, "localname": "statement-statement-note-16-accumulated-other-comprehensive-loss-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)" } } }, "localname": "statement-statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-17-segment-information-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information" } } }, "localname": "statement-statement-note-17-segment-information-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Quarterly Data (Unaudited) - Summary of Selected Quarterly Financial Data (Details)" } } }, "localname": "statement-statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-18-quarterly-data-unaudited-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Quarterly Data (Unaudited)" } } }, "localname": "statement-statement-note-18-quarterly-data-unaudited-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Summary of Accrued Liabilities (Details)" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-2-summary-of-significant-accounting-policies-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Business Combinations - Assets Acquired and Liabilities Assumed (Details)" } } }, "localname": "statement-statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-3-business-combinations-intangible-assets-acquired-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Business Combinations - Intangible Assets Acquired (Details)" } } }, "localname": "statement-statement-note-3-business-combinations-intangible-assets-acquired-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-3-business-combinations-pro-forma-summary-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Business Combinations - Pro Forma Summary (Details)" } } }, "localname": "statement-statement-note-3-business-combinations-pro-forma-summary-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-3-business-combinations-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Business Combinations" } } }, "localname": "statement-statement-note-3-business-combinations-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-4-inventories-components-of-inventories-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Inventories - Components of Inventories (Details)" } } }, "localname": "statement-statement-note-4-inventories-components-of-inventories-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-4-inventories-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Inventories" } } }, "localname": "statement-statement-note-4-inventories-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-5-property-and-equipment-property-plant-and-equipment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Property and Equipment - Property, Plant and Equipment (Details)" } } }, "localname": "statement-statement-note-5-property-and-equipment-property-plant-and-equipment-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-5-property-and-equipment-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Property and Equipment" } } }, "localname": "statement-statement-note-5-property-and-equipment-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Intangible Assets - Schedule of Goodwill (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Intangible Assets - Summary of Estimated Amortization Expense (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Intangible Assets - Summary of Intangible Assets (Details)" } } }, "localname": "statement-statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-6-goodwill-and-intangible-assets-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Goodwill and Intangible Assets" } } }, "localname": "statement-statement-note-6-goodwill-and-intangible-assets-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Future Maturities of Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-8-leases-future-maturities-of-lease-liabilities-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-lease-cost-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Lease Cost (Details)" } } }, "localname": "statement-statement-note-8-leases-lease-cost-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Leases Recorded on the Consolidated Balance Sheet (Details)" } } }, "localname": "statement-statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Other Information Related to Operating and Finance Leases (Details)" } } }, "localname": "statement-statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-8-leases-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases" } } }, "localname": "statement-statement-note-8-leases-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)" } } }, "localname": "statement-statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-note-9-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Fair Value Measurements" } } }, "localname": "statement-statement-note-9-fair-value-measurements-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts" } } }, "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)" } } }, "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "nwpx_statement-statement-significant-accounting-policies-policies": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies" } } }, "localname": "statement-statement-significant-accounting-policies-policies", "nsuri": "http://www.nwpipe.com/20211231", "xbrltype": "stringItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r135", "r194", "r207", "r208", "r209", "r210", "r212", "r214", "r218", "r300", "r301", "r302", "r303", "r304", "r305", "r307", "r308", "r310", "r312", "r313", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755" ], "lang": { "en-us": { "role": { "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r135", "r194", "r207", "r208", "r209", "r210", "r212", "r214", "r218", "r300", "r301", "r302", "r303", "r304", "r305", "r307", "r308", "r310", "r312", "r313", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755" ], "lang": { "en-us": { "role": { "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r63", "r65", "r132", "r133", "r316", "r334", "r756" ], "lang": { "en-us": { "role": { "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.", "label": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "stringItemType" }, "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": { "auth_ref": [ "r2", "r147", "r155", "r161", "r241", "r472", "r473", "r474", "r511", "r512", "r577", "r580", "r582", "r583", "r760" ], "lang": { "en-us": { "role": { "documentation": "Increase (decrease) to financial statements for cumulative-effect adjustment in period of adoption of amendment to accounting standards.", "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "srt_CumulativeEffectPeriodOfAdoptionAxis": { "auth_ref": [ "r2", "r147", "r155", "r161", "r241", "r472", "r473", "r474", "r511", "r512", "r577", "r580", "r582", "r583", "r760" ], "lang": { "en-us": { "role": { "documentation": "Information by cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards.", "label": "Cumulative Effect, Period of Adoption [Axis]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "stringItemType" }, "srt_CumulativeEffectPeriodOfAdoptionDomain": { "auth_ref": [ "r2", "r147", "r155", "r161", "r241", "r472", "r473", "r474", "r511", "r512", "r577", "r580", "r582", "r583", "r760" ], "lang": { "en-us": { "role": { "documentation": "Cumulative-effect adjustment to financial statements in period of adoption of amendment to accounting standards.", "label": "Cumulative Effect, Period of Adoption [Domain]" } } }, "localname": "CumulativeEffectPeriodOfAdoptionDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "srt_DirectorMember": { "auth_ref": [ "r228" ], "lang": { "en-us": { "role": { "documentation": "Person serving on board of directors.", "label": "Director [Member]" } } }, "localname": "DirectorMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r226", "r351", "r356", "r693" ], "lang": { "en-us": { "role": { "documentation": "Information by name or description of a single external customer or a group of external customers.", "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r315", "r333", "r442", "r447", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r691", "r694", "r724", "r725" ], "lang": { "en-us": { "role": { "documentation": "Upper limit of the provided range.", "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r315", "r333", "r442", "r447", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r691", "r694", "r724", "r725" ], "lang": { "en-us": { "role": { "documentation": "Lower limit of the provided range.", "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r226", "r351", "r356", "r693" ], "lang": { "en-us": { "role": { "documentation": "Single external customer or group of external customers.", "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r315", "r333", "r386", "r442", "r447", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r691", "r694", "r724", "r725" ], "lang": { "en-us": { "role": { "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r315", "r333", "r386", "r442", "r447", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r691", "r694", "r724", "r725" ], "lang": { "en-us": { "role": { "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [ "r64", "r65", "r132", "r133", "r316", "r334" ], "lang": { "en-us": { "role": { "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.", "label": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "auth_ref": [ "r142", "r744" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]" } } }, "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "xbrltype": "textBlockItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r222", "r223", "r351", "r355", "r692", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r734", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743" ], "lang": { "en-us": { "role": { "documentation": "Geographical area.", "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r222", "r223", "r351", "r355", "r692", "r709", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r734", "r735" ], "lang": { "en-us": { "role": { "documentation": "Information by geographical components.", "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r228", "r634" ], "lang": { "en-us": { "role": { "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.", "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Title of individual, or nature of relationship to individual or group of individuals.", "label": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201409Member": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).", "label": "Accounting Standards Update 2014-09 [Member]" } } }, "localname": "AccountingStandardsUpdate201409Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r46", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "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" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrent": { "auth_ref": [ "r14", "r15", "r50" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "order": 5.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 incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued bonus" } } }, "localname": "AccruedBonusesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r50" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Total accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedVacationCurrent": { "auth_ref": [ "r14", "r50", "r360" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "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 unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued vacation payable" } } }, "localname": "AccruedVacationCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": { "auth_ref": [ "r66", "r73", "r81", "r82", "r83", "r550" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent.", "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]" } } }, "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r44", "r271" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details": { "order": 1.0, "parentTag": "nwpx_PropertyPlantAndEquipmentNetExcludingConstructionInProgress", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Less accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": { "auth_ref": [ "r73", "r81", "r82", "r83", "r84", "r549" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.", "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]" } } }, "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax": { "auth_ref": [ "r67", "r73", "r407" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details": { "order": 0.0, "parentTag": "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated other comprehensive (income) loss for defined benefit plan, that has not been recognized in net periodic benefit cost (credit).", "label": "us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax", "negatedLabel": "Pension liability adjustment, net of income tax benefit of $577 and $679" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r31", "r69", "r72", "r73", "r678", "r702", "r706" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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 loss", "totalLabel": "Total" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r68", "r73", "r81", "r82", "r83", "r144", "r145", "r146", "r550", "r697", "r698", "r762" ], "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": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Intangible Asset Acquired, Useful Life (Year)" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r29" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional paid-in-capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r144", "r145", "r146", "r472", "r473", "r474", "r582" ], "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]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForErrorCorrectionDomain": { "auth_ref": [ "r152", "r153", "r154", "r157", "r158", "r159", "r160" ], "lang": { "en-us": { "role": { "documentation": "Type of error correction.", "label": "Error Correction, Type [Domain]" } } }, "localname": "AdjustmentsForErrorCorrectionDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r0", "r1", "r2", "r3", "r4", "r148", "r149", "r150", "r151", "r161", "r235", "r236", "r238", "r239", "r240", "r241", "r242", "r243", "r299", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r509", "r510", "r511", "r512", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r633", "r651", "r652", "r653", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "documentation": "Information by amendment to accounting standards.", "label": "Accounting Standards Update [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r449", "r451", "r477", "r478" ], "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": "Share-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r451", "r465", "r476" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Share-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForCreditLossMember": { "auth_ref": [ "r136", "r137", "r138", "r140", "r141" ], "lang": { "en-us": { "role": { "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]" } } }, "localname": "AllowanceForCreditLossMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "domainItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r230", "r244", "r245", "r246" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r111", "r257", "r265" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "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": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r169" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_AociLossCashFlowHedgeCumulativeGainLossAfterTax": { "auth_ref": [ "r69" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details": { "order": 1.0, "parentTag": "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated gain (loss) on derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.", "label": "us-gaap_AociLossCashFlowHedgeCumulativeGainLossAfterTax", "terseLabel": "Unrealized loss on cash flow hedges, net of income tax benefit of $61 and $20" } } }, "localname": "AociLossCashFlowHedgeCumulativeGainLossAfterTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r127", "r202", "r209", "r216", "r237", "r300", "r301", "r302", "r304", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r546", "r551", "r592", "r635", "r637", "r657", "r675" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "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": "Total assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r11", "r12", "r60", "r127", "r237", "r300", "r301", "r302", "r304", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r546", "r551", "r592", "r635", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 3.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": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r586" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Total financial assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r453", "r467" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r560", "r563" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "domainItemType" }, "us-gaap_BuildingMember": { "auth_ref": [ "r270" ], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.", "label": "Building [Member]" } } }, "localname": "BuildingMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r437", "r443" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r437", "r443", "r531", "r532" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r527" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired", "terseLabel": "Business Acquisition, Percentage of Voting Interests Acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r529", "r530" ], "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]" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r529", "r530" ], "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": "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss", "verboseLabel": "Net income" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r529", "r530" ], "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": "us-gaap_BusinessAcquisitionsProFormaRevenue", "verboseLabel": "Net sales" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r526" ], "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": "us-gaap_BusinessCombinationAcquisitionRelatedCosts", "terseLabel": "Business Combination, Acquisition Related Costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r538", "r539", "r540" ], "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": "us-gaap_BusinessCombinationConsiderationTransferred1", "terseLabel": "Business Combination, Consideration Transferred, Total", "verboseLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r543" ], "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]" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r528" ], "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": "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "terseLabel": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual" } } }, "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "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": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "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": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "verboseLabel": "Prepaid expenses and other" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "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": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "verboseLabel": "Trade and other receivables" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "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": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "verboseLabel": "Accounts payable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets", "verboseLabel": "Deferred income taxes" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "verboseLabel": "Deferred income taxes" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "verboseLabel": "Intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "auth_ref": [ "r533", "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of inventory recognized as of the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "verboseLabel": "Inventories" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "totalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "auth_ref": [ "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "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": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "verboseLabel": "Other long-term liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r533", "r534" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "verboseLabel": "Property and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsPolicy": { "auth_ref": [ "r525" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.", "label": "Business Combinations Policy [Policy Text Block]" } } }, "localname": "BusinessCombinationsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r116", "r117", "r118" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Accrued property and equipment purchases" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLossCarryforwardMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deductions derived from capital losses that cannot be utilized on the tax return during a period that have been carried forward to reduce taxable income or taxes payable in a future year.", "label": "Capital Loss Carryforward [Member]" } } }, "localname": "CapitalLossCarryforwardMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r9", "r41", "r113" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 4.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" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r18", "r114" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r107", "r113", "r119" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r107", "r603" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "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": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash investing and financing activities:" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r54", "r286", "r663", "r683" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "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 (Note 13)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r283", "r284", "r285", "r294", "r711" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance", "terseLabel": "Common Stock, Capital Shares Reserved for Future Issuance (in shares)" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r144", "r145", "r582" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r27" ], "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 (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r27" ], "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 (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r27", "r335" ], "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 (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r27", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock, $.01 par value, 15,000,000 shares authorized, 9,870,567 and 9,805,437 shares issued and outstanding as of December 31, 2021 and 2020, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r76", "r78", "r79", "r89", "r667", "r686" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income": { "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": "us-gaap_ComprehensiveIncomeNetOfTax", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r88", "r96", "r666", "r685" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for comprehensive income.", "label": "Comprehensive Income, Policy [Policy Text Block]" } } }, "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r184", "r185", "r226", "r590", "r591", "r710" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r184", "r185", "r226", "r590", "r591", "r707", "r710" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r184", "r185", "r226", "r590", "r591", "r707", "r710" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r180", "r672" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r184", "r185", "r226", "r590", "r591" ], "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": "us-gaap_ConcentrationRiskPercentage1", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r184", "r185", "r226", "r590", "r591", "r710" ], "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]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r121", "r548" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r337", "r339", "r352" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.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 assets" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r337", "r338", "r352" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 3.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 liabilities" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r353" ], "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": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r207", "r208", "r209", "r210", "r212", "r218", "r220" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r92", "r649" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 1.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 sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r128", "r505", "r515" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_CurrentFederalTaxExpenseBenefit", "terseLabel": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r128", "r505" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_CurrentForeignTaxExpenseBenefit", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r128", "r505", "r515", "r517" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 0.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "us-gaap_CurrentIncomeTaxExpenseBenefit", "totalLabel": "Total current income tax expense" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r128", "r505", "r515" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 0.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_CurrentStateAndLocalTaxExpenseBenefit", "terseLabel": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r183", "r226" ], "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]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r536" ], "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]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r125", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r325", "r326", "r327", "r328", "r331" ], "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]" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement" ], "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": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1", "terseLabel": "Debt Instrument, Basis Spread on Variable Rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "us-gaap_DebtWeightedAverageInterestRate", "terseLabel": "Debt, Weighted Average Interest Rate" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer).", "label": "us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent", "terseLabel": "Deferred Compensation Liability, Classified, Noncurrent, Total" } } }, "localname": "DeferredCompensationLiabilityClassifiedNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredCompensationPlanAssets": { "auth_ref": [ "r45" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of assets held under deferred compensation agreements.", "label": "Deferred compensation plan" } } }, "localname": "DeferredCompensationPlanAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r128", "r506", "r515" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 1.0, "parentTag": "nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredFederalIncomeTaxExpenseBenefit", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r128", "r506", "r515" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 0.0, "parentTag": "nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredForeignIncomeTaxExpenseBenefit", "terseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r483", "r484" ], "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, included in Other assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r111", "r128", "r506", "r515", "r516", "r517" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r24", "r25", "r495", "r658", "r673" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "us-gaap_DeferredIncomeTaxLiabilities", "negatedTotalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r483", "r484" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "us-gaap_DeferredIncomeTaxLiabilitiesNet", "negatedLabel": "Deferred income taxes", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r128", "r506", "r515" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": 2.0, "parentTag": "nwpx_DeferredFederalStateAndLocalAndForeignIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r496" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "us-gaap_DeferredTaxAssetsGross", "totalLabel": "Deferred tax assets, gross" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.", "label": "us-gaap_DeferredTaxAssetsInventory", "terseLabel": "Inventories" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r498" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "us-gaap_DeferredTaxAssetsNet", "totalLabel": "Deferred tax assets, net" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "us-gaap_DeferredTaxAssetsOther", "terseLabel": "Other" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "auth_ref": [ "r501", "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.", "label": "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards", "terseLabel": "Tax credit carryforwards" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from employee benefits, classified as other.", "label": "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "terseLabel": "Accrued employee benefits" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r497" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "us-gaap_DeferredTaxAssetsValuationAllowance", "negatedTerseLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r484", "r498" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "us-gaap_DeferredTaxLiabilities", "negatedLabel": "Net deferred income tax liabilities", "negatedTotalLabel": "Net deferred income tax liabilities" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "auth_ref": [ "r503", "r504", "r541", "r542" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill.", "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "negatedLabel": "Goodwill" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.", "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "negatedTerseLabel": "Intangible assets" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.", "label": "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses", "negatedTerseLabel": "Prepaid expenses" } } }, "localname": "DeferredTaxLiabilitiesPrepaidExpenses", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r503", "r504" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment", "negatedTerseLabel": "Property and equipment" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation": { "auth_ref": [ "r395" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of actuarial present value of benefits attributed to employee service rendered, excluding assumptions about future compensation level.", "label": "us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation", "terseLabel": "Defined Benefit Plan, Accumulated Benefit Obligation" } } }, "localname": "DefinedBenefitPlanAccumulatedBenefitObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan.", "label": "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate", "terseLabel": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate" } } }, "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets": { "auth_ref": [ "r409", "r429" ], "lang": { "en-us": { "role": { "documentation": "Weighted average rate of return on plan assets, reflecting average rate of earnings expected on existing plan assets and expected contributions, used to determine net periodic benefit cost of defined benefit plan.", "label": "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets", "terseLabel": "Defined Benefit Plan, Assumptions Used Calculating Net Periodic Benefit Cost, Expected Long-term Rate of Return on Plan Assets" } } }, "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedBenefitPlanFairValueOfPlanAssets": { "auth_ref": [ "r376", "r387", "r389", "r390", "r430" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset segregated and restricted to provide benefit under defined benefit plan. Asset includes, but is not limited to, stock, bond, other investment, earning from investment, and contribution by employer and employee.", "label": "us-gaap_DefinedBenefitPlanFairValueOfPlanAssets", "terseLabel": "Defined Benefit Plan, Plan Assets, Amount, Ending Balance" } } }, "localname": "DefinedBenefitPlanFairValueOfPlanAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": { "auth_ref": [ "r398", "r420", "r430", "r431" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan.", "label": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost", "terseLabel": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Total" } } }, "localname": "DefinedBenefitPlanNetPeriodicBenefitCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r111", "r269" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "Depreciation and amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r61", "r62", "r65", "r589" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "us-gaap_DerivativeAssets", "terseLabel": "Foreign currency forward contracts" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "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 [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r65", "r561", "r562", "r566", "r568" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "auth_ref": [ "r573", "r585" ], "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]" } } }, "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities" ], "xbrltype": "textBlockItemType" }, "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": { "auth_ref": [ "r565", "r567" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.", "label": "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "terseLabel": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net, Total" } } }, "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r61", "r62", "r65", "r589" ], "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": "us-gaap_DerivativeLiabilities", "negatedTerseLabel": "Foreign currency forward contracts" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLiabilitiesCurrent": { "auth_ref": [ "r61" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "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, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Foreign currency forward contracts" } } }, "localname": "DerivativeLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r555", "r557" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "us-gaap_DerivativeNotionalAmount", "terseLabel": "Derivative, Notional Amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativesPolicyTextBlock": { "auth_ref": [ "r134", "r554", "r556", "r558", "r559", "r570" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.", "label": "Derivatives, Policy [Policy Text Block]" } } }, "localname": "DerivativesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r558" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r351" ], "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]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r479" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "xbrltype": "stringItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_EarningsPerShareAbstract", "terseLabel": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r90", "r152", "r153", "r155", "r156", "r157", "r162", "r164", "r166", "r167", "r168", "r171", "r172", "r583", "r584", "r668", "r687" ], "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": "Basic (in dollars per share)", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r90", "r152", "r153", "r155", "r156", "r157", "r164", "r166", "r167", "r168", "r171", "r172", "r583", "r584", "r668", "r687" ], "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": "Diluted (in dollars per share)", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r169", "r170" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r486" ], "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" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r130", "r486", "r519" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r466" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r466" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EnvironmentalRemediationSiteAxis": { "auth_ref": [ "r276", "r277", "r278", "r279", "r293" ], "lang": { "en-us": { "role": { "documentation": "Information by location or named area designated for environmental remediation.", "label": "Environmental Remediation Site [Axis]" } } }, "localname": "EnvironmentalRemediationSiteAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_EnvironmentalRemediationSiteDomain": { "auth_ref": [ "r276" ], "lang": { "en-us": { "role": { "documentation": "Location or named area designated for environmental remediation.", "label": "Environmental Remediation Site [Domain]" } } }, "localname": "EnvironmentalRemediationSiteDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r2", "r81", "r82", "r83", "r144", "r145", "r146", "r149", "r158", "r160", "r177", "r241", "r335", "r336", "r472", "r473", "r474", "r511", "r512", "r582", "r604", "r605", "r606", "r607", "r608", "r610", "r697", "r698", "r699", "r762" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis": { "auth_ref": [ "r152", "r153", "r154", "r157", "r158", "r159", "r160" ], "lang": { "en-us": { "role": { "documentation": "Information by type of error correction.", "label": "Error Correction, Type [Axis]" } } }, "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r324", "r329", "r330", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r430", "r587", "r638", "r639", "r640" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r588" ], "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]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r324", "r387", "r389", "r394", "r430", "r587", "r638" ], "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, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r324", "r329", "r330", "r387", "r389", "r394", "r430", "r587", "r639" ], "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, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r324", "r329", "r330", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r430", "r587", "r640" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r324", "r329", "r330", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r430", "r638", "r639", "r640" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r617", "r622", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": 4.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "us-gaap_FinanceLeaseInterestExpense", "verboseLabel": "Interest on lease liabilities" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "auth_ref": [ "r619", "r626" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of interest paid on finance lease liability.", "label": "us-gaap_FinanceLeaseInterestPaymentOnLiability", "negatedLabel": "Operating cash flows from finance leases" } } }, "localname": "FinanceLeaseInterestPaymentOnLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiability": { "auth_ref": [ "r616", "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "order": 0.0, "parentTag": "nwpx_LeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Present value of lease liabilities, finance leases" } } }, "localname": "FinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r616" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Finance lease liabilities", "negatedLabel": "Current portion of lease liabilities, included in Accrued liabilities, finance leases" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r616" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Long-term lease liabilities, finance leases" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.", "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth 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": "Thereafter, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": "2022, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth 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": "2026, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": "2025, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": "2024, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": "2023, finance leases" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r631" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.", "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Amount representing interest, finance leases" } } }, "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r618", "r626" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "us-gaap_FinanceLeasePrincipalPayments", "negatedLabel": "Payments on finance lease liabilities", "negatedTerseLabel": "Financing cash flows from finance leases" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r615" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "order": 1.0, "parentTag": "nwpx_LeaseRightOfUseAsset", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance leases, net, included in Property and equipment" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "auth_ref": [ "r617", "r622" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease.", "label": "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization", "terseLabel": "Finance Lease, Right-of-Use Asset, Accumulated Amortization" } } }, "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r617", "r622", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "us-gaap_FinanceLeaseRightOfUseAssetAmortization", "verboseLabel": "Amortization of right-of-use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r629", "r632" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for finance lease calculated at point in time.", "label": "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent", "verboseLabel": "Finance leases, weighted-average discount rate" } } }, "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details" ], "xbrltype": "percentItemType" }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r628", "r632" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1", "verboseLabel": "Finance leases, weighted-average remaining lease term (Year)" } } }, "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details" ], "xbrltype": "durationItemType" }, "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": "us-gaap_FiniteLivedIntangibleAssetUsefulLife", "terseLabel": "Finite-Lived Intangible Asset, Useful Life (Month)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r264" ], "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": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization", "negatedLabel": "Intangible Assets, Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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 after fifth 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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r266" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 0.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r266" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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 fifth 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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r266" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r266" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r266" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r258", "r261", "r264", "r267", "r650", "r654" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r264", "r654" ], "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": "Intangible Assets, Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r258", "r263" ], "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]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r264", "r650" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Intangible Assets, Net", "totalLabel": "Total amortization expense" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "auth_ref": [ "r259" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.", "label": "Intangible Asset Acquired, Fair Value" } } }, "localname": "FinitelivedIntangibleAssetsAcquired1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FireMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Oxidation process that releases energy in the form of light and heat (flames) and often creates smoke.", "label": "Fire [Member]" } } }, "localname": "FireMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months": { "auth_ref": [ "r572" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The estimated net amount of unrealized gains or losses on foreign currency cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months.", "label": "us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months", "terseLabel": "Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months" } } }, "localname": "ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossRealized": { "auth_ref": [ "r601", "r602" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized gain (loss) recognized in the income statement.", "label": "us-gaap_ForeignCurrencyTransactionGainLossRealized", "terseLabel": "Foreign Currency Transaction Gain (Loss), Realized" } } }, "localname": "ForeignCurrencyTransactionGainLossRealized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r611" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.", "label": "Foreign Exchange Forward [Member]" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r252", "r253", "r637", "r656" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 4.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", "periodStartLabel": "Goodwill", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r254" ], "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": "Acquisition of ParkUSA (Note 3)" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r255" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r262" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.", "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r91", "r127", "r202", "r208", "r212", "r215", "r218", "r237", "r300", "r301", "r302", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r592" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r558", "r569" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r558" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r129", "r518" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "United States" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r86", "r202", "r208", "r212", "r215", "r218", "r655", "r664", "r670", "r688" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r129", "r518" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r273", "r280" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r280" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r489" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r130", "r487", "r493", "r500", "r513", "r520", "r522", "r523", "r524" ], "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]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r131", "r159", "r160", "r200", "r485", "r514", "r521", "r689" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "negatedLabel": "Tax (expense) benefit", "totalLabel": "Total income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r80", "r481", "r482", "r493", "r494", "r499", "r507" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.", "label": "Change in valuation allowance" } } }, "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).", "label": "Foreign rate differential" } } }, "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Income tax expense at federal statutory rate" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 0.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses.", "label": "Nondeductible expenses" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherAdjustments": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "us-gaap_IncomeTaxReconciliationOtherAdjustments", "terseLabel": "Other" } } }, "localname": "IncomeTaxReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r486" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "State expense, net of federal income tax effect" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r115" ], "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": "Cash paid (received) during the period for income taxes (net of refunds of $79, $153, and $286)" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables.", "label": "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables", "negatedTerseLabel": "Trade and other receivables" } } }, "localname": "IncreaseDecreaseInAccountsAndOtherReceivables", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.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": "us-gaap_IncreaseDecreaseInAccountsPayable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "terseLabel": "Accrued and other liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "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": "us-gaap_IncreaseDecreaseInContractWithCustomerAsset", "negatedLabel": "Contract assets, net" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "us-gaap_IncreaseDecreaseInInventories", "negatedTerseLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities, net of acquired assets and assumed liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedTerseLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestCostsCapitalized": { "auth_ref": [ "r613" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest capitalized during the period.", "label": "us-gaap_InterestCostsCapitalized", "terseLabel": "Interest Costs Capitalized" } } }, "localname": "InterestCostsCapitalized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r85", "r196", "r612", "r614", "r669" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 0.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": "us-gaap_InterestExpense", "negatedLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r105", "r108", "r115" ], "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": "Cash paid during the period for interest, net of amounts capitalized" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r251" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r36", "r250" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r10", "r58", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventories", "totalLabel": "Total inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r17", "r59", "r122", "r173", "r247", "r248", "r251", "r648" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r38", "r250" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventorySuppliesNetOfReserves": { "auth_ref": [ "r57", "r249" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of products used directly or indirectly in the manufacturing or production process, which may or may not become part of the final product. May also include items used in the storage, presentation or transportation of physical goods.", "label": "Supplies" } } }, "localname": "InventorySuppliesNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r37", "r250" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Work-in-process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterestAndDividend": { "auth_ref": [ "r94" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income and dividend income on nonoperating securities.", "label": "Interest income" } } }, "localname": "InvestmentIncomeInterestAndDividend", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandImprovementsMember": { "auth_ref": [ "r13" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to real estate held.", "label": "Land Improvements [Member]" } } }, "localname": "LandImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r630", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "us-gaap_LeaseCost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r630" ], "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]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r270" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth 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": "Thereafter, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": "2022, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth 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": "2026, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": "2025, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": "2024, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r631" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": "2023, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r631" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Amount representing interest, operating leases" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "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": "us-gaap_LettersOfCreditOutstandingAmount", "terseLabel": "Letters of Credit Outstanding, Amount" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r49", "r127", "r210", "r237", "r300", "r301", "r302", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r547", "r551", "r552", "r592", "r635", "r636" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "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": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r34", "r127", "r237", "r592", "r637", "r662", "r680" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "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": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r51", "r127", "r237", "r300", "r301", "r302", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r547", "r551", "r552", "r592", "r635", "r636", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.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": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r22", "r661", "r674" ], "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": "us-gaap_LineOfCredit", "terseLabel": "Long-term Line of Credit, Total" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r47", "r126" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r47", "r126" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r47" ], "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": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "auth_ref": [ "r47" ], "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": "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity", "terseLabel": "Line of Credit Facility, Remaining Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "terseLabel": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "percentItemType" }, "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 (LIBOR) [Member]" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r48" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.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": "Current portion of long-term debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermLineOfCredit": { "auth_ref": [ "r52", "r297", "r298" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the noncurrent portion 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": "Borrowings on line of credit" } } }, "localname": "LongTermLineOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r295", "r296" ], "lang": { "en-us": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "auth_ref": [ "r286" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.", "label": "us-gaap_LossContingencyAccrualCarryingValueCurrent", "terseLabel": "Loss Contingency, Accrual, Current" } } }, "localname": "LossContingencyAccrualCarryingValueCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r295", "r296" ], "lang": { "en-us": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_MachineryAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and Equipment [Member]" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r107" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r107" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.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": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r107", "r109", "r112" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.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": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by (used in) operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r7", "r74", "r77", "r83", "r87", "r112", "r127", "r148", "r152", "r153", "r155", "r156", "r159", "r160", "r165", "r202", "r208", "r212", "r215", "r218", "r237", "r300", "r301", "r302", "r305", "r306", "r307", "r309", "r311", "r313", "r314", "r584", "r592", "r665", "r684" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "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", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncatastrophicEventAxis": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "documentation": "Information by type of noncatastrophic event causing change in the insurer's provision.", "label": "Noncatastrophic Event [Axis]" } } }, "localname": "NoncatastrophicEventAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_NoncatastrophicEventDomain": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "documentation": "Noncatastrophic event causing change in the insurer's provision.", "label": "Noncatastrophic Event [Domain]" } } }, "localname": "NoncatastrophicEventDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_NondesignatedMember": { "auth_ref": [ "r558" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Not Designated as Hedging Instrument [Member]" } } }, "localname": "NondesignatedMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r190" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "Number of Operating Segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual" ], "xbrltype": "integerItemType" }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "auth_ref": [ "r73", "r84" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent.", "label": "Other comprehensive income (loss) before reclassifications" } } }, "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r202", "r208", "r212", "r215", "r218" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "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": "us-gaap_OperatingIncomeLoss", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r623", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "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": "us-gaap_OperatingLeaseCost", "verboseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r616" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "order": 1.0, "parentTag": "nwpx_LeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Present value of lease liabilities, operating leases" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r616" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Current portion of operating lease liabilities", "negatedLabel": "Current portion of lease liabilities, operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r616" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 4.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": "Long-term lease liabilities, operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r620", "r626" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "us-gaap_OperatingLeasePayments", "negatedLabel": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r615" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details": { "order": 0.0, "parentTag": "nwpx_LeaseRightOfUseAsset", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating leases, Right-of-use assets", "terseLabel": "Operating lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r629", "r632" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent", "verboseLabel": "Operating leases, weighted-average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r628", "r632" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1", "verboseLabel": "Operating leases, weighted-average remaining lease term (Year)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r501" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "us-gaap_OperatingLossCarryforwards", "terseLabel": "Operating Loss Carryforwards, Total" } } }, "localname": "OperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r207", "r208", "r209", "r210", "r212", "r218" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r8", "r553" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-1-organization" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r14", "r15", "r16", "r50" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "order": 2.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": "us-gaap_OtherAccruedLiabilitiesCurrent", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsMember": { "auth_ref": [ "r560", "r571" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other assets.", "label": "Other Assets [Member]" } } }, "localname": "OtherAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r45" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.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" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r67", "r69", "r544", "r549" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent.", "label": "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent", "negatedLabel": "Pension liability adjustment" } } }, "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "auth_ref": [ "r69" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.", "label": "Unrealized loss on cash flow hedges" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTaxParent": { "auth_ref": [ "r70" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.", "label": "Unrealized gain (loss) on cash flow hedges, tax expense/benefit" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTaxParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r75", "r78", "r544", "r545", "r549" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income": { "order": 0.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "totalLabel": "Other comprehensive loss, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax": { "auth_ref": [ "r67", "r70", "r544" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after reclassification adjustment, of tax (expense) benefit for (increase) decrease in accumulated other comprehensive income of defined benefit plan.", "label": "Pension liability adjustment, tax expense/benefit" } } }, "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesMember": { "auth_ref": [ "r560", "r571" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other liabilities.", "label": "Other Liabilities [Member]" } } }, "localname": "OtherLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r53" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "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 long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r112" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "us-gaap_OtherNoncashIncomeExpense", "negatedLabel": "Other, net" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r95" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 2.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 income", "terseLabel": "Other income (loss)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r537" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "auth_ref": [ "r97", "r100" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.", "label": "us-gaap_PaymentsForProceedsFromOtherInvestingActivities", "negatedLabel": "Other investing activities" } } }, "localname": "PaymentsForProceedsFromOtherInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r104" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.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": "us-gaap_PaymentsOfDebtIssuanceCosts", "negatedLabel": "Payments of debt issuance costs" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r102" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Tax withholdings related to net share settlements of restricted stock and performance share awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r98" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.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": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "negatedLabel": "Acquisition of business, net of cash acquired", "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "auth_ref": [ "r99" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.", "label": "us-gaap_PaymentsToAcquireIntangibleAssets", "negatedLabel": "Purchases of intangible assets" } } }, "localname": "PaymentsToAcquireIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r99" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "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": "Capital expenditures", "negatedLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "auth_ref": [ "r386", "r388", "r394", "r411", "r413", "r414", "r415", "r416", "r417", "r430", "r432", "r434", "r435", "r448" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for retirement benefits.", "label": "Retirement Benefits [Text Block]" } } }, "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans" ], "xbrltype": "textBlockItemType" }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent": { "auth_ref": [ "r364", "r385", "r660", "r677" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans.", "label": "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent", "terseLabel": "Liability, Defined Benefit Plan, Total" } } }, "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy": { "auth_ref": [ "r418", "r433", "r435", "r441" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for pension plans. This accounting policy may address (1) the types of plans sponsored by the entity (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived.", "label": "Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]" } } }, "localname": "PensionAndOtherPostretirementPlansPensionsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PensionPlansDefinedBenefitMember": { "auth_ref": [ "r361", "r363", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r412", "r415", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r435", "r436", "r443", "r444", "r445", "r446" ], "lang": { "en-us": { "role": { "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits.", "label": "Pension Plan [Member]" } } }, "localname": "PensionPlansDefinedBenefitMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PolicyTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "localname": "PolicyTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r26", "r332" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r26" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r26", "r332" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r26" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r26", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 0.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r11", "r39", "r40" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 1.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 expenses and other" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "auth_ref": [ "r5" ], "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, Comparability Adjustment [Policy Text Block]" } } }, "localname": "PriorPeriodReclassificationAdjustmentDescription", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProceedsFromIncomeTaxRefunds": { "auth_ref": [ "r109", "r115" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of cash received during the period as refunds for the overpayment of taxes.", "label": "Tax refunds" } } }, "localname": "ProceedsFromIncomeTaxRefunds", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromInsuranceSettlementInvestingActivities": { "auth_ref": [ "r97", "r106" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities.", "label": "Proceeds from insurance" } } }, "localname": "ProceedsFromInsuranceSettlementInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "auth_ref": [ "r101" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 5.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": "Borrowings on long-term debt" } } }, "localname": "ProceedsFromIssuanceOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r101", "r126" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 4.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": "us-gaap_ProceedsFromLinesOfCredit", "terseLabel": "Borrowings on line of credit" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r44", "r272" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r275", "r712", "r713", "r714" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r43", "r270" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details": { "order": 0.0, "parentTag": "nwpx_PropertyPlantAndEquipmentNetExcludingConstructionInProgress", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business 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 and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r19", "r20", "r272", "r637", "r671", "r682" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.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 and equipment, net", "terseLabel": "Property, Plant and Equipment, Net, Ending Balance" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r42", "r272", "r712", "r713" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r19", "r272" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r19", "r270" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "us-gaap_PropertyPlantAndEquipmentUsefulLife", "terseLabel": "Property, Plant and Equipment, Useful Life (Year)" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "auth_ref": [ "r175", "r176" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.", "label": "Quarterly Financial Information [Text Block]" } } }, "localname": "QuarterlyFinancialInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReceivablesNetCurrent": { "auth_ref": [ "r28", "r35", "r637", "r681", "r708" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 3.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": "Trade and other receivables, less allowance for doubtful accounts of $503 and $767" } } }, "localname": "ReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesPolicyTextBlock": { "auth_ref": [ "r229", "r232", "r233", "r234" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.", "label": "Receivable [Policy Text Block]" } } }, "localname": "ReceivablesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent": { "auth_ref": [ "r73", "r84" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss) attributable to parent.", "label": "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "negatedLabel": "Amounts reclassified from Accumulated other comprehensive loss" } } }, "localname": "ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis": { "auth_ref": [ "r83" ], "lang": { "en-us": { "role": { "documentation": "Information by item reclassified out of accumulated other comprehensive income (loss).", "label": "Reclassification out of Accumulated Other Comprehensive Income [Axis]" } } }, "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "stringItemType" }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain": { "auth_ref": [ "r83" ], "lang": { "en-us": { "role": { "documentation": "Item reclassified out of accumulated other comprehensive income (loss).", "label": "Reclassification out of Accumulated Other Comprehensive Income [Domain]" } } }, "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r83" ], "lang": { "en-us": { "role": { "documentation": "Identifies item reclassified out of accumulated other comprehensive income (loss).", "label": "Reclassification out of Accumulated Other Comprehensive Income [Member]" } } }, "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss).", "label": "Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]" } } }, "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r103", "r126" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "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": "us-gaap_RepaymentsOfLinesOfCredit", "negatedLabel": "Repayments on line of credit" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r103" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 6.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": "us-gaap_RepaymentsOfLongTermDebt", "negatedLabel": "Payments on long-term debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "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 (RSUs) [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r30", "r336", "r475", "r637", "r679", "r701", "r706" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r2", "r144", "r145", "r146", "r149", "r158", "r160", "r241", "r472", "r473", "r474", "r511", "r512", "r582", "r697", "r699" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanTypeAxis": { "auth_ref": [ "r361", "r362", "r363", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r412", "r415", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r444", "r445", "r446" ], "lang": { "en-us": { "role": { "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.", "label": "Retirement Plan Type [Axis]" } } }, "localname": "RetirementPlanTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanTypeDomain": { "auth_ref": [ "r361", "r362", "r363", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r412", "r415", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r444", "r445", "r446" ], "lang": { "en-us": { "role": { "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement.", "label": "Retirement Plan Type [Domain]" } } }, "localname": "RetirementPlanTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r193", "r194", "r207", "r213", "r214", "r221", "r222", "r226", "r350", "r351", "r649" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including 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": "Net sales", "terseLabel": "Revenue from Contract with Customer, Including Assessed Tax" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r354", "r359" ], "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]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r224" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r123", "r124" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue [Policy Text Block]" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r346" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "us-gaap_RevenueRemainingPerformanceObligation", "terseLabel": "Revenue, Remaining Performance Obligation, Amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r347" ], "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": "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year)" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "us-gaap_RevenueRemainingPerformanceObligationPercentage", "terseLabel": "Revenue, Remaining Performance Obligation, Percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual" ], "xbrltype": "percentItemType" }, "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]" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "auth_ref": [ "r627", "r632" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.", "label": "Right-of-use assets obtained in exchange for finance lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r627", "r632" ], "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 assets obtained in exchange for operating lease liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r184", "r226" ], "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": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual" ], "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]" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r73", "r609", "r610" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "auth_ref": [ "r258" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.", "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]" } } }, "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "auth_ref": [ "r531", "r532" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r507" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r498" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r168" ], "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]" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r486" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r451", "r464", "r476" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r586", "r587" ], "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]" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r258", "r263" ], "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]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r255", "r256" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r128" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "auth_ref": [ "r174" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.", "label": "Quarterly Financial Information [Table Text Block]" } } }, "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r202", "r205", "r211", "r255" ], "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]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r492", "r508" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r263" ], "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]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecuredLongTermDebt": { "auth_ref": [ "r52" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.", "label": "Long-term debt" } } }, "localname": "SecuredLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r189", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r207", "r208", "r209", "r210", "r212", "r213", "r214", "r215", "r216", "r218", "r226", "r281", "r282", "r690" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r189", "r191", "r192", "r202", "r206", "r212", "r216", "r217", "r218", "r219", "r221", "r225", "r226", "r227" ], "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]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r93" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, general, and administrative expense" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r110" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows": { "order": 10.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": "us-gaap_ShareBasedCompensation", "terseLabel": "Share-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r460" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "RSUs and PSAs granted (in shares)", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r460" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "RSUs and PSAs granted, weighted average grant date fair value (in dollars per share)", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r459" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Unvested RSUs and PSAs (in shares)", "periodStartLabel": "Unvested RSUs and PSAs (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r459" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share)", "periodStartLabel": "Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "RSUs and PSAs vested (2) (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "auth_ref": [ "r463" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "RSUs and PSAs vested (2) (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r463" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Net number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures, Total (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r456", "r467" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r450", "r454" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "terseLabel": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r453", "r455" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Payment Arrangement [Policy Text Block]" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "us-gaap_SharesOutstanding", "periodEndLabel": "Balances (in shares)", "periodStartLabel": "Balances (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r624", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": 0.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "us-gaap_ShortTermLeaseCost", "verboseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r120", "r143" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StateAndLocalJurisdictionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.", "label": "State and Local Jurisdiction [Member]" } } }, "localname": "StateAndLocalJurisdictionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r6", "r189", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r207", "r208", "r209", "r210", "r212", "r213", "r214", "r215", "r216", "r218", "r226", "r255", "r274", "r281", "r282", "r690" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r2", "r56", "r81", "r82", "r83", "r144", "r145", "r146", "r149", "r158", "r160", "r177", "r241", "r335", "r336", "r472", "r473", "r474", "r511", "r512", "r582", "r604", "r605", "r606", "r607", "r608", "r610", "r697", "r698", "r699", "r762" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "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]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r144", "r145", "r146", "r177", "r649" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows-parentheticals", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-comprehensive-income", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-1-organization", "http://www.nwpipe.com/20211231/role/statement-note-1-organization-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans", "http://www.nwpipe.com/20211231/role/statement-note-11-retirement-plans-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies", "http://www.nwpipe.com/20211231/role/statement-note-13-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-1-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-2-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-net-sales-from-continuing-operations-by-geographic-region-details", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-effective-income-tax-rate-reconciliation-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-income-loss-from-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-components-of-income-tax-expense-for-continuing-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-current-and-noncurrent-deferred-tax-assets-and-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-summary-of-accumulated-other-comprehensive-loss-details-parentheticals", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-summary-of-selected-quarterly-financial-data-details", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-assets-acquired-and-liabilities-assumed-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-pro-forma-summary-details", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-components-of-inventories-details", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-property-plant-and-equipment-details", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-schedule-of-goodwill-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-estimated-amortization-expense-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-future-maturities-of-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-terms-and-discount-rates-for-lease-liabilities-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-leases-recorded-on-the-consolidated-balance-sheet-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-other-information-related-to-operating-and-finance-leases-details", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r26", "r27", "r335", "r336" ], "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": "Issuance of common stock under stock compensation plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r26", "r27", "r335", "r336", "r458" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r26", "r27", "r336", "r452", "r462" ], "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": "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation", "negatedLabel": "Issuance of common stock under stock compensation plans" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r27", "r32", "r33", "r127", "r231", "r237", "r592", "r637" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "us-gaap_StockholdersEquity", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets", "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-12-sharebased-compensation-tables", "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-tables", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-tables", "http://www.nwpipe.com/20211231/role/statement-note-16-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20211231/role/statement-note-17-segment-information-tables", "http://www.nwpipe.com/20211231/role/statement-note-18-quarterly-data-unaudited-tables", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-tables", "http://www.nwpipe.com/20211231/role/statement-note-4-inventories-tables", "http://www.nwpipe.com/20211231/role/statement-note-5-property-and-equipment-tables", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-tables", "http://www.nwpipe.com/20211231/role/statement-note-8-leases-tables", "http://www.nwpipe.com/20211231/role/statement-note-9-fair-value-measurements-tables", "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardAmount": { "auth_ref": [ "r501" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "us-gaap_TaxCreditCarryforwardAmount", "terseLabel": "Tax Credit Carryforward, Amount" } } }, "localname": "TaxCreditCarryforwardAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_TaxCreditCarryforwardAxis": { "auth_ref": [ "r502" ], "lang": { "en-us": { "role": { "documentation": "Information by specific tax credit related to an unused tax credit.", "label": "Tax Credit Carryforward [Axis]" } } }, "localname": "TaxCreditCarryforwardAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardNameDomain": { "auth_ref": [ "r502" ], "lang": { "en-us": { "role": { "documentation": "The name of the tax credit carryforward.", "label": "Tax Credit Carryforward, Name [Domain]" } } }, "localname": "TaxCreditCarryforwardNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes", "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_TaxCutsAndJobsActOf2017ReclassificationFromAociToRetainedEarningsTaxEffect": { "auth_ref": [ "r71", "r82" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accumulated other comprehensive income (AOCI) for reclassification to retained earnings of tax effect from remeasurement of deferred tax pursuant to Tax Cuts and Jobs Act.", "label": "us-gaap_TaxCutsAndJobsActOf2017ReclassificationFromAociToRetainedEarningsTaxEffect", "terseLabel": "Tax Cuts and Jobs Act, Reclassification from AOCI to Retained Earnings, Tax Effect" } } }, "localname": "TaxCutsAndJobsActOf2017ReclassificationFromAociToRetainedEarningsTaxEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r351", "r357" ], "lang": { "en-us": { "role": { "documentation": "Information by timing of transfer of good or service to customer.", "label": "Timing of Transfer of Good or Service [Axis]" } } }, "localname": "TimingOfTransferOfGoodOrServiceAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r351", "r357" ], "lang": { "en-us": { "role": { "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.", "label": "Timing of Transfer of Good or Service [Domain]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks and Trade Names [Member]" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-3-business-combinations-intangible-assets-acquired-details", "http://www.nwpipe.com/20211231/role/statement-note-6-goodwill-and-intangible-assets-summary-of-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred at point in time.", "label": "Transferred at Point in Time [Member]" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredOverTimeMember": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred over time.", "label": "Transferred over Time [Member]" } } }, "localname": "TransferredOverTimeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-14-revenue-disaggregation-of-revenue-details" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [ "r0", "r1", "r2", "r3", "r4", "r148", "r149", "r150", "r151", "r161", "r235", "r236", "r238", "r239", "r240", "r241", "r242", "r243", "r299", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r509", "r510", "r511", "r512", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r633", "r651", "r652", "r653", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r758", "r759", "r760", "r761", "r762" ], "lang": { "en-us": { "role": { "documentation": "Amendment to accounting standards.", "label": "Accounting Standards Update [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_UnrealizedLossOnForeignCurrencyDerivativesBeforeTax": { "auth_ref": [ "r564" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized loss recorded in accumulated other comprehensive income pertaining to the decrease in fair value of foreign currency exchange rate derivatives designated as cash flow hedging instruments to the extent that a cash flow hedge is determined to be effective.", "label": "us-gaap_UnrealizedLossOnForeignCurrencyDerivativesBeforeTax", "terseLabel": "Unrealized Loss on Foreign Currency Derivatives, before Tax" } } }, "localname": "UnrealizedLossOnForeignCurrencyDerivativesBeforeTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-10-derivative-instruments-and-hedging-activities-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r480", "r490" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "periodEndLabel": "Unrecognized income tax benefits, end of year", "periodStartLabel": "Unrecognized income tax benefits, beginning of year" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued": { "auth_ref": [ "r488" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of statutory penalties accrued for a tax position claimed or expected to be claimed by the entity, in its tax return.", "label": "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued", "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties Accrued" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r491" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Increases for positions taken in prior years" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-15-income-taxes-summary-of-changes-in-unrecognized-tax-benefits-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r178", "r179", "r181", "r182", "r186", "r187", "r188" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": { "auth_ref": [ "r136", "r137", "r138", "r140", "r141" ], "lang": { "en-us": { "role": { "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.", "label": "SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]" } } }, "localname": "ValuationAllowanceOfDeferredTaxAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r136", "r141" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "us-gaap_ValuationAllowancesAndReservesBalance", "periodEndLabel": "Balance at End of Period", "periodStartLabel": "Balance at Beginning of Period" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r139" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "Charged to Profit and Loss" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r140" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "us-gaap_ValuationAllowancesAndReservesDeductions", "negatedLabel": "Deduction from Reserves" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [ "r136", "r137", "r138", "r140", "r141" ], "lang": { "en-us": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r136", "r137", "r138", "r140", "r141" ], "lang": { "en-us": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "xbrltype": "stringItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r625", "r632" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "us-gaap_VariableLeaseCost", "verboseLabel": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-8-leases-lease-cost-details" ], "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/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement", "http://www.nwpipe.com/20211231/role/statement-note-7-credit-agreement-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r168" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Effect of potentially dilutive common shares (in shares)" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r163", "r168" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "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": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted weighted-average common shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Shares used in per share calculations:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r162", "r168" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "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": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-consolidated-statements-of-operations", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WorkersCompensationLiabilityCurrent": { "auth_ref": [ "r50" ], "calculation": { "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details": { "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 and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Workers compensation reserves", "terseLabel": "Workers' Compensation Liability, Current" } } }, "localname": "WorkersCompensationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-summary-of-accrued-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_WorkersCompensationLiabilityCurrentAndNoncurrent": { "auth_ref": [ "r21", "r23", "r659", "r676" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations and payables pertaining to claims incurred of a workers compensation nature.", "label": "us-gaap_WorkersCompensationLiabilityCurrentAndNoncurrent", "terseLabel": "Workers' Compensation Liability" } } }, "localname": "WorkersCompensationLiabilityCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_WorkersCompensationLiabilityNoncurrent": { "auth_ref": [ "r53" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the noncurrent portion of the liabilities (due beyond one year; or beyond one operating cycle if longer).", "label": "us-gaap_WorkersCompensationLiabilityNoncurrent", "terseLabel": "Workers' Compensation Liability, Noncurrent" } } }, "localname": "WorkersCompensationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.nwpipe.com/20211231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "21B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=SL94080549-108585" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4313-108586" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r126": { "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" }, "r127": { "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" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r131": { "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" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(n))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r135": { "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" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r143": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=SL124452830-107794" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r161": { "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=122038215&loc=d3e31137-122693" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=d3e1280-108306" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=SL124452896-108306" }, "r176": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "270", "URI": "http://asc.fasb.org/topic&trid=2126967" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r18": { "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" }, "r180": { "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" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599" }, "r19": { "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" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r21": { "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" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8475-108599" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599" }, "r227": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524" }, "r23": { "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" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124402435&loc=SL124402458-218513" }, "r237": { "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" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(4)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r251": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r26": { "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" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r261": { "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" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r27": { "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" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6393242&loc=d3e13283-110859" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6393242&loc=d3e13296-110859" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6393242&loc=d3e13207-110859" }, "r28": { "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" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r281": { "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" }, "r282": { "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" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r285": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r286": { "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" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r29": { "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" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB TOPIC 5.Y.Q2)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r294": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1314-112600" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1336-112600" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S65", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359872&loc=SL124427846-239511" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r30": { "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" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r31": { "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" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r33": { "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" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r331": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644" }, "r336": { "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" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130533-203044" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045" }, "r35": { "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" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r359": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "710", "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "712", "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "712", "URI": "http://asc.fasb.org/extlink&oid=6410066&loc=d3e79218-111664" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123453770&loc=d3e1731-114919" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r389": { "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=123447040&loc=d3e1928-114920" }, "r39": { "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" }, "r390": { "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=123447040&loc=d3e1928-114920" }, "r391": { "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=123447040&loc=d3e1928-114920" }, "r392": { "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=123447040&loc=d3e1928-114920" }, "r393": { "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=123447040&loc=d3e1928-114920" }, "r394": { "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=123447040&loc=d3e1928-114920" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r40": { "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" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r41": { "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" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(l)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(o)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(p)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920" }, "r43": { "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" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4587-114921" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=6412939&loc=d3e15145-114933" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "60", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=29639808&loc=d3e29008-114946" }, "r437": { "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" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r44": { "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" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=d3e29149-114947" }, "r442": { "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" }, "r443": { "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" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450691-114947" }, "r447": { "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" }, "r448": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899" }, "r45": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r46": { "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" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r462": { "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" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r465": { "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" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r467": { "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" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r47": { "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" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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=122041274&loc=d3e301413-122809" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907" }, "r479": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r48": { "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" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r49": { "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" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755" }, "r50": { "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" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=124434304&loc=d3e36027-109320" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r51": { "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" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r513": { "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=122134291&loc=d3e330036-122817" }, "r514": { "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=122134291&loc=d3e330036-122817" }, "r515": { "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=122134291&loc=d3e330036-122817" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r519": { "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=122134291&loc=d3e330036-122817" }, "r52": { "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" }, "r520": { "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=122134291&loc=d3e330215-122817" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r522": { "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" }, "r523": { "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" }, "r524": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r528": { "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" }, "r529": { "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" }, "r53": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r538": { "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" }, "r539": { "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" }, "r54": { "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" }, "r540": { "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" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123403335&loc=d3e9972-128506" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123403335&loc=d3e9979-128506" }, "r543": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683" }, "r546": { "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" }, "r547": { "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" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r549": { "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" }, "r55": { "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" }, "r550": { "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" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r553": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959" }, "r56": { "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" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "4CC", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL109998890-113959" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=d3e41675-113959" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "182", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123421605&loc=SL5629052-113961" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121549185&loc=d3e80748-113994" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)(2)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(2)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r585": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "815", "URI": "http://asc.fasb.org/topic&trid=2229140" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL120254526-165497" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL120254526-165497" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL121967933-165497" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL122642865-165497" }, "r6": { "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" }, "r60": { "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" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123597120&loc=SL122642865-165497" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r61": { "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" }, "r610": { "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" }, "r611": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "http://asc.fasb.org/topic&trid=2175825" }, "r612": { "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" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r62": { "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" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918666-209980" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "848", "URI": "http://asc.fasb.org/extlink&oid=122150657&loc=SL122150809-237846" }, "r634": { "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" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r638": { "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" }, "r639": { "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" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411" }, "r649": { "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" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313" }, "r650": { "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" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r654": { "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" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953" }, "r656": { "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" }, "r657": { "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" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r659": { "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" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(i),(j),(k)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r661": { "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" }, "r662": { "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" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(i-k)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r670": { "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" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r674": { "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" }, "r675": { "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" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r678": { "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" }, "r679": { "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" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580" }, "r690": { "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" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r7": { "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" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e640-108580" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r701": { "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=124501264&loc=SL117420844-207641" }, "r702": { "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=124501264&loc=SL117420844-207641" }, "r703": { "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=124501264&loc=SL117420844-207641" }, "r704": { "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=124501264&loc=SL117420844-207641" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r708": { "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" }, "r709": { "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" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL116659650-108580" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r715": { "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" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691" }, "r726": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r727": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r728": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r729": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580" }, "r730": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r731": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r732": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r733": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r734": { "Footnote": "2", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r735": { "Footnote": "4", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "29" }, "r736": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column B", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r737": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column C", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r738": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column D", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r739": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column E", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r740": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column F", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r741": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column G", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r742": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column H", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r743": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column I", "Publisher": "SEC", "Section": "12", "Subsection": "28" }, "r744": { "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "09" }, "r745": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "01" }, "r746": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "02" }, "r747": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(ii)", "Subsection": "01" }, "r748": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)", "Subsection": "01" }, "r749": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "01" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r750": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "02" }, "r751": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "01" }, "r752": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "02" }, "r753": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(C)", "Subsection": "02" }, "r754": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "01" }, "r755": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "02" }, "r756": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(m)", "Publisher": "SEC", "Section": "4", "Subparagraph": "(1)(iii)", "Subsection": "08" }, "r757": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "848" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "848" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "848" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(01)", "Topic": "848" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580" }, "r8": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581" }, "r85": { "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=123367319&loc=SL114868664-224227" }, "r86": { "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=123367319&loc=SL114868664-224227" }, "r87": { "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=123367319&loc=SL114868664-224227" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r89": { "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=123367319&loc=SL114868664-224227" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r90": { "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=123367319&loc=SL114868664-224227" }, "r91": { "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=123367319&loc=SL114868664-224227" }, "r92": { "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=123367319&loc=SL114868664-224227" }, "r93": { "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=123367319&loc=SL114868664-224227" }, "r94": { "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=123367319&loc=SL114868664-224227" }, "r95": { "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=123367319&loc=SL114868664-224227" }, "r96": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "http://asc.fasb.org/topic&trid=2134417" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" } }, "version": "2.1" } ZIP 111 0001437749-22-006431-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-22-006431-xbrl.zip M4$L#!!0 ( #R"<%1W>^V9W0( (1 - 97A?,S,W-# R+FAT;>58 M74_;,!1]IK_BK@_PTO2+:: D1 HEE&JEC9)T;$^3F]PV'HD=; ?H?OVB>=?K??A[[9^V3VN^!> M@V$X=HZ*0)P2(5&=-4NU,$Z;VR@C.9XU%USD1!D)*HP5Y:P),6<*F:ZM,,,B MY0S/&&\Z#;NSX6S/>;("J5;9NCE3AJ0_T81>MU 6K ,+DM-L9<+A7$[8)6E"0)*%L:4*7,NBV>Y19$)="VYXWV]&IV/(KLSWY&9._U>NU<%WN+U'GU_>]Q>'_(= M(FPA84\-^%%*11#*;7OCOY]C<1WI%@.#L/ M1Q%Y(SB B[A2N>58XK6S!B<;L%4X%+ MSNJBQ>3&'[1@/-:W"\S( Q%8EZ[?1,/=X,.L';9W$V"@F^D- *.D+DJ<\PQ9 MS)^[0OUDJ-8") CA.-#+(:Q>@W%U'WS1)HF/-.9UDV+3ZYJ+$=!J:;1KKL+6 M'&)M#GO>P$BE1E3JW14E$EP_K+E,55IZ3\"G!0)A"?@"8R*5GD!Y0=BJ!3-% MTKJ(X1-Q"QZ[IX*S7*?/.BWW[DI:5.^M#>"YGZOT>J_4'UY&P8M8NC $?_@]&&.6@3^%\S M,SHJB4MD>;+S4VRXJ3#! M^S_#<'+@3<:DC=U>2-J?'0?.4:!B!G-(UW!3MB)']5[6" NI#*O @=#U#]S M"P(XF@5'LW *BTMPG"2NT3#(2J8TFI-1:PIG.AJD@M5X,BJDJIEQ%S#VN8ALU.9)J"_Z;@.Z98HS86;"UE!% M-5,K+F96/4IV1:J;*':;9.<+&,\@_@N"P7OCL(JOQ$SQ56DV(.'A,^W@XS0Y MO2]YRDWLI@_)I$D0CGTK>"FOUZC]-3!@]U,K3?0,J1=&\(@''2 \080!$C88 MAXR>2E01#'F ]\#T.RDTZ4 6\!O-1H/T1<YE81@.TN#@^"B<[ $3^1:?J?71 MGSGYQ][T\*#SV1 >!H>3<,_V\XHV7'F'VL""-PCO9-TPL;8:V2HJ@XHRD'>[ M\9*IK.SC^T?[8+?A/EE4K.OWP(0E1E:\]RBX8"+CM$'U8\4V%6NY10DZ*S%O M*WPA,^M^W:::YYRZ1#U]:X/9P@(O&HRZDQ_M_8N%16&W[RWM>:UM<"O<,/8G MD:9.T;,L*!^[H)6L0-ZBVDBS)X-JW0?6-$CH5';77JYA+D1+-LN>L"==];V! M]@\OE$6OB2ZI-<4%.U\YO,<,ZQ35T%*_H]P??^V!^FZ&=G.U_=5JPXOU\TEV MM0N74NL^HWG.ZN'OQ<7B1^' WG$J&I1]^%WA2HIO(:,LYN>GSJ_+T_D'>Y_:T"[.SVZ6SV1EX2AY][DPPZJ"Q?G5Q\M'-+*P MU[XM/Y2%:Z^!]/KL+K/_ %!+ P04 " \@G!4&?\)56L( B,P #0 M &5X7S,S-S0P."YH=&WM6V]S&C<3?YU\BJT[39T9P/RQ&Q-[3%D MIL^KCKC3^=3H3A=)!^;Y],^N=)@_!L=.6S_0(3,!G[225JO]:7^K$^W8)K+3 MCCD+.Z]?M:VPDG?XW1^-QKO#ZG$%:]L'OA!KORN7X0-/N6:6AS"AW>-1N'S:,J7'^$YW7[0.O<'NHP@D8 M.Y&N>6K+1OR7-Z%6S6P+7$'$$B$G37CS)5>V-1 )-W#)QW"C$I;ZPA9D+ Q% M>MN$JDBA6JF)M 5!KHW236"Y52T:,UL8J.CWQZ4>?VS-U'!:N,<1TX*EMIG2 M#&4K8?I6I$VJWNN\28ST?O_EXO1BT#X83I49=AJU2HT*'M/K)>;^^+JM7O+IB% ,"7/6@ #] MB>L6%'I =6J%L][-X.+]Q5EW<'%U"=>?;OJ?NI<#&%Q![=CK^:G2KYQ5H-\[ M(Q%?5FL<54M?,]3+3:+;A^[YU?6@=[XP@P65&]4Z7+V'P2\]Z'=O3KN7O7[Y MZO??>O^![MF :NK5:OU?N?9_YL:*:+)LMXL2] -E+7S$'K0RIH0&UB0)-F:V M^8)VL&PH.0R5QEWU9*^*.R"7LMB=[I]-QH+IK/[=^!17!)=;'8VXL7(N,PYE*,I9.6LNSQ6]-RXO? MY#L[1]U41ZUOKJ.>,H/NB;Z83.!SJL:2A[>\Y/U5>T<-%8Z:*NLH&4.6A+X( M.6Z7.4. MX\[U:; L1&5P2$E,AL8@@4#H($]0+,7FX&@HC&,1Q&!R^IBU'W/-BTYH HDP M$LDC^B6,A8UQ@B9#ODFC4[\9JJ9"G"9ZGB>Y+X"/M04.\E$LLEX@J!J#+*!;'4.*4"9F*(I!J;*4HUOQ7&:K0&,"KT MRJ.JI3FPF:E&#U3>X6U;\7:XN7@;+/@E4:[:NY8I$%40?XH.*HH$/NZ;M\YI M+X!I[C""[B[(']"- ?D9^H8P,;4@L02#(P5(>@Z%":0R.;8+7&HA/4XRK0(> M8K&!?81%R!%GWO=[=T',TEL.78Q(-[GD9IIFLG+M:)][56I'H7_RCX*2P=2# ME 8!BEUSV/58(H6>-UJT,%J$H]&,EV&-$D1SFSNHKH7JX=$F0Y5M+E3/N<$Z M=%;'Z;X.IQ+1S8#EYNE-B/<-.:*B&,DS297C0N<8GD;"N*"'4CQU_="1P"QF MSL==S25S,"NHY PEI2(F4Z7 T(FZ&"5%Z,Y133XT(A1H&9J \(37,8&4>LH- MD5"W.QG'6%V(5(:C0A9#,C7*&#EC+AF%=YR64V)&9K&%I\;SC![_&G(2Q."+ M[7FX"[;;BN#AMB#XR9'J 9"?'N.>C&?< T8B))@RHU+G=,P@Q"FC).PR'4YQ MA,@6;"BDL!-BMJN&I5W%0R,FAR*]Y%-%; MN1%ZI%F1WMW3Z"=$7/^X.N-S2,6&&"V-SRN'*K?K-7@*)V#WTIPRY^CKYSPP MG.;D;O/AWA*H3XLZWX%M2\$6;B[8SKT?/\0#G;,669JK60FZ9T1'8J\J"')- M7C]'%5?TFBACL9Q>-F)?!ET ON3(-+'K_35-(H0OQJTEZ4+Q $'ECHCI]-B] M!?%ZO?5:Q [N/'14P-FC"-,3D.(SE\5Y\9)\Z2^;: ?Q;3YW.MI< MB'_SN9-[BQA.-XC2+#A1K)P'Z2Q.$0;8?)*SWVC%,6JW2YI[?N@+L,DF$ MM9P_P@2&"ADTU8<"]7.=[".4,? :"NSX3:GS=/_A7W*!ZKN])D_=_1_S=G>H MM*VA=H,/E;H2DS&L%0@S.L&D ]% < 1%P4WO#W?&G'TFLNF3,T+I#72&"I*Z/#9))->%8.XZ5CX)L ;F(M+^%%3\PY)9AX"]YV:[ET U+([^+[J_K4>T[W>J!S_[KWUXFN^UP#OV_RQ/6;]1/\X=L:_S\6I#WL MN#NK"Y>VI_=7[R_O[FSZ3)N>%ZE*":XU4CTB$O[*REDL>+1@[-X=#W(ZCEPH MO?+)V^SZ],OJOU^\$V!R02N^4MN73FU[W5_H%QESM]8?W@YNELC@J:S5^6$A1$ZX_7'[Z.!L-)>AG)"N^4(L# M^ED)FL3]-N9_4$L#!!0 ( #R"<%3K,]KY@0@ # S - 97A?,S,W M-# Y+FAT;>U;X7,:MQ+_G/P5>NXT=68 [8;%XAGL(U3)HGM,:3M^_1&W.E\ MJG721=*!>7]]=Z7#W&%PG+0OAC=D)N"35MJ5M#_M;W6B$]M$''=B1L/CER\Z MEEO!CMG=?_;WWQS4?ZE!;6?/%T+MOZI5\HY)IJEE(1E-R3#.9,CTF4H8N5+: M4D&JI+G7/-IKUIM-TJBW#HY:]3JY^DBJU>-.PBPE04RU8?;M3F:CZM%.7BII MPM[N1$HGU%9#9EE@N9([)%#2,@G2E@F6QDJRMU+M'+_L['F3.R,53HFQ4^&: M2ULU_+^L!:I3VR:N(*()%],6>?4Y4[8]Y DSY()-R+5*J/2%;9+2,.3RID7J M7))ZK<%EFP29-DJW",VL:J/.M*0H[_>GA1Y_:L_-<%:XQS'5G$K;DCA"T4ZH MON&RA=4[QZ_DR*3MSEYZ_'*%C@453]%@V9VM4L%O9$OSF]@65)+9_R.GOC,Z M[OWQ:_^D/^SLC6;&C([W&[4F%CQFU_<8^^/KMGS)9QI)KI+D.LGBZ$EAFD@ MCL:TGY'3WO6P?]X_[0[[EQ>E>;GZ=#WXU+T8DN$E:1SYXD^U0>VT1@:]4Q3W M98W]PWKE2Q/X/(/K#DCW[/)JV#LCQ=&4S-^O-\GE.1G^VB.#[O5)]Z(WJ%[^ M\:'W;](]'6)-LU[___&/XDS]F1G+HVEI7L&2?H5TJ5:2_,[%+9>F E.J49#8 MF-K6=YP&2T>"D9'2L/6^W:G#)LF$R#>P^V>3TF#VG)LTX:&-<1[J/^8CYK![ MXS34TSOXRN7+ MN7JO(T_9[&:K5YJ^1LU-'2I=;=ILF_^^IO5)3,>,:#;F; )1U<;^OVCMJJ$"K5-:Q-@I$ M"GR19-+JC(&90!H36$1T6PI[*T0C#CX>T0"*-%$)M[!P7NZ!@&0!,X;J*8HD M]):!WD*?!LI", 94"B0[J ,% JZ#+ $Q"29 M.Z?M$ZJ9PPBX.T=_ #71!3><-(%R+2=2:8F66E,9AZ)_\(\?T M3WJ0HA*"L:N 78\E-.CKM$4E;1%HPQ$OPAHDD.:VME!="=6#PW6&*EU?J)XQ M W7@K([3?1E.%:2; QMRXH =23+I^\$A@ M'C.+<5 M,H,DU.U.QC%6%R*586"0A9",C5**SI@)BN$=AN6,F)-9:.&I<9'1PU\CAH(0 M?*$]"[?!=E,1/-H4!#\Y4CT \M-CW)/Q#'O F(<(4VJ4=$Y'#4 <,TK$+M7A M#$> ;$Y'7' [16:[3"WN*@YR#DU^0RB)%C)21QSN\@&EF4X!S<;1\2 MW<& MN-STQKV1$0!JJ&$I[A8H GFW!R[L*CR%L+V%[J9"-UA?Z/;&5&0N0J%?LRC" M%W=C\$BS)+V[I]%/B+C^<7G&YY *#2%:&I]7CE1F5UOP%$Y [Z499L[1E\]Y MR&B6D[O-A_F9 'O:V/D6;!L*MG!]P7;F_?@A'O"<-<_27,U2T'U%=$3VJH(@ MT^CU!:JXI-=$&0OE^'H1^C+@ N1S!DP3NMY=T20"^$+<6I#.#0\ 5.Z(&$^/ MW5L0;]=K;U5,S3VOQHCGX,Y"1P7DH$OV4B/R]>D*_\[2G:0GR3SYT. MUQ?BWWSNY-XBAK,-HC(/3A@KBR"=QRF$V5>0[0<)Z[UU%))6J[2YY[>N +I, M$FXM8X\P@9$"!HWU(0?[7">[ &4(O 8#.WQCZCS;?]CGC(/Y;J_)I+LB]'I[ MIK2ID7:-SY2Z G(QJ.6 ,CS Q//0@#/ 1$Y-[\]V)HS>(M?TN9ECFRZK=.\T M9V\^O@II^3&,/TA>$LYH" T-NX]F*U&9YZ+0!* %?EGQA-< VS59 N.%.7*# MR5G$TA=%VTBWR1!;XT.?+G#62$.DJ(##,Q?? #+NY7N.K8JG?%R.E1@SY'V2 MWN1W"'0>$EF2"C5E4#N)E0^"M(1<0-H_0HH?3.2&8>!O7)DKPF<.ED5G6@ - M8L8W;-9K/__XJ']]P_760'W/^!7M'REJ5Y"8W M:@?_6XM/I@]H2]$VO[Q5;U/+O04@C?2._%!W_]J/V=[__"^?S%8);GJ,S!5R&G,6E2K/9YMRJ?32 M)T+^SLASC>U4:0@3L N53!NP0#-+]?2YS-K-#_\7IBQ:.I%Y1OGZWMCGCW4A M'Y- 4&/>[GSH#H;5J^Z[7O7DNM=]C[_&*-1>O3L?7B^4Q5%5J\G#0HR/Y.K= MQ:>/U8;4_;2!#^#+]B+J@4)#NQ': 0AT@A M!!JU)%%LI-ZGT\;>X#W9N^YZ \G]^IOU2TARP%6J&O5>$,AX9[PS\^PS+W8[ M4DG<:4>4A)W]O;9B*J8=NOBMV?QP8EMUE+8;Q2)*?S%-N*6<2J)H"-,E^-&< MAU1>BX3"6$A%8C#!:3@G#<=R'#AOG3HMRX+Q'9AFIYU012"(B,RHNJS-UMN#PZUPHUV<)S6!(GV B$L*+11=2$H:, M/[3 8ARLNLVX"\%<9D*V@,R5<+7-=,-0N>_[K1W?N\]NY%[DMX]$,L)5B^L( M8S?F MV]-._\O'P=7 ;S>FE3/33M.IVWKA+;]V$?O;Y_;RD5<6H30):VA @'RBTH72 M#[ J%'K]B3^X&?2Z_F TA/']Q+OO#GWP1V"?;T!S7_?JO3IX_9[6W!#9S5/+ M^#O8=A=2UX/N]6CL]Z\WXGG)\POK#$8WX'_L@]>=7'6'?<\*39;;L,WX+KZ\*(2P1-3$:B(0I?S.9:Y"4VQWH&8P1"OT1/- M%(Q92J$GDI3P)1P='IP[CN66]_F=[1X#[G6#3A1QVI9>MR[<3^BGS/=/J60B M!(IU-81K&M!D2F6AW;0-/ 7'!I+!C,4H7WGE4:Q63#&$A/ 0^@LLL_PA]R9A M6:8CP%^M&6+MAHA*BJY7/A;!5"X:,## "X12<(?@29%E!EPSB4@(:E,8_(*>$T,T>+F"ZA&^3GHWEKH)RH MU@ZIJ\@TIC 5$MOC9Y:[TJ6,J[!UJQ< MZ"ZTM[^';5I6^H\:UX#$%9F52',MK11N;UH4_%SX<9@PB21.L4)KNAI:3.(8&QN.!PR[%@I2Y&]F MY$_-&"<\T.NX8C8;^9.1Y;V7%ZT&UP9&7X/JIX,!Q>'/^6;'O9!LOGO<$1E$Y8AQE@_]S@YGUY ]0A"3 M++NL?>YZOCGNWO;-JTF_^TE_!5F3CF]O_,G66C0SI7CZZZ*NPS"^'=[?/5M# M#?TIYX4+>M'0GW:0,_D'JC\!4$L#!!0 ( #R"<%3V0R!NV@0 "\3 - M 97A?,S,W-#$Q+FAT;>U8;5/;.!#^#+]B+PP49N+$-B\-<2%B M"D,A%8G +MN']5MT[:AT3RVFU8#AK=@&.U63!4!/R0RI>JL,E-3HU$I1CF) MZ5EE*F1,E!%017W%!*^ +[BB'+T5C6@2"D[/N*BTMUOU''%K(H(YI&H>98]S M9:3L=]H$RTR4 ]G E,0LFC=A[\M,*,=C,4VA3Q]A)&+"\T$'$A($C-\WP60< MS)K%N /^3*9"-A%#9$BJYW5TY*04KIC]W=J\[YQG,!F6[/:!2$:X:G*]SLB) MB;QGO*G-E?8>GZ2)TZHG[>U78JR%^)8(BCXI@T3LGCQ_5Z@SX,[T;C.[?O@3< JU%*S5UM7.O48-SM:,^2R3H\-JM_ MEK;-+EQK$,_U"!Z9"D&%%%S.9RAV(YJ@ZH&80A^OX2--%0Q9 M0J$CXH3P.>SO[31LVW2*^^S.<@X Y[I$$/DZ+5./FZ?.->*4V?P)E4P$0%%= M [B@/HTG5.;>AU85=\&V@*0P91':EZC&%#6+*88I(3R [A.*+;_/T,0L3?4* M\$=[!JC@$%))$?H"8[Z8!<0J]*K@$HD/?&31;XRG59R?,P3X,_-1[K4D!DBY M*G1"1J=PR3CA/L.L#*93])#5#$1'2)Q6AT-T$K5>SG6^-(@B*55DKM2YKT*" MDCO#+0(EL-SR]19UMK=CG;QWBH3I^M+K)X%(]%&T^MRJHZ9S$6Q,Y(1PFAJ# MIXC.P?6S;=-TKJ*=J.8&&:W()*(P$1+/SK.*B<<IPGQ%_<%I$<6 MJ%!3VMPMR,NXW@)-UB=].&UM;^$9+A?^#SJO/HD6'%^Y0!:%%@I+?O60983';6N@E>PD9D2F\?F(6N* I_.HFB.0A GD2ZN M9<%)^F7&)(UQ#U)-IW&N$PN6[A.L= G6\7YPL.3A.3HHEE/ M"5ZEWER\:N;\3].-T]3^L6G*>-XZ:X77+3-A'%61Y5J_X#!A$DF^X?S M]SOZC%7J/Q-]G2\Y)&,BE!)Q,Q41"\!*GF#'S/XY:P6AZR&?V#9K)[MO4NS[ M7A**%K*4TGI:S[/Z]6_7'0WZ^9\?>S?7O?[XK2IY?57'-6MW9?-*I'DI?S]4 M?G2#K=ND4A]=M$S+3OD_EY*\52SE1+>-I8'U%K)D7+:3I=&76\N2R[+-_&N2 MOVD1^UO??FZ)],.BFSG)7COL#;;) 7L /R)I>E:Y<<>>,72ONL;YJ.M>Z^\P M*];AU:4W6AL+IX84CU\/:LV'X57_[O8Y&GKH3THO7!!%77]B0B)E'\K^ %!+ M P04 " \@G!4]9I8N?H0 ";40 #0 &5X7S,T,38S,2YH=&WM7&US MVS82_GS]%3CWVB8SE"W9>:O?9AS';CUM;(_M:^<^W4 D)"$A"18 )>M^_>TN M +Y(]&MR<7Q.IXDMB@06NXO=9Q\LLSVQ6;J[/1$\V?WN;]M6VE3LBLM_;[P8 MO-H8K,*WVVON(GS[]UZ/_2)RH;D5"1O.V<6DS!.AWZE,L%.E+4]9CVVLO5Q; M[Z^OL]>;+]_ _^ST/>OU=KB9V5D=(9M[U$ M6!%;J?(5%JO'*IDS8^*W>_N,%HJ1EV#;>/J6DL/*_UI89$_18RN1,P(+4=> M+[6B:L'PBUTO7R*G0?TBD98/:1Z>&K'"$FYYCQ=%.K=J9Z4(%T!1O6*WA[L'E M1 ZE=:O:6!ULKPUWVR[0N<*%F;;:([N/4ZXES^UFCALZW6HL)49WTEM^I?@ MR7)KVS@AO[!T)XD!VS]Y?[IW_*^;1%ERA=L(TYJZ M.TQ]Z3D^3:4?2F/E:-Z# MB-F),(*="PB""3L3$%LPZ>UI*^,4)%,C=I3'2A<*LB$D*V;*0D!J2P0^R<2E M! GR,>/A 0[#\#1E$+.F4I5P(1-Y G^L8<_<9#]^_V9]O;\5YJ"/@ZWGJX_; M%EWN[3_T7D!V4V4!GD2 M%O-"(LPW5L4?G4.+EC]#N#00^BA #EY&_7X?_Z#7:A^6"X[VX_Q]M#0*1-,>AW#(Z 4&@-@MYV_-/JB=84#[ZG MOH1/O+VG3YSD+L>-1EBH304"9A_=[I0S(R9X/&&)," SW8J&I6NJM/!TCE69 M-Q@\? Y@%M(BR;#'FIY1/WBOP=ZV!X,0/1%:0($+?M$8#W)V_7SSB55V6$+T M%CIBZO/JIE/TEK!5/H"--92Y7[?&>< ';.DE[Z^^@5*Y!81II3E8V; MV>T?^%.F!%I&6F4N50%8053CMQ,4UO*V'NUAB>G4.>R-,W_HIV A+GLC#6\3_?U[S64.B:M%IDM>[% M87DQEYG$EN#WYTQ7=@=W$:BBS6KKG>[]W:P]UMO[_#BX&P3LLB,S\VB M25H"!Y.OW\GD2\K_]=W9[52T0/M=S_Y]_3GB^CKH211"Q\H%4X<\NDJ81J3' ME /;460%83D(@@IA'@1\#84Z[6Z,\#S^JX2@2;=;+;@I];P*V9HN-R(VY48* MH#"1#^HAZ;GAC8A+R"U2=&4H0(:2[@+!#"PLG3=AD*+T.VP6;9C2 ,KY=(-V M]DO$A DAGGA@FF6L0;,8[F%6%)HB?+W*?-Y27=&@S_ [/"Y 4%FO@X]1=R#C M(X=6UVZ;/Q[WVNY&'[!N9+B\??#Q+(>! P(:E6F*[!:,C=BLZ7M-&#=';&=@ M&$#\;,9I_T@LO*": +#E/MD);#(8!AYTSI[Q1%3W>'<\U2H6@M +'W,)U1"5 M*>*R$+D!A3T#K)B6[GL+<"<74!0)89Y'[$.9C(F9!00+: Y^$'N;06H!B%9P MF2 >A4K#IN3>$ "0B$OG#EIQD!_ UQS1:$F@%I9'*- M31)-DKM33H=2::?5 M$C_R_?(YZ0=V$ S6U"9GB4>I%&T (<7=P1QTG0":=A4T;SI%\%/RBICC#,BJ MHG&]N1;&X1??.-%8K.?C&7R5N@G"G(DRLY5!0;,";3I!KR-G;TF ,:=/^>RY-0BR#U6-_18AD(6Y*T>F&U&]! MX!0Q>+T%V&O%BLD&X&Y"*5$J.58944JB+N/7=%G2FGIJZ(:%DD_0?MSJ%6)59K//*YD MZT!#3?LYQ_$#8,''8CF5:<0@BV6(;0#U)O"+-!:?G@J:7>93 #!R3%=8SFVI MX0N9>_Z1AZ"4@9\.'=,+OU$Q/10"<=14I=-PFE*!^EHJ.G5!!%WA+"PI*>@U M(305!C,:Y)9($ MQ &V0JR6'\ARWC%=7)GCNJU[\> "J5W,AV)FP,#1M$SR; MR>CXIB32E_+WB U^?OW" 7BHQ0O/]Z)=11AC"+8=060O4IYW%O,.!?C%&*&G M#=C8@(M+:::Y\BBLFX:KUTAE_-6R\-Q%]]:Q$YHD!R5/9 &%D)*P^"EH@,QL M-6R:J*[OJ2PN-)BM=D7X$K-16 G621BN8E[PGET:' JBI5(;X!D_ZX@PU M4J%]I)Z=MJ=CI.NC&G?J.O/0%VO/R[J>OT; M=?U_FJ_??<+QYF)XH?Z!-E2Z*MQ4<8:0< =PJ@E7B$H)DJ(P]B7@ $.\\JB! MM3VVAMEFL16AM!#"*[HV8F-J M\T^KAV(SG8LL8E:Z3WRFD"N6.:EP#R&>FVR M?EAHQP !JE*F,\5'%9J"U!00;\AP7D;8:1./5H 8O+5(Q>(L; MFJJ)7XL,GHP?;HP3WW*':M0 $DT"V[ MU><-I_)T[K,_@3(Y%;Y!H'H>&Q"2VH+8[N,/9%*T);:&X+D*=?$TC^>OJ8T MZ;BNGQ;$\9X(XXHQ'L_$A&H\C4@'0W&%S#-IC*^=*\PK'<,0\])4CSPQGOCP MOC&]\^!AL74D0K>HX\MU+;HN1!#/CZ@UK<+.0IF!_;J-@S(7-#) !!9!><(S M/A;N8N .6VA^E1VKNCO<'2EUOY6(3Z MDM1VQ6;!>7W]2;6J?YG+59AUP>)R6]>-(,20@G]94#-=QU:C,(YEAW$=1D&- MM&/\%L,V&NE.0YN;T7$G0;F15VW44)WVBR4S+*W;+QO&+V,J;T5*U;(5RUT\ M84GPN2A2B#7H,C*#W"\=P1<2@S0-4PT%EIJFT4)8YBGRQQ0'KI G)&ER3BP; M\3C:'=^BI&%E05AJ=#H:W9JF1HKI"^R9=KM\1*P@<%#I?E)<5I M:JJD*SDU(09J.) PY+Z^WU!<(L;P\U;C0KGN.X@A/V@'PF'@1(0/2QV=CK"K M>PNO:B9TC97)0C\E5D/2E4XRIUT%)8@K=L%>C>;K?;SD8TO4^G1$XK:N'/GN M:==Z[(L(PW+!-81'B(Z<#G[]XN&;0@'R@NB\RO8L-GG[UM-,B- .T\KG-S1Y MW^)ML?#ZP2$U$KUW\X27#Z*V$Z">VGII1">XS77X>.X9[G<%$C6*-Y2RI'JH M4:AGR8'5P<\_OP)%YN75RZYG,8N#WV+TUW<;G3R_9=.;IWASXQ1@77*,Z^]K M%&PM^[2\JK55O1W\J1>"2].?BL?PK= MO(2R&;T!"MLZ(V.-7P^"MZ&'$U<087ZIR//*0W+1M8J9K+5**\7)5]F?(7]V M!2G(FPZ3)$U&W06:FA;!^DI2<3V'73B#31C3N4=2CS21A>,*\)X0;ZA]HWU' MI31,G 5L*-Q/@KIS/$8(N\11"QG_*$(!'RZW D%C^T>UQ*0SK P:DERE@^I5 MBX!2KFP?-X!]K-=F, :N%\EN&!F(2;6D<>V@%0'3/0$L1:9PJ-6XL.(;B 6B:IGA#E7I3^L(HF?Q@YCXY^E M@%B4, FRN+[ "81O&XZ^?NF$AWHH]H1HN-FX:FRA5R7FQE:OF% >\U"RCH8$ MS/ %H*M2MO640O/]HEI)F""].B)<.?_@7MZ!83Y%+-+T"-,FRC;E,<_C.K<- M0P,V(*WAS\_-FKUS\\#]Z^]*)UE5B;RVMN!-I,EDZ. C%# MET8=9#Q]KEZ&<>_CQ$N\CNN;2=,(!,>2@QIB/./+'1 PY1#%M)*(7KHX8K[4 M@G59]P^&8*%#AU5?G6+<.Z,<2ZVE-:Y"N62:+ZFF$MRHZ6RB0VF!["9VF!C_ MRM'@F8=:]Y.HWG[?.[_HU37'4DEP>'&V<&TRZFDU6[X8@]>SK@+NQ1I)$$A^":X GN! \$"R[!)02" M-:Z-6W +$""!X"X-P:UQ#Q"S'LU?\RKFG-KW;I5 MY]:ML_;9>YVS[JWNA[F'-0#A>WDE>0 :&AK@X^,!>%@'<,B!;:T %55P&L M /#TL8\7\.3Q"OL15(\ *+A^_NSH9N/D#GA8!,@"L# P,#'0L3 Q,)]B83W% M)L+!?O8,FY2 $)>(@I2*DH*4@IR:CO4E-2TS+3D% Q<#,]LK=@YVJA?<_-RO M^5A?L[_^QT/0L)X^Q7Z&38*#0_*:AH+F];^[/70"B)X^\7XR $1C #PA0@,2 MH3WT N@! #0,M'\VP/_3T)X T3$PL9X^P\9YO*&>$/ $#0A\@@[$P$!'?^SU M?^P'H!-A$+_D?8OY7-,$1D5'12\K>4U+3O/]+S\@L*BXI+2LMJ:NOJ&QJ;FENZ>WK[^@<&AWY/ M3DW/S,+FYA?6X1N;6]L[NWO[R-.S\XO+*]3?ZW_P0@, T?[?]B_R(GKD]00= M'8B.]0]>:$^\_G$#$3K&2UY,XK>:6.8NSQGX@I^2R"3F5G<]8^370I!^P M_Y9D._!9R=\XP?.30MP7P() MP;+]GGJF]$B'B^.0_1Z-FEE6_E;Z==ZO *S3?K&=>#W9NAE) 51/KY=/6N2% M*OO;26Z\E)2L-*FDD9[RVH\[1=ZT-Y^")&:C$9GT1K!;X7+PP?H]I,)X/W'. M9G+5MG%*ZB11O/HT=5]QZ%I*\>06W%K,[[UQ2&OR'8]UBU& MYTT?71F37;*.9^:P-50R9 "^]461 [/(Q&\9M5A+":0YM0$>I+-W0DU*4=G] M#:88"#^O1E&KQA)]H<*2(>#W3,]>S_!^WN;@C=E&/S'X<%O@I>6,XS$7BXF> MVA07A(L)_UT,A^97BJS6ZKJ=2AO@'%O55P[!0!S5-1&K>N1J+!,RMW&9-O:Y M"K*^'ZPA]#$!1;XSV<:M.R.NF+:*!3-I:FF<=JQ\.LVXHO';.?N Q%E--'0I M'7#UGGV[@^9 1BHF'9+6>^36NT"7^%7 V_T']MM:FMJ/Q /%TFIN/_7TI&(N MI(!^&-."8'$]!WCIEQ7YC)+7FSFN ((DU^&AG3DJP&4Z>P]7.P4J?*"3#UQ$ M3WMP! =7C)ZEMHS6$K:.!)B*6L3NT,V,WLHBJR*A!HCA] HUH(_I"@$D>E+Z+#F?V_A58 M'SS0V\X'XZ@2Q$JL^#A5Z5?BD&)C%Q$':BTMOU0(=?SFJMMRG!^B?O9"^,-,/FOYU5" MY#UI*](KU-'>O?PF3DHKX6K6K8M?(8H\KQHK14**YC('ORSZ+QS6W_X25<\2 MNA;CYEUHNO F\+EQKXHJ153#D98HF50I77BYGVK[Q*&DB$(1.+^W924JIR]? M[M<>C,_Q#.TE&*TV\6<2_X AX%HF^C0[='1M.$Y6.[LKBP-6#XMG4OXR8Y68 M]$+I18FE*5BR?HNF>F<@:3@M &."@A(:QXI'!%5.&30D"&]E$2JF/#-0)XCA07I(W:6MK299A>!Q!9SM&(TPPD%_W?JDQ_'B[;T'PIWF3!'\__UR6BY$4 M#?<)AQ5"?:YRI^$Y./SIUJFEY4K!*21T\#*'0#>OW1KI%5D?]_PR?EI0Y(*] MNG!/F,S!PV&G,8DA14N(V2V^DD -.B7)@DHPZ$#-?Y;,+%WN*IC;;TC72\,] M+.7XJ<0B+2(%!J8#KAT?8XRYNJ)Z(XQ MY]F_@R3LHD^Y(R8Z>D]"&ZXE.\KL/'W"D]UGTY+GEOYJIT5^;?Z$[UI@+:%8 MJ;V^&J37*\F+_)SY (CV4WLY[L$<,LU2)'\Q['\;FMTB^BE(,C*OW2I*4;3PJP"8A\ M4S)W8[G\2@;XB3GT@B9)BNKXGD XY-A#5=X)$UQK!K.,)S78^$>"\JB]U1B$ M(OQM@+-L%?3D8+75?E$53W+#U.)B)M>H=RT.8\DO7Q"%.(-W"L%5/03H7!T5 MJ'03]3XZEL7U._.U1IWI>%I&IKBUT)\;/__)#$K>E2Y4CH0(JI. 5MAF!0[0 MO)G;,S\7&O_%(:Z4M%K;*;DZ&+5#/3G0@Q4B(WK4R4#":7Q[6J][RHR&MI8$ M.%PE';TI:,ZF'Z?,D'U'E7L=;GIK/PMEY(Z^U1*XH944^Y[I(;N=YM \M!CK M-U"OA9RYBN025ZVT:R>?.8&I(]!U/=?%+QGV9CK 9C2\%&*U,!*T\S[2C0< ME9\L,ZR' ,_NFGES=L^_W% 42OR-(S[>,TDTP>X2;3((FST,->/A\AGAU$M. MICWL).ZV+*WLGRPQ4Q(_=@3ODUF6#_83R.]SF4$NI0):;NA\; M'VMTZ?Q$FMYXPDSLUF2FL!&)%<2(3*TOW4UM),-?*-^;XA-MGQE[BJ]V+$JU MC#)< ;0CO>F(D8U1]1F[1P46#B7J+V/,NU-[Y/,9&6G&L>HGS$3!P^O7NX'/ M_>ASYE'E?9A3)JDNKI-VEBUA@+@O "S3M=FCE33NT'L!%%;/)54_Q,MR?%F) M==%Q).Z56,)H+.: ?3P;<+&DZC52]6+)K*XXI +>FLEI]:O9]H4!A?PFTW?F MMUU2AJ M8F:" D4' ;,ZH0'<4S(D0 T_QW0R[A51L@WEH(39) )H53+]:.X-3&@Y'JN/,?2UNJM MB-NG9Z:)<@!OJP2LW@Y2\(GJ#%3.3IPY;R\WQA9A6G'B,W"S!6;O/)CZZ3%J MU;->17/+CPQO]EV#4"WVIM/5NUSF6\% 3IQUQ4RG2T1#%X,#*FZ'=1I8\;MF M!%!UUQ5>I'4TO-&,\*#%/35UEFP24Y^PB!3G>6QFF>A&/!3&7')+BY0["1'' MLL:+Z?$";1L<\$9M4'-FF;,R"5'@6@,E0+O7;,#^M$[#6TD^5+87V8\8"9#2 MC60Z7*=W;/-H,6[>%#S\44\)T;-^F9V+(GBGZM;CXRZZ56?6GG*4Y_WABH:> M!Y@MVK>X([.8D221U;5)^!WMG+6#;D/3\2B$XH@<<\7M;A#Z;BGFGW"!'.&S0=R^0Y7?(O4+-B MU,#[] > FL$G12N;3%8-2">&&>5-1:$^O:PT#1V$H!="8#JS;H(-&_#!S.7^ M <*8F=9HRQ'_]K*?TGM =MS-P)0>Q5EJZB>(5$NINDM[WXK$6%WD/#S"W[6G M5-,,^+&V\8OT*- F M=O%Q%$)A;QFT!E$HI4H/!F>B<[\2,(,TA<=SV =P4E M""7G#C_?75%VJAZJ\F]3<2!;+O@;Z.MBRI]@^KJ_&=&A-24P%D&E'@$9/:>C MGT:'U9[H+#S#'0MG?..PA)M^R9K%%FZ90F@AQ8_61R#@XG!F^6[)69B',H?@ M&5*X&^_3XD9##%P*U_"'NU(]1575AH$FV<('E[:&)+ZG.T'J9G97M#+]G.HJ M+;^:*518C5L8P1EHW:3J+]38I>'&/*ITZSFX[ M;362]HOKFZD+S'9]O[!/:DSR+WX^_TD08->VVLWIJXXB@M.R"*IJ]UYO+7FE ML9-$EYF-RK\NC*0!#(A;)A^9;M:^FQ0 ,9";07/#%:8_X(P1VC88IF9;2/R^ MR]=(S O6"4TB;![+Z( &TD";,U=&*/LO5WPF?%7 &_/XE_73P*K^7S.LZ M(L()X@[:*%X=QN%L&]=8T=X(#5T4I N&XZ@3VGA>9S;9,&;B1&Z_$"WYU"S" M.EDW$LF?IAFVY+TK$? -;?UD/2'*]$U&CP]WW'FK$34G_@77?A<[@L=DHC5F2J\4,SFGY<>7Q+@6@PZ:2 &;%B*;!'9-M?)( M[RB&&H\E"J*_XU@Q!-C@,;V,=9/9VORFYO'"%$&ML]X5P[CH>.\_UGUJ0^$=/*BXUC* MD#T-4 O>98IW-L,E5O#@/A#7^J**=M+] 1 3@(TH!W/+CQ\**C(2D,8W<.N^ M1+=7PY%7@\LK4>P-&.O5&-@U"%^;5.8[N,:!O*B&<+^L\?T:/+@M&QXE"3Q@ M>G=RQD."MGG_"F4!-S%:9TDH?-PBJ_>FRTU[#;MY;E;4< 6H#OP$S*%?#$C8 MQ=TG(''@>I%0D?97B-&J\+I1J@ONHF]F3"=B5=+!;L&'_CY(T]$=>L2BP>RM!Y(8[DNC?R#ZSEE?S5*&Z<>' MIQ1_Y"E%OV*XC=^R(^W U-W/7(H%KJ&F#*)9Y2UPOL&"X*:&0^'?Y9U,L/$\ M.!F^KLV@>D]%]1$1R6Q#P*F_6\^* "*M+U.Y7Q)O G(K M:UNQJ( WDVS""4T4!0 Q'7E/;R[$O0H0Q2'B:A^1L$BHLBU&9378'G"/' ;7I\SO)?9-&JI@6HTK1%)D= MR9\$8R1H&^T8':CBM6R,.;"_)"5.EU4%^HY!L/!6C/^*"VRV*'L]OF.C*GIA M(%)O]X1+'@2T?%<<%%Q=#M_/5.- M)%,0I_R+M^2XZ DEKM*P6^--?3D"UD/5'[K!3;.R/VNULJHSW7OIM,WN77KF M%J1$JV"L)PLW(^^(N%"F%9V2F1;,*)\K3+&HX8V+H=106CFX0TX6(%9C\F"; M;8U-4T[NO@=D;R4*K\M^$63&8E?K8F%]]0EA WY#J:[=:UO M-.8 XRSI??85*OTISSU23]P&H^,[&_[>EVI]:^WLEG@ M($37%"A^(]&]YCN..>H]T%V%O7]/-PVUNEY.;(C1GOW<7,_RSDF(A17O-#F^ M#1_/_2J+N[X6$9?:=JG://1MB!:)OUZZC$CX*Q*D= MZ$P)<@J=J( G'43!*<56W^ O@BG*3\1QZ9K_\$K3L$3E^,FB-#U*]]I)QCG] M-'--C>O[&1EC](;5H %,?%E.XKUC3]>W#SB^7<"+4;7@[P)U*:0FB%!G;^ (BG M8T.^,[10MG#)+]!U9%9?5'1T3R@"R)\K9L5!5F2<73KC?&IFHM!4) M#/))W_"S10SK3?NAK;5\]O?4$8M3QHU4@NUPXZ?E^;O1,V+NQO$R6-P%;\2^) MY6:0%-4Y-AOPC[C;NK^%'JIV3=5"K99?WU;K#RS9.U(\YW]=%D!(E\I\.[JW:_ -T+FW- %S$FZ&"0+K=GFX+LYBC1^'S_^%@T6CA;+U< M.W0Z]O+*)?3O1CI@SZ;RL[AWD52((U3U$K396,N51I: N1BYJ;LP\8WUQ'HE M9Z+]I:%=^DQ[FE<>*)VS;]RIEE9K^+?![[B1LJ[(0:"(2,XS20:A?*DP>J6) M=S&^%>\;GO'UZQN5W_VEIGV2XZ3FS)]L'-8> 5?'/DAC+Y&HS+6&V#I98O[X MB&2&_GKGE[=O<']*IK+I/T,*.\B2K)[PB)A^!T*G* M=B>NV*A];!U7WH]YW3Z_HXG?)2+._V0L:%G,?8-O2JFV;NI6?$44<5Q8MOO+ M-FG12)ICJYEL*B;B!@G0?T[76:& IJX":_F@JJ<9H3!Q(LB>LXTC0N>-;L'Q M0:>Z\Z(SAX!Y'(I'U^B?MPANE6P*DPDG\V.% R M:C50M%"44="1 !4N!^GN2(?CH,?/*BT\FV[\7JC .ZB0%F'O+!JK5[WWN%3, M5E9]K%-*.1R14>>5QAJ)LS3^F+UNGNVS?NO%_:4*JO*Q=>+BR/I#8[!%JRK6 MZ.]W\Z^323S0:9)(DIS5*030\"!U,/I:N5BRK\I,D")I8B:MXX#/&T"(7)D- M57L'7%=OQ,VO.1?)?HEKZ_@ATF> M"[4B;Q/@!E\=)WB*]/ Z-=^VP#9--+Z0K\L61*TL )G0P4TVWDY 4BO.4!TY M.M33TAXYQ*V;:$UW6C;2?C9MUEQM&H0'B7!B=7J6%J/>>TTZ,K1U)%TNZOQ( MO/IN&6W>H')N?-0I#HS]0'&>3;1C=KXH%Y38Z=E MAWW]><2'I)%XX.GBEK<>^^L!JK)84C$?(;!3 M*_W*\U)A@%#(^$K_HA8/FIC91##-V3[="^1H>'!)97JJ:&I5R??;[=K)(Y53 M!4H1_*6@G*P?;R3";,&!O61TS)-A]]\G[5HB7 Q>"W@2& MMWQ(C?.&QX@Y,-?=!)-0HBJ[:\]2TK'H M"U5^Y=;IDW?IEKK.N3;I7G^8+%> ^*X$ >PS;#D$I,BB-+RBTD#2_C0/KG2/ MY5?$..X?I^0;MM[GHI-U;@!V8C_@* RO]EG[JV#YWEN9EA&JZ_FC=LX*AXMY*D@@;>.)\>( Q(I^143S=A+XW M"?QF,3O F1FA49=DFVT@DKN[432L8D'% MU@ED87>5:&CL9,'@H-F3\BKB!<&W( 6?:Z=0IIFXL,:8\YB8PD9$SY?H$[>_ M3CO5<13Q5'(R^OE)HHTT*I+ M]QP:M!38GM%IF=GBO,]_94.,5\%C[R"&IX+%7TO2"S2ON(\^QDX M]]"U87S9_PN%3.@O7O^_"[RPA2#QC/?C.W*S\C^*['!(=\*YS#,MQ@MJXHI' M+%E'E'^C.,]XWPQUB<-RE!"G?_! VI-UG!)U-Z"C)Z^$\QIZO&GZ\K\F=WTE M?,::' ^:V4^M+E@$IMRPQMCDP(\1'@%A!-5>?@\W<:-F87#<$S MK2A?M" Y3^6P.3Y#Z^1.-[04Y)AI:\!_[_;5Z6UU^<$]72V5N06"M[J-D_*G M W96/*EQT!II]#!B#+&6)VB5O_&X?J_\GIRDMIE<&6%KC,5G7.!INL8>@]T: M%('MSI0;9PS?B1:.S>=XJ/ZFI_R;8'XB36>6 Q8UX59'Q.?F[\'(TK=ZA:N7 MC6M^^=41DQ GB6BL"X5V;I#*KF=%E!J@>A08YH^X'/(]9BC=7T'257+159U/ M4[ZE=6'(N@UV"AX*F[)-.8@;6*P/TDE745\#)G3+5'@DL_.2K('K_^9%H#:RRM1;?>;BV M;93Y&@Y_]2&(5\7^ZF_T#SY \TLU_"4+JFNAA#+9W-WHRRLMZ4:JC,6TM9,)->PYT!"_ M4> -4HG.^?6ABQ4H;E%::<4@*(5OLN_)LW]=6>]0:K!O&*->-&QGK5@PEO)$ M$?.#CM ,>K:6LMZOQY)2*HMY ) N@229)]WC% X;AHLC7S8U\HQZ7?J&"F0P M^M%% $6&:#0A."=4JA#0 E=B":2^/N6GAIR'H\-6*]@QK*>,<>UNHNYY;+)I M!\AN*3R:- MUJC:1!/+26^A4^7JS;G"!GF^T>!Q L,U2#O+@BDJF%,AY%:G<8*AG%)@!I-B MT][1HB.,6?0!4'LD31]#!*:]=G.+GQ?0QWWEAD<7;* ;J[\S_AJ MV_E\$55+]BI9BN!9D#X;)/P<798J0M=$@F87'?+[6.Q._&NC3'R08M4,-)^SKQ:3A.(/$X-Y0 M7-)O/(,77>7?_J,[<+1D>.DQ)Y2^?-3:26*TU].USGFQ68FV@0;#?%#RB]N> MF;BM<[ M7-_=>\M7>8R 7^E2C+V$4?B)S0 >/YDWP")YP/#:,QJ A+CU6/=X M93%,007)BM+]^^+B1C=USY29D@CJ>)HLF9+;\FC6-F=6PQ$H?TDF.U>PT,(E M)V5=Y#L'%YIRRD!1U16SC#.T@Y/TBV@VX.BM1V#1WLKKYP=.%38O(:2<]JO[.>LE..ELJL;Q8T.$-?:5*!A%!L3A M98:V7G1",] W!''VQ^+-=>4[67A5]BQ/P%]4&4JI#=+PM<7I"WVV2-#@/OBQ MUR;9H1XJ 6?Q8F=N6*B,@^Z.NXGL/RS=X8.\X) M_BKDW'G>).\O_,4'RR0K2?L.WZ]8?AY51;LY^*R=O$ITM7!B9 TFB,-1B_\^ M@E"D N6G:HZXZ:6Z:XQF: V1D+]=-33MLV::6&)G(.!F*\8O5.P:H!#WE;M5>?HFU#\LR'6OA'$R]QGQT*E=^)\88XG0Q"L)QA4IY8]: MKVLB<>W Y'T")O*C+4SOVSI^$8>N@J 2=&X M@L-I?=41IKEP/-/N#;F?)K3&[V5,MCR9'-C0^?'64P+,6DU7Y0#>9%4!DDPJ M!^LQH-5S":"&>QYD6@33)*>3IH#1 MFP= '15\9IWL5)3AJ=)'OGGTK\WTG#ZJ)&@[5SX7Q<'B'I6FX'CVD@K!8/0& M&-)PB ]3\9+"Z%-2<5P/(Y9+A=/S_41PJ-*4(&V@W#2''R-+_JM6QL=%Z0)H,S@[\3XO)4"S-CD$A+_&#R\Z#B&2*WC*]T1*4)GM[E?I-G.+=W&- M:#]%(H=: 9>#NR#A7A]QL@!29>J,J-PI@3;/:VJ0[PTH(T,^@;V:B9>>UW.K M@4Y!TTQZ0IKN&6EAW4Z/:&5MOO'",NUSC;HZ+_[?*M$*26^=OC\)E\G]V]7U M!\-AC\=V!2VM*_UG0UKBPHIM#>?21!]G3]M2%!IUY_#G!D*1SGZ1JH^/98&] M+% JX/!$/5*HI60B0_WG@AR-6V9:^+:,%X=QE!#I@CJ]+ZE3OZA5-F8;Q)0Y M[- G["K\HU"22A*E<3GI5UY*M.ZG75C9LVV_'X6X@U2VF!;4*ZO7.$O?'[Z; M33#DF/R5<:%=_9O>E5W.3L#)9:WN10(>TT"?).,/;JF&"H]A"VL!;45T8R.L MN9P-O%3TC<3S?Q3KZ_E]H9;@9B,E\1X0_UN>.7D8@/@-S05-//O8/1782#-! M>K+^E9]J1<&+P1WESY'2F)=_7;9.!@+;TL_U.U8V^3))-\N(%6)\" M3TMM@#L@ U/U&"K'7,(LF+8H,OH4#>1YIH##7T+\9V=X3G[I=26/0J'#[@IA M=5I/%L%S(Y-G'@Y:ZD>L9Y8$KSF\J#_$NY;'XN(Z^Q\L/A8_20,BLR$31)<+ MHD6U3-[J-GAB5#([U2[XY^KTEZD)D5J-F561SOJ]G]B$U9L1V")?+?.;OFZB MD7\ ?':-5;?G,3S9S2&@F#R^H#4SG(0:N10MW]6@3,,:-#1G7M;/E>!+FDQZ M?Z&_+$]"?&\W;TU49"D,46])/Z#Z;9/>OF\RN(Q%^RF>IP75N91\210$P.H.0>G<";K MK6]];_10K0A1XI@:%,:_KBA8AXKZZ+A" 7U[EV>D(?6Y0Y@;_PPJEKSI[>M# MU$GM8B;WF*1OBE$!JPH('%0_CG='O?O=>]!-A.>GTR[2WK*)(#7 Z0\$EA_5 M"11H*TY'%'*,(O(N;=TG1TMX62C6_0#HU"E[/(%D>R5IZY!"V;2IA9R3BQS# M'(F+?R:B@L8&43>#;K^OX/72G9UK&EA_QMB'D%9C&K'&AOLQ\)>D(PRS1]O* M;B_?;JL-#!/]ZB?5H_C(WP_R[6FG,A&BQSYH<355J#"UT_MJ_/Y,4?:=7)?. M9U8TX&NBSIT#4Y@< $P6YI!/0 0665@ 7NK]V5O/)6_93ME; XGOPS\FCF_ MH(=R.S -W5!E.#% GH3GU$Z?U.5QGE!6'J8()UP$ON*JX G(+(<^1I.QUU"H MK; XUL'! ^=.@QK"6WE\/!&CY%!]%;J)\2DT2,9OT4W'O90+TDX+ZL:(-L$' ME>M/V'^<9FAHQ$CXB0ITKP4#"Y#.PZIC_C?G"PQV5T(RK+H7L@QL%U]V/+J[0GT/*0.OBO@M^T'DPWO:2C M8_:HGG==":K N%H28FD=4<]9H,4[ZMW\6P3 !<=B\6!HW;IZG=.+0=E*ENW=[K-S#:-P^L[A2QYR)Q1;\5*_I^F>:2 M'"M4QB#YO_B_^(^!9C46ZE& 8IA<,?G@6)R^%]T%LGZ6:L ;UXLV9VF9K6EP MG=V7@+WG,C\DV#==O6P(6??U5?AJU#E:I\2%=0Q[0W--U85:+S)9L;GVF&F( MDS@U'/$RT5^BJ*P8)D7[:HF)'DL8."]Y$08G068>Q^6" WOI:&>X<])'JNA0T>+M.\0%+":C)U']#?2Y1-.WQ5_!VV^;X0:\=4VT>@O0JP$Z MTMD3Z,>K=,S@TJY %[PDVW1(_0,@#>^[_$B,@'D0A9:"PIB]=EW',W T-]7\ M7O*>=F%A6M1Q??^,%W:\OM?ME_@\'S 18W]',]7M+^LM*W MEZ6GMYT:L6ACF-KH MDW])'+FU?VT9BW=VL_MI8!?L3]7$-M \Q2J 5G=+=( MQ9Q7'=X%_!$K 5;$-+]EZ[Q CY<@J!94UD:YK=U9V13.B+\I7H+R2CGEH']; X*(H\-!5GT>HN'L? ZOKKB*168 M+M-'>AIVM3<[&)[T7;68C&#N1=_%,=JSIF7F<,V\ 4I>'.I)$B/NCHL_ERSO M7KJ9ZK,9&:P0&A** OQ;?;3AB/8P@L@"6-ZDPW/=1$^)M4CO6-[X#FDVH+RW M7Z1*EM%0PGJXMEM08$Q,,$&/V\XCA_U283A?LE6^R@G=-,?X)(..+:I?!G @?($QMGA M&X8L=5P;IRGE MFK0[+H\'0-$401/!E796[W60+2B0Z+Q-2M.!\5U((.%!X-EZ4="VE+?E36+" M5;Q_6>2XN O\IW!4?2_B*,;5_0AW^Y,$W59XX$D8O>G%K$TZ9O)ZVQM[ 4Y) M'.K/#X!4YR(^?Z7]@:7-V3B FP]YSRH.V#.P;J_E'2;B%)9&F>XI6:0P;(TL M5?_BD&J;M:@UXZ!K:VH5C=.O@WMH$$E;HR05YS0A3;D@'^64SSF6*#AR:O*> M)=WHATKL")&&JZ^#!J^A@*;T4VGS<$#H'(R[W$\0$5\KO, EH.SK^\N+<_FK MT-FK"P(Z?%!I7I (_[H3)2IP!]$8_:?TR?DO)'J HT).)L\&$N\DW=7OO0/= MYT;D99C7^JQ%L&]VG0'O Z!R4-(,16'FH4H.T*V1US>,!V4[]I,LM'52 >X7[$W^;,!V_)JW=6);.Z9 MJLG3\?.= M'VQYO$U//QR_SC\6S_)PE&F@P!%[]]=,96K14&^OC=WC,&;2$[ M3#?8@-F\)C.4(<^^&?<7OS>0@[\WM7UV#D=C=_5I-K^^7;MC..C MW94;3Z?HP72M 5,_]=Z4^W&VS=89S0DF4!SX9$[/GC(I7M%;->#K!+>(!/W> MC,"RW.VE^FZ MV7CQ&0ZDD IL8K9/&F6AXVC2- ^ "!R;\Q<*Q7D-LWXQ>^4Z4&4> &T)*0.U0(-B#>35 MEP? YBL+@ICSS<<-*T3\*;>.3QW3H=O]'OW[$YL>>PG$290C%4Q]&MUK M[[ZF>P^7_*D_KE/X;7E^A1,A6.$M4H6=KJUP<87D :#'SL64L&QLGH80_).- M"[GK/'@#/TF+W^S8!7"C>[PJ!99(IW+=G,YP%]6_.ATNP$"Q!8H;L8P). M5)+-187GID*(Y5^)WR.I "-!O !B:\HU?&=VLYX5P:E*^V,]/=BY9U/(ON*[ M1)5$CNCB<&R3ZK_C6 9R'Y? !]V>.1D)Q'NO&BN=&#[*CA6#&-J942)8RI4Z;NMDP*;(T1[;[)514J4LQ2E9] M4N$RK=Y(X29TI;9N4RR $;Z 'A:%7=A M\0!X?D)]%\[@'2I3HQ_XBFEE!@,6)$F_&T>[&FT9?^D:H'1Q<\9K<VEA-0 M=7_O(F-C5(H]8S#ABL'-PZ&C#^Z,76XZC5XT_/]!MM+%-R8A?IQ:%!ECG/ MDO3QIXO[R(E!E]<>V1'U!FL_R.2G56QIH7;#B4DC%%E!05!=ZW!Q\S4K:.A; MA/U7T>9/Y47SS<&*E,P%'^;PL=Q&36$79F1O2W'4\<".*Z<,P7$7VSF_>@D\ M%G)_;NS%VSRI5=THSZ3_X%M2U\;R67669;IM\R>Q/M\O.:8@0->^=R7+L'9S M1(_0==AR8U3E26[4!>9T>V>I \=F^/ +L5\DWF^#^KM]J0XV)OP\RJ+RD?B- M!8L&8^B)$D495IN9NSI6>O;(GYMHDY'I-E6]Q>]G,O3)9 8-CP,/;P/]:/Z" M)3L":2S$-;#,;-^TU(2L]2,I+?1X.U948M=NHM-+]\CHYWUHX[,L^>Z25D3$ M>V8N2XSO1?ZE[V?&"KV!D<0H!DY1'#Q!#SQ9K<14]'07=&FNY7FWI6, VMTK MP;$HI5R64+R5*+^6<(@ T9#]$F?V]T4WIB#2/V\[L3CCI]&6-(V%(P,81@O! MUZO="YX9G[U92+W][S?B*3XA*I M8M<'Z7TE"0SO\Q6VV5M??@,_*98>A2&C!*(Q>EPQ2!E]>^"B%-M1.F >*1QO M/LD])3?A0&^()#GX7K=+3:=_?SLV*7 EGM4YXX_5>=8.H8^$.GFF]S=!.Z.; MZG]AHAS!]GKW4X+%,:EY95%G>: TX8L_3O0^L=_M<' MKY)*46Q2*Y_$G5_"$/4Y_FFZP:;^AF:JUT< W29,H@SU .A)5]%-8'X +(P> M\"TR?W%PM7KMO.CWRX>N#FVL:XW?"41;OQ,FSEA*XC4OL7![C$-&B?G\#T'I MGEX=?;@I37WMSP-)4L1AVG/C(3;]"D;W.*5U-$LL@"_VSL4)\>I!@'!+_90[ MK9:B .>P4TE_1J[R+V&:L*&/\H0;7VE1VXT"45!M>!5&X<5.)(> =:M[ZJOS M$O&QU^)^@RKSU+73&[%$TK08':'BW#8Z"R@GQ: J6=I8Y80ANS=^JNMQO)7K M5''1H^9H6?"5N2CF:!YI#@N5!C[IO95?C+4(1PA<@F7V ="[NFBX_,7N9>*%K)^YC,+/7<_&M4NORN1_5_V[W+H.@'^V_=63!B$M04#JG$VN#L?Q M_##I(. 0;:5PQMS,H;>M\?8IS_+?/U+8Y7G[[0+3'N#X\O5A/'J5KC/A?3K_ MKK6CS@_8;_K?2O!K@5;(9@1'E4?4R?;33<([B\;4]3>8KB1MM6YOB*2)NM8. MA@Z=COSDX'':VD9PJ/RPS4MLM\C;' KKW&&:8 ,JR%B/&59]?$I9CS7G<@A9 M76/2?)7C)_R^&A$O2ON?2,-KUIY,H.P,XPPC.:SEV\2'\WS-ZP\-*N/!$(UF ^3]RP".W7.!+8R07,%.=)&IPHE] M;#?RF;Z STT8:;A5=35\9U,E+!DNB ? X[(9YK_NC\8-;VF>.#ERM,[R_,BD M/Y>*TR6!X-\;JI)Y-/,] U)X%PDDX)##A89H@2-%HV>5Q8U]6]E)-QWN^QV2 MQ]G\N)Y%>P\ W(L,,XK%.I@G]_J-A)V_(['P76%1HB+1K_[E,OW,^:&-Z LJ MMB=OUJ*WGY/LTE*7""K+Q;ULR!))L^,8 M_AS"E*3;P!,FO=60L*)8D/WUG#33'TF@.&%IB137HR(ZC:V^J\]C^?C4^$7< M4JUE/&_R0I!HRXZX^D8<:P\!;46_T9'N6F"^K:?RMK&:_S=W^B,:M -]A0_( M[+CP,0)#X; ZK[5]PR^^52QF^CF[/P['QNK=)2D1IG'K[U+JY@R5A^,=G8Z- MAUV<_4UEAZZ=L-!K EO>OH<2.ZCBYH%2TJ-C:"C!TMJ-S;Q7$ M/:%/)17OQP_'R8@44+6;_ O)/V.Q,7-EV*'DO@HTW(0J(,O&WK7PV-Y3SWHX M6]DP9,T*\JH-QRU2$.OCQKM(T_V0<[XFB!9W*0-M+VHA>";K3KB]%C]/:PY^ M:M;\A9LM&Q]>KKZ^&F7X^WWC/=_4N?YF/^.D^]UAZ+@2HS6R#^ #%,T9_J7Y MT_*GGA1K_*U(X]4EV?4WK[1K/V[!OL(2OL'H;/!'KZ/X^N!B/Z9JJK;*4CC$ M20^XB9G(2HC$A]A%)!X [L$Z;O7:[@E@71-\)G M@UW^7Q>+?Q/_?*5:]5]?J9;/*+Q_=!8>#P SK0? K@Z:SW__'RT9,&C@>@>^ M"6?F?5[-:G.WON'+K/6Q.AN<@$]!HN_9G_>RP\7*<3P0/Z_]"VJ$3XJG&;UX M643+N/CF!]"#]7G\!,BG"L=B_13*06?L6(1UVPOSBIN?V'Z)7+&N"J"-@Q/Z M%EB_K$6;^*",G@WI?Y6?%/_B@5WV3,*?'9L@,DWTVT3<\ZXLAM:H07J;K&4' MB_X Q)F!$BV*=.&;[F:0<\0TY# M2*HD5>C<4F=&Y"3^MFAA/[^;A4P!;)[B:$C)C %FE.(/4M( WPR4#%Z(AESV MPS3K0;XWX..7CM6_;Q;P M:4ZQ:&*OL=]NJ#_7YS'Q[12-- ZRFJRT@)I5KJ8\ ) +!^YW7 -*C3RVJ5\7 M>M7>]P:_E2R>A6A@*,=I]0\YC-XM"85O-;QK)'XZW,!?]\1;Y$BW:W"PC*H_ MXK]0]]91<7U/@G@30@@NP3U((! @!'<(03HX)+@D> --T[AKD. 2(#@A>) 0 M:!IW#>ZA\6[<&^T @1^?V=ESOC,[WY'=F=_L]CGUQSOUZO9]577+;MWW"KU" MNN<<,OQA?VI,6#O"(Y=1:VO8@)]\TR>Y>"C.0XR'1FH)B' YCJ>G)<1 MDI,QIY#.($D?'MSNG!=W@1-'\?EV/;RN@2/@%XM-"+E ,%M\0Q8Z1TRXVL$3 M[._ .!S;K2]R7+FU'M;U+5Y+^4'0D_^A%86E#A(VL4Y.POXO9WK);@&\?#8& MLR?L6C@(GG!(-!W'?*T9S8]I/R"7V"W@HW6FD/=%2EW>]7:;/2;Y+F'J@\6E MK:KJ_D6VL+3PYR7?%',T@^\8KLM!]1=O6NTW5C4,6"8!7]$*7><7%<5;O9O= M$DE'8"&OV [=F\GX1%DJFK+MH\K.&WG1&%BL;O=Q:"[?.6H0CHN@.2]>D:_L MTIC8$XH6KITHK]BK&'MO 8]DC6_7PDT9]D7Y+E,LJWLS+)'"FN"A3V8UTG3K MK74YL5 *Y*+#_9+5?4;31VEA0L801KXO((> LD2"1I8^',F>ROR3J'ILW,-C6 M@WY7*-_UE&>QX8B63VJ'M2]L8&6CA& OF;#2()O] .* MP_W-$#ZD8R5#9+\>_3TPKAB#?IY\L:'QG8.#V-[7'7)E+R4EW"QF=_'!!YR, M$IEZA4OS;>I-4'<'/&[.4 QF0>.IR[#4#Z20/O'8Q/["*?R^ES2:M# J%<=TWL,-P*'PX*K$%#/ZEQ<*ZV*-B[5+FD%)C7 M6@]ZC-?DK!@?ID4L03S=5KR=2J>>8032TSO7&__3#T8:C <$ 7",_I-W/OXV MI6KYF^JS''7)7ZZX2%-*;^98$\K:0_':=''D7@DM>TX[_FHNDO$BDJ;K:%PF[T)N=" VU*:S3XP!,!;/4OFA)S8S]/2E& M2W=DA3SQC*D4"2O;+4"=TY'UYGZN_3Q\W';JFN=/&DJO=MHJBQGV\(M YRU M9.4+D!,[>&"3LM36VJ'8L ]4/*_@ "'M5,"_K\@41(P#L-[Q$6KE/%H0\:F] M\#%)1U36FU#'5UPRQ#??=M5M_Q3=>6T;[AC!)R35(/(_ 3?]9 +N7A3H32G?R M<%ZW#I[^WK6X_0+7FQ9P'U=:XO2B6!5%'YZL1@<)%_[6?SAN]>(W#_Y\J6/ MB>^]APPH1B[LXOR&[FFIMR*E_OW!=>T#Z@O]0?BEW<0,GV\0W M;/2]37DG*>GW9>F8T6PI56+9%7NS/\"\O)^LXQX;FYTAV_SVMD^XOA.M*[(]>&2)Y/Z \93-_0 M_)KP\4,6WR2]F05O%ME!*I>>@=]>*#;/L2!?IMQ L7-'%J@ET>@L@YDGXO?Z6]@TI<+%>1%R* M&#;#:(ML.2\L'LBWJZ*,T>Z%\Y0_(_4OC%B&),Y]7=RN12T%25M$G93F83K< M+<6-E_$-U&$9%%%XA8[G.D/S_C7PH_*G0OR1EHJJ553F#I!B.14)S[K1HUBEGD==*M(*\_UY^5=MYP?^E2YW(T_K:Z,U/L>7'X:B_LR MK/=56AK8DX6IR0)+\\^9:?9B85&Q)0=LCW01,53O52BWM7(9VD$9MMJ&8^2E M<^DQ#H%83-JH\:6QMUJ1BK@V2L]9G2*(I4NP.6](-4GMLS!I?1GE93X=A7V, MGP+52IXIHS*:BJ[YCP+2G?GT%:..MP('1_+VW3G_G#VVU)GSDQO?1!,V4A5P MCI\))Z;2"-\_[ID([>J^!;AWG.+*3$]I86M3B4VSO7VE?9=\ 8K_Y8WV M[\HDDIQY\,WI[?#*%[;.+W:]R^9?'0]8VA49*DT/F!!C,[4GJ ,@VF:FE7[Z M+>K2O*<5SPP<7!<>KDS"* 5-A%X%5AP_YDC+>;[N>V)T>0L(;I9'2BNH-:3U M7J:F43PO:89-4KSZT8_[[,-:)5#6U],>\.NON"N02'W-'M'3[,F^8M2M5O-H MBTW.^+32N#NCN%N60KDX/F(F8=OH[9IU<=O4IQY78IJ0^VIX)D$/Q:1]]=^N M!M[S-L]"A*F: MPU6=)[$V/T!#U*[KI0.VM:1YOHW[,7_Q"N@!NRU*WW<018AJ]-J^0-$/BG-Z M/!#,F/^OV606A+61@F3HOU\YM93,;Y_/A^#QL>/C20/.A*40A6$MY=2BU#/C M\L[]"3^/2PP-6[=TL\A]L6::BU''ALJV^69+4N<3\T.[1),(WI[\U+E/GQ^E M]#.02I(ME3@@W'PB@@.8=V>-C$%IB3MZ LKOR:Q"YM0^)%6[T=*LQ00'RS%U MN%=NBTBDU&7[EAG.+RT&]K74PO%_J-_L)"=CM#(.DI_\N'SEDYUIKUUT\<-P M:NC;CJXX=B*B61+YAEL*BHQ^NI]]%FNPC2L/8:^13>,_]*OKH_>!2W.-K]P" MHM.LBR)IO**6>R[@LY UTEN A=T\L3DS]$>>:\P8;J.]3VMV/B(ZV^P&T7MO M_A7\1;F]!EXO<#=(<\6!0!Z=&\[_)'5FLEOBS<4CTX'U'LHUQ]%4%( A:T:S MY]O4Y)Z?I%2.X5U@UIG_,8YU8>8D>,-%1D[#N ZKBAD-"6O6)&ZS+MIN99]\ MMBJFYH(LKK/2D)L>/CT3V&%WW$KL2!C8VZWT_OU=5$#;J/\T)JI0GTIEGK/>+$5NI(4^87?A>*5'W97&F+<$P?/0]O M$DB,%I=([C5)SO%K:=BHXNSDOX^=[J;K%KA]<.!]<@OP;\C#-<7\/)_M!N'\ MM$NE>ZX^8;9DO\4QH+;RZL$#^M 3%ZQ*R,TC!YO)JI79@*=;VIJ"G F7#- : M8X#&Z@FM*!4-0QS/CUJ,^\H@U2)HU93UR9DQURV@LX[WU/_%++/U9,7C/DT^ M'/,U+NR?E5+R1U=O:R?W#\]&2;WB5 &_!)3=U+KK7)#";RW$L!$PWFO%U=,9 MFQFAP/#+O@&]C\N!R#6N## M9I8)/&%ZR0JCNSMYA7FVBSEW:+\'C#[>H;JJE,O@^E3F^VQ&=5$U]/' MT4[TC,^]^\0K.Z, [77CL(C9\L,S\,M>@SUD"EO4Q "2O74)"#(.AA=)SOSY MQR*-X44C<7()8L'8'%17T^7VQ58Y3.43=@)]G+-WQ=UCIC1@? L#K>=^V5WX M%$40)4MV"@UN1J>)2P:S/Q^U3.!>/M>,S$?3F\DCA9+5N)7/W\?&#-P> MS*^("MJ4(9XUQ%F%3+XV-(XMB3KT6 MGLM&EM%MAIW*DB-:6EL*$.:]*-R1R$<846T,W8;3#>46E1E.IOS14KQ56_.C M[C2=GV7'\4AOML*9NF14BYI08W>Y&G6UH =3$[O+#;%UY MI(MH&'CSYGX!JK2RKN_5Q&;(83?5TM.9GM0*;,H3&)7!>W(WK^F^_JZ\NW$R MWT[E3P@U5-D"V0W:NZ&$S3$:E&\\V1-P9PJK6R*TOX<<3\,5)'!?*A&36$@R M=7M4/4$S):^I0E:O?..I,"$/VZ>D,)!!8'-V%.'7%$7\/@"Y*O:\,*23B6G" MG9]<;%K(U*;77T2LDA=G?^\G*95C#"X!RU+ACRY9D8^^ M;T4UPV]HFEN:TJ^EBQ?-'ESI#K"_!(8R?'?,2M 4JX@VA:C)D-_\.EILF"KW M$.R@RJ3;?I.[+QB\PQJ_CONKQ2U43EVAB^ KIDSEK'T'9W#X7OZ( M@M/]O!477*8IK$VZE,T/9Z]^3'PU-4;RE1;5I)"^-I/>FQN:>&J@]+!/O%<@ MZO",F227U$Z@0PIN1#&+P]Y$Y_@SB4G&;BC/E@F%&_7K1W7M))A\5K,N?&9) M("R*XN&WTWO%>82!)!A-A2-8C4+>]G<$9 -(80/4_-8P*'"9\>OOU@;_]-'F8^2SF!?$#]G.[A7](ZXBL.C73L)#84D>W_X4^,,#5D,*$8$L M4N^U&_?8?(RM/#S).%)(7>3IE\:$/E8CI?+/3L_E^GO( ][.(:EIJO425G\,/AVM_A/%* +RFV!=;HF)P;N? MA O(LBP=9?2GP!K=OKEWE)H2OW<+( (Y4XH3UD6J7*L,0\H^:)7=*Z$!$'^J M_;^@O?/?453_OQ3^E_;.JO_7VCLIUV0I_921IB2]1MK1^O5CUS+W!%I#ADR4 M-Y O.]VOYI]3!P>'](EKQYM5LO6:$[@%TCJD^F0OP$6.\XXA.,V%. OTYA?@ M>(_=69P(:! Q1 L=7@U&R]T"0.:[=SFYS+R#K0-O2PPO",J6QRX5(S4DR'"O MF41;:WM)!,W>*@QKR=4A*33S2MU]26<^-^D(I*N;4T!!'8O%Q38+W8^O^8ZN M6SE-;45+\I&219,S*]'Z.<*(I,_HBR#L5C&&-W7+1+62YC3,I+T71>:U0(]4 M,#33[H#=M.I%D9B+8'*6BU<><1D("8\<@'(KTNP<=,A=JVN/6P,K*MG#9EXY ME+[^D15ZXB'\]1]44O9ORR'_#P'WWW0/EIW]C4H"S/YW:NK_G? OU//_#\WL M?QNL<6 R5[>:G7.H^-UF8SF3)BN::-@RU[O5_F S=LTGCK(6C=GCB$G1!JLA,FFGB#ZS2?]G?M2S%HX>K^[S:)_BH ?@%:O.O?H37PQ/U2 M_*_88Q$@.4T.T(";-=5&.F@'U+YF]:\9[P$.E: 7S[6&*&P;. %:V%O_FF86 M-9?2LS8!K, ETAIX?6M$$O]*OESD7;KI;1R1#O=8=DK/P_T[[Y#%0OJD)B*- M ^-)A_.V=;HL2H@O*XTB05*LL^""-_+#?SRWS''NHL[17*>'BWF M%!9H6D-6W:=>P2MW+)M$R6UD^7'9+9,3!,Q&32*B_+S\I)'@1XJAJO6-8(UC M'F^GJ$_A@-]]P_'I-SH><>UK48"=S=C"#_EJ1\G74!3;R?V E->\3U04'L(D M>XA[YB/C@.*_H6T!D)5NW+"7]:_14 /WDGF-QJ@!6_9597NK( MAF5G9_GS/0HJ<;;O.P[C=O?BS_W[_N! 9 \_MV&B9&L.9+=XO>\RJIY;0/?; M':Y_1%?]#9KG/XR&_.=0;QZ6+?W#DU*.[ 1(B9B3U>82*!0N2"P+1?.>1NFP M\S#]*8&>9%E*ARN+(TNV;P&D[I[HWMRO#C(,$NZ5Y1=/+?:AC8$+9]ZL\\?? ML!+DI14![M^W7QC/]Q%*9"/[Z#XH=BL#"$E6BF\!_X23C[0QU1S)+[]ON9KP MCL#^9%/LJ(19D/\VLY01J*]W)K65=$W4AU518[X"T2/I^8KYH#21R^P!%5K^ MY5%2K@? =*EF0-XMP#=)[E".$?+OX?;_F3#^\T3Y-]2KY3=L X'(84\@; R2 M(?VD:Q]*]?+'4MV&B5)$-4^0IKF:%JZV2 I'-[F"2*G7>'^A(92TG^V^_T^O MR6( 5MG2N\ :ZEL F4E\^ W+\I*]45TN,IN)EWM7?1(U9:+@NLG]:B6[*H7> M!"Q.21R-%ME\@Y:-J#4\?5IA-?TL9\,A@ETIAHW<&YHDXX)-F ,8]0'L_],9 M:O_)A=X"Y(U'KS;X;UCK(0^N=1K1RM'4KQO&DR;H(P_8@[\VG#SYH/"DDX^M M_7A@?V#81QJ@?3-:?PO(@VW^.?EK9WE0Q0T@YBF.W$1[!H5L9PK?\) ^/_QJY0]B'\5)/,*1?M+GQX>W[, M@4@"I0Y33A@?$E??D['&98/VJJQX?FUO(^>3TOU6E%T&T@:=F(*J=V:4Z'/% M@([[P6W!L#Y:AG@?P-Z_)K,J;3F*P'^BE/^(=_AG^'^+_I_C_SG]/Q__WTE? M,'7V\+3BA>]V?HY5F*BW!SJ=W77NK;*.)F77=B#I64M@1]UE9?2J9^K-IDYJ MO]&@S%3=&YL'P*RG"!D3!NR!>T&2M$+I'%Z+9Y*=XR*G8M&A(0U7.3&@6\ _ MD3!/# R3+;S9=47DLZP$@E3QW[37"0S6 UF;< 5:9=[#:$*7?JQC.DI! O90 M3'R7*L@?8@GQA8")EC]KYG)]9/V4PF1\P,:6(Q@SAOOUG]JQKU.[% MD/FUHJ47?X^^&2M=15'5>Z;<,A!UH$UC.&WSKP%N1D-C0,+;""W)6C@&DGB=2)RE) YBGCKCN:?ZM8[SR)6'= MKF1OS$&^S,1*@V"+H^RC5EYR :]L-D MT!H*.\96:G(#DRW42G1T "NP$Z6>-4+4?BSF"3AB51JY\MI, ?@<# -\<"@W M,R#=@V?1W527MX"( G5-Q6-58Y +_1>!%%7NT%KP^] F*:QAMQL"- &FJL/' MIHGW!P)V>D\7OW4EG3-FQ29(]%\*B'@RT9[AE5**KJN_>8NCR IWQLU?L^-N MOM+#49*\GI[0EF."DH0VFP7P )'15Q7$YV.BR0X,NP))/Y=EGT<2[J'[5C*8_K^B@#OP!@9"C-, M1/=L6JI$6!:54;-']@H;D5/D$K?R$#3!F M9FQE+THFZEL33OW 1@MW%&"E\H9I476%F<3NN=E+/J'!78?!CUD,:OU7:WU^ MJ9RT%9%2@G>Q/8'$;O>%/AD0\B*C8*[+Q*U4@ZLDY*:[1L$3,ZO[K0.$ M/J9-/;2F5P@EPCYBC0?3G4%B5<"_$WX?S[=%!/!$K';?T(W!,ND-*\]XHJ-+ MYX>TSH\E15/Q8T)@Y\2G'3@ 5KIJ8+21(#_!2E# XRDW;R>8LFK1]+LXO?I4I#@EZD24P=O2 M:;'L >[K\[]*Y4?*X<)$]WO3&AICD7DD M)N>5!W?/&,",$34[&HUP)^(W2@:F'X2*-]62IU?:O/,<$!3__1%5_'KY2"18 M-JR9J&#+TU59:D8$R9GT;-\";\TV8_F__WSK?PU4\MYP;:'[^]VJR,D+8BK# MW.1O 7UD5&\!(?15=[%:#?J![9$CXO-4LQ7\%F"59#W_ MY1;P%>]>D@RD!F4#'3G(WL)&E%2R^[T9OTOL'R'-KTD7_\IV.J?^NB;[G]=8 M\]IFZNC6C2O=(]D(^JX+42I1H_!JN[J#U7SK%]APGRRR =H'/Z0>H7IG;CAW MC%HNLAE2F2AO 1]C(]F]1074_,:HB[Q0OZ( %_@\?7L!;%YU2WU= 8]G]%7] MV;IK?I,BC+N1#B]V>EE-ZMBOVD2Q:9$-3?%4UZ]FKSE6%FW4/=6_QQO.K-09 M@,N7Q4]4'BBT;9A4<0GD&@$NR:/0O,8Z:+-,-&>?OA'.GZ1L02584Y;9JV.V M3[&_REC>/?(@D4)A5[IJV;?1-BN"ORY%JSHH34,J3J\JJ)9_\K9POK2Z;T7% MK?T;!0/X%E*NSK;1"X.>50DS,M%[EY__,C2^XU?S!S.3)[_Q\%TZ*,B^NQA3 MLK=12$&)0ST>1+L^KFL-8S8$$R.%J$;*C31K! A?IW1@58<0VV'/VU5AY_;> M<*+56HEO>M$:J>J]U;RU249&/RE_]C5(;7W^]K1#7"TQBP%M&M]7:L0<_KJC M\LB=_FV"H8"AJ=IG:S5/MN##*,!I(\_Z1Z7"@FTFUBDIZ2*OLM&NZFU[OB]H MR<;?<"8?QU^4*>%84N%GPSZPBX]^EMYHZALR",$"R",5O05=3H?P+NGI\<*Q MB05S<*7%I<9P2\;-<*E[[\)BAVK$O-TY".Q+%*WI83G)V4H^\J/90ICL.-+C M4?,F;2^1CTPQ\H^&;,A% +>I!%A65UW@0&9 RDKH1?!8Z2;@9-0>L&]7Q7AT M"^@R9QV50YN824_G3SO%B%+?_5A5G*[;:;I)5]YM8E=-)*&0D*@''TN\9AZ> M+F.4]H05;!"NKY9!21P)2A/>F=_I.1][_-7"$A=U] >"#(QU5(YREV0KD,G. MVP5:I$[,MZ5+2'(!ZAWY1(F=74?5WF0<=K?1>?EA(E0_;XOZ%*7[OF=X5$"< M*&%RIJ33'1/H*QL&\+6F7!>5D44SAPO+DF[=<#6.%S343"3KU+0:%$21TEZW MQ 4U/:J/L4S>SQ'_%A_#Q#]9FTNN[$E(Y%T\9[PTMV "JK)GM/KT^,$3%^CH M_00O*2W-4A9OP3'D.@>T;@ P3>>& $U:7E;_D MG>T+;_9V19$P=('S:>A?12B''Q^K-V5IBCZE$4?AX]V-Y/__=Z'_?W'=5QCJ M+@C]*X3%YRS2<>^J[Z%3X,487WWY_V'4+3#)G3,R7.KB[M39#[(#*:]E5'&& M$K-*Q'%Y=L0NIWE((BZ9,E&QNCTBU3_AC;#ZD!W6]DY43-V"NZ22=\=FG$-Q M?I 86'"5/^*TY27"K6'J@+?<$-&EV="X#+$:>'M1@E0%' MV!R(^H_15Q;KWUX6-$D:WOMO5C&&JUON@40[YMLZ)EXNLWMUF6LZC"()4AWP MI!*TLKY ?X^P-=]1%U# MAFXNT+JER6&)U; N,TV+-$TS(&4T[GA5 \B\7&<<9^0,-.-D4\W66_3%0E M7!6M:Z]C8D_G\;F1U4@^L'CIF:YWOH96G N^;1EJ,N/LSEM_R%PEB?A ];3 M9">#;0Z1*2NIUB0 %.*(IDA(\+3^*+ZREN-0%?JZ)E1)G>?GB[ER&7G@KWY3 M@1@!Q]3^'4VCAKO0M"6BO>WA]N4T[+BU6+JE8,F],A/J93:#.R+_ADV*6I.?I7NWDXYX%>&FI[GV[5A#3U9-9LRELHQFRSD@J';ICT46#U+U\_&JDX7 M/7Z"#C\8;>1EQ X8OJ%,,32X_]O+I&1E<]? G+R5AM%E5KMYG#5GYQ:@WU(M MFBCL:K86K!'N[;-%]QPF[G MRYG)-.>;T?DKO0F^6;WVJPA)VEW?LFRF_<7<3?]I!+[=B M28N2FLV_&VWDRVJ)HY^\)W)19@*E/=U6@Q-B\'LK<2CX(CB5AA"XHR& J&XE MP5!I8GN]]CH$6\+:IOAR=KPLDX=(2\54X)Z(ME+AY?'_WBTMBRZ4+,&"@J<0 M$_N$=50_MMNV/YD!EMA@PC*_E.M275F4G8\:]&?BML?K9,+7WYR"Q$:\43G> M&T%< R@(?E=Q1Z#H1S>OO0/:)/KPMDAE'OXE_/GO*J-BVV^=_/SSC;T0HUU/ MCA1=]A@-:3PY_,\T'AP3$^0W">]E=;;2A72NW0>2+Y-AC"E,O9>NF1)IA1[ M5]%$%#K+R#U<%U;48V.1K/Y]J"1_1=FQ+(ELE(U1L'\$=/@%1"[/0%)H**1- M;ADS_^7-J DA- .P)L(RWO%#,T2$7(]]., M,J6$'LWW7@[W1;H/>DMI28&^SFV'H]VQWI_+,[3? DJW%^6E=\>D'%;&D6MC MJ!-D""__F_#?J"1F 9LWHP?H+,+-TM&),E ;26\T,MML4Z4I;O[E# OK+M @ M;BHKAM92O'/-W>3=& Y-*P_;E@S9-/L$HVYWSGN!@JN,7^R.F\S\(RHFEG&P MW-6V6%RSZJ:I7+FWD^"]]>87ACM0DV$:.8VY]P A1VC[YN64D7XGKU,OA$@1 MBJQ?KSZ:^I')A?J.]Z1/)Z^&BN5[_WZ//Q3Z MH_2G&!8O-WF0^J),X-G'-,<@$LZC8C_-)O2#:'!@93QU3Y[=N8?MWO>N>T#> MX?&MJA:--T< $Z8B6#/OBOA?'ZV-M5"7=Z("2; I_4=23S,F M@,'AA@-]EA;Y;E8(#2[*HS+R/XO6I-#Q3 AF#9G;TE0C>0U8%;D5#A!FW;X2MSG<)3Y(P=]&=:V,5AH@;&7 MJPJL3=4:#J0Z %H\(GO\3F.QC7\P= DN'!_6V%H!+6GTBJ-_@\:I?;Y;RICJ MMQ$#YB?D:FW+W&52'=^G ?2%"S=#8LO&Z55B= M7P-+%&"-KY45DVLPWJR((N)_>X63%C$S_G6B^R%Z$?>5MU0OFR=Z!^MQ"U2-9"77D"0N0(Y %&"_I$KTB+HG#5W4 M1/2A4<@#Y GB6&SJ\N%T>Y/\WC"!Z_AS3BCGEW*@C# FB5[RS_M6Y@'.B-JK M!I;Z*8NIL>]ODBV?QY1PYBQ7_/72FV%,56^J&=71LR6N5#PG\ Q[DEAR>$(# MEK*TS-&EOFC^M5Z3:M-G*?_5Z'B"@ "L&4?&^NQBP0-L$ MB.E;8>:VO05\B+OW^*W'/5H@]R*MTL+W,YX$262M>V!D#L78WIX3C-&&(T(K M>@3V_.N0=3S@$ M+TIL!18$U,6["2"P9KXTQZ'6LZR" M/L^WHRHU)V"U@;1&2]>B=>CP8IKOL*1NLSL/^%L5SFZ++9L"PYQ+]>"MK)/>^DALX[Z3$"I8.$L,:U MS1RH>QP:I&3!SHV,L)'"P))86%N M9U!J#M,R\J,PK=OF)-/1,VCS:\:%8?@GA#RNDX:/%F[AN,E=%GRMSQQ]+0.Y M^3FC3VH"=/"T/Z ?R! ,-^TJV9(_%>XVN;::WG#(5NUJO3\E'$AD]'-G0B2-HO:.,N-E*$]VF_YE''^]9RJ)5*=@OSEAM;G@6=1 M>%J" RP >R)-I&>HFV*^*1W\LLH>C"1B[OZI09V*ANCDD#6V(,> MRDVCMCZ2!]N7CZ>>03*U63]K]<>%W27L*9](ZP=&Q'L?J#L98#9^GG3K MSYB!RSU$&AV-XA%F^OK'"[9\,4$L?;*^,GE:N+J*+AZR%'ZTI8;+BX:[B4"J M7*SZAB$=GF<*-T8XW 3\C2'J@ : MUQ'!N%.L"6W#RYL2-TUB>XF\Z!$1O0G-]8/Y-OODF!54H3,3 283646Y(^&) M\'N$$Y[BRYP!23,*UZ5S?$;_$R J10B-.9%CRE5TR?#L7L:U1WRH,PJ 4TQV M)P&#&8)-M:Q_"IC( &[([4/\0)B _8?F9,H?^P[F]R9Q @2#Y@5RG1I0%0#/ M-_J/WZ/U.R2RUU,JTB)YUS/^7-<_LJPT%_O574E6OVI\_YR2I(+FKKO(BX_,C&I\SB.>B3H>I;YVA!\=)*]&+XJ^ILL]/U45 MT(;6[*&KY? D-0)L^YSD*ZL#V## 9N"?D,8I3NV3UM'U/?\61+[BR0# M>SCIMD_PU/KD"IQO @]?9IKC/.SEXJ?<(COLL9)*UD%DZH<,^38TT7Y15GRI M>G&GI3>'OM?5H_5*^GF:TR>U%:V/,3J'7:),+*%&0=NI/[QUAW[V6_H%?_^" M!6>((;1:LPB2,.))OA,N72.= U'EJSI>UW--@?P$RC3:7X-PERS7?DH'9?1A M^-D6I'!2F'?[_<.$0%35H0K<(HSS;NI-R(<#MC9[L-4<&S5$^)N7L(6H< M0?:\*<60XLN6LYS4.=7L&PSX$U[&D#AB^K+9] U_=Z_]P"]E R4Z! MTF;>"I-?\]N-S:[J)4*E3CG&I38QUE/K2C. 4-AW[VTY1@[*4837;I M J(C.D1:77!ZOM$@'_'XBI<\'I]NNDZ%OH?IA<@#R:Y>3K OK7PL.S@#L?[ M>C68:.1C&WW*:*MK*OMZRK*IP>%5"P%Y]3WJJW)C&MK1EZ[[MW MHUY:#EL9?G1(JH5SXT(02=X>#SP_2$!*=/7#$<*$VX&NMXB3V[7,#-813WM5 MV&@K]0?'F2Z^2W+.6.>'J7(/N?#UB4J-8OD>K#M&A9_9_!/I0\ F!#='VCX* MT'XT^V&V2UV0#UYA'V[]ENU-JT-0_4'>GX49\"V@ZW/5&=[!?(\93]#H8U?* MUFIV:)&& MO?66I_N(PX>CJC _K]0 SIO.R8/KQY:N1;5& =G>9?3Y<$/<(26I7I&0AC.6 M<]2B71Y)3BT)'F:P:^E)=:\GLMFJZL/''@&ZG_A"5ZXG^U_P6SWUF87?3&XT7&M:X M:I_UD&'\,7G()U)BS(/I4I!Z%],7!T!]V8.:L4N1H7A:)(TCY(]B#\.%&FI+ MWV>^SGQ[960Z)(>W_HTY(73$=9*MQ9]3$>!-[Z5L<+>F>^D+)W+WT!CF*S&Q M^;#Z@3^S9LU_I'>QFCF1&"%F?-"%!%^Q9W%77J;AGMO55)U5$^\M@'?A^9-G M9.V<7U8N+AJYL#NDB%8@CT )0_!+Z6[<&](YM]66A(V5H366CH.',I]9FUHX M.V8SXMMYS/'LY7XM#180&&*?K /AK=)$/C@46.MT5'"TFDSBZF\I9EN+.C"# M?F,MW$*%(PQP/Y_OH87X(4:?$]GVT*OO[?099=/8F>KO9'/50>//58G/)L94 M"APCG(>:O-ACT%F7?W 5 7ZH(M#E\D<_:N0AP=8-$VCV+9JWG0Z>3A.U[%AF MF/6HB1N7!E=%A MY)18O(569TJQ)ME8J]R+K*INB[BD/7(*7I7TUQ.SAA;O\GI\(^\=,:"UW$U,SE%&+2/N M5(YONG:9W$Z6C ,ML<6+Y)AR>_,]55)44>3DZ0! 1?G@5K85J08^ MG:ATNTJ%'7^:AWP2LI%[B+O>B\P[)C$ZS^#"[GG4GL.2=FX;VC50]/FLQ/I* MOL93:T1OK54PRZI*P[[XHQ0G,\6HYJ=B!8+ [;'-?(7)W/EGZ79#"X.,P:1E8T&<_KK,+)+&\*.+JI+L), M=DHT2R@TTVF&%X8X5Y90O0MU?+49DZ#D3;E3&Q?-^D(B7(^&6TF>Z1/6@,FR MF5??*M'P IWK_.).QIMP2=GG@CP2#'Q[ %_7GG=>V*M*T:NYA*#&BJ+P5!EN MNG= FR1;<$VMEV.I19MOY0.>20H?#= M:2^_)4*KN;$-2+:D\IDSF<:1W?L4.[57;-C-1S]4N%]H^TZ1.<]Q'JLXRDPL(5;Z%FKA3L\RTS@IR<4:X]0Q7/2 M&WP+#U66T\\4KD_2>S^JN433\/QQ9CJ>;)32L=J,K;RB/A. I(1VH2PG+#G:28&2_G=TX6LFU EL=Z MU#;ON=VA_,,QEG"C_N0.IL>W@# '7TNF1/[Y K1WF\%Q4XR,U_LGKG^6>UMZ M[Q1VG^?NGH^U)+7;Y#AUZ.R9+R+(8BNB[!],/H_B?:+-,=Y(:44I0V%86.=F M]Y%]ZKB"1 _' E>8\:#?=<6)U:,X15\8!=;*\E&0?7(FX\M9N1E4$H3<8.$N M&W+8 ;I+)2@TO:C?JE^,<;)0-,4,%IK#8]T^^\E*:8\B!UV_+#\YS%)LEDV/ MMU[".Q4[-)LS[.M"B*-QSUF.SX_X(XLG U@RS8EW4KL,)\%)/R5W>^IS M/'7#E^9'&,YZG;&JOG#ED5"AV[KV_^J^/:X=%+S_PDON%][ 6WFQ3\\C_\CU MJ;V;;J$;[/9IZS''=Z!N):\?+Z\=YG8 KJ6J9&X^C0'$!*C]62Y=T:_2EF,R M1D+"9W($,6-I 4_&C:X4XE^1%53PL$8'BT"/OSONXEUU,5B%>%?EE>21$"=W,CVN/LH2M+O4:'&" M&VTBSG@LRPH:8\;VYYN![,@\IJM+ M!@LA/1+QP[C,/8=3+.@Y2ZKR[IZ2'*T+C[_77Q&>UA>P4= .E.1*V=B0J(+^^S'RZ6_SIZ/XV6 MQI!.[N79J/RVR9L;K-G# K,Q6MUL;X2>XF%"X_$_I^$Z$,E'6+?,+$1'L2= M_N*CJ<.:C5%_',P:("0+=@/>J_WE^ZG'=B._=5!#7/,T**DXWWVGO8JNEQ>A4@KNJY HD9E+DU&1 MZI*"NH>TKA* =+9Y$]F%H6B>,1S\*= M#/#OXIZS6-HOTWQ2'$B>"@6EB9PEKC.B]T_"@88>WEI]HP?Q)DGUV%_$*G)# MS8AF YCM]2_UJ@H[9RX_"2S%OIRGMTBF<; 9&*'.+H#&7,Y6_E]P[.6_#/2E MD>9DYEMI"#<1"57SPJE,ZT33B*0648;'[0-F_I?N+-A?\NMC"7H;4V&HZ#\O MZ"6?5->Z4I34(#?N,;U9VH&F/!%><<$NW922NI9+Y/53ALK$2]=/<$31>Q6] M^V%2&^3([OJ=ZGW,29P*XS^T+GQL!I49VO?)-?VH =L;YJFZ,L2NO5"I[!E1 M6H4/)%BV#>[V+H56#91N>QZ;]3"VS&2Z\E;\_$JEWH^UT&R+\SK7#"I'_TF? MG[F;B.A=T())_]#,^/VF4_:3AU+W[HN-5@X64A53!)\M!X,4T;ZF7\E,MGN7;T>=^95:U7]S>HBN.[] M>;Z-L29G$=2H'%,+=MFA$?I=9%,?NQ9< $\23M<*\X]I?X!0P:7 :KI;6K> MCS;C9RWTFA'J&6Y33JEX?!\)* #A;#GE?1 Y"1<5E)!3L_XW0X>Z\460MD*Q MJ;VE1JA?@8F*1_(F3J^(%9-@UEU>Q.A.V6^?\VP*7'M5H30QTRLM,[>QZ.GM M6DVC]#(,X-J0Z0M;I)?I6LQ=[P6@ M2MEB@MPI]"6_>>6;2C#:.(!%',XFM5_V8=$7?"JU*,BAE.-694HO]U=&/C*> MVXZ^-R?O[5WT)!]YH$06]NYY4 EG98#C.ZQ1;3G&:"0 *9*A?R*8YB MA!7ADGW?L1/+IY$5:7WQ_3=IO0BN*<704?Z<)W%SB^""XR1#2D.*UH5['>$O M?,=PY16M=@*>3-9FKM4VBI)(*G%8P^N2(+P$8.(K+(1@CN:7T_)HDD@J4?)E M14^P)^%W^Q>&\OC&*L'V?5) M_^1):35%YB_6-G]F9@WOYZ@.(?E24(WV;[[LV#%DP+)"ZDG9WH>:TJ7OH^.?8\L0Y[-* G)\!"=-*'T6"MS%5J)V MGD],4H;N<-TMY 9&0213NDQH\;*]=5[JQCC?A@JKMPY"A/V!!_::&0EO7,1$ M'6^S9J&9_7[A_,BHSP^5>))/[47M!=4F:3S/]!%2VP9QI]#_+QD.NG)O@E2]\ MD4$2W#SI+>B9%,:BPG,\P@N1U%GR;B91E6([^:72QS3@XM 89+DAIDFM_GL4 MJ/ IFTF7+>O#7V$YBGH/B<69Q38+_UJWX-ENR4=EQO/;JSD(5=^&G&,#=@,T M_B:7!U(^:Q,D+3;B("\%S8\N@"4A=?FVV!(G$)K@GV.P\6!)*7*;#& MM0WT;@3'G6"1;OVVZ<7UJ2KO7,$L4;8QCU@,!6KW$:ZCVGKNYF0&=A?^@_%(<&4?$D M7<5S9BWH8\@7T'[_QP%WG;S8^G[)='W06G*,32@*S#R@0[=?)"C$;&4LKM[N MW-0O %Z0T2&&QI#MRC'B4/;E1B(HH?.*C*7A*T:O_39S);7X%D+; M 3Z;8]/SLDQ;U'">^YZ"K[I_%E;R%GRD1-[O#TN7(\PC?W,29(?]-;^A&K4( M,%1WYQTZZB&$_O3;-23+$6=@E2@U^9'*8F63E]E79XY F,9F5RR,>OO-N(;7 M)=+-?3"S'2IT>8&?X]7!F2>$-3W^%L:H- F<+&Z;LC'@S3,]5EFD"#0O=+E< M[J9WD&8?*#0VT?0_[^>E0S@8:G\!&8!MU9N^R[-#!V@HL'Z-&R#Z/O(*<;$: M+[]0'7@/HB*P8])Y&=SP/2\A+W'@C#+]B]?.H Z8CV?.$MXX5<&[$7=?6QGD!UYCLVS#101)_.3),&?8VO#M.F\?,PK3H<(CJ$DW>L;/+&.*']3 'O^Z MJ@AS\W/+##;UJ-MBRNPG8I%W#;0Q3R[)S..THH3*>?[768A=NTHG"#/&AR9) MWEVH_SP7_(0>Q#[WT*)\/^RW'$MHCI)XB?LHXQQHL@O\+MY;TLS8J'_PT6_M M]'0EPB P$2P4H%E< 7!_HZ>1@@1+&C;:.1)UK1HFZ=%3' MFE:L!:< GS=S-ZD2HUQ"@Q%E.V9/T[H@Z_2^5S,1JL9U5VI!SQ=??'EQ_Z72 MV)P-;6?IRM08!K%SSO-0J(F X.IJN?9%M+^*=+T*-/7DY:,D4Z6)O! -:,P8 MCOS_C_OV*N^ZD)!L@&Z:" A=X-TH,?O85(D2;2.Y$BO87>D18!12!"$!"D M%P&!T!(Z2J]2I$,(4J6&$GH1S^_FYGZ_F;NY?V#WS>[L[IO9W1=:MJ#M*_^4 M0C60B4I\@$@Y(:<1/U[3JG7(>G.WQR176]4!#2VK_-ST=#HM%SI>Z(2^HN3L?"*^E *UH&Z*&=YL$"ZJIJ03#&R:7_"2\QT& M&*(/1 KM(ACJG*=%M[T6,A@8D.9 YP0K<[54PGI3OTS[%N)D_!RJV?S#CQX] MR1OKE@*>T#@0,/J.K%LB'F6M.3?AO.8CM!U]]"N6=GO;T.9.WY_53,[F[ MNPENIQ"F?>%4[/0B:,*DK7E\BS3+417#F-;?'=TY)I ]Z5+YNBQOQ(G4FZ6K2D%=6HD& MO8'?*:3?#4@-K[J$;E$<]PHF/*'S4*U[UJR!'!^7O^\MD9[;^G#=D-2(EPFU MYV.JT":(+TE$H4X49-2+^$ZMBL,D/S!&N/Y>$B4?0H?*D/2VO^J^7(F4DL2S M6%J%<:^D AE8X):--N$.QO[M9Q?E#.SDW4(KY6U6NR[I2'$Y<6(G2B:J MY-W>U:E/L@IR $'K!Z-A?/&MDL46V])24F>]FR.P^MBPY%C]-$.$VT-=-JWE M1"W]'QCYC_L.L9>LH?*?MJ9QSX8H/UR@&(F=U=9$=(SLP&-DUY>\E2Y%\[-; MXN:Z5% )1KK%?"PP*_R,ZW[6WN"Q?'."D?>Y*AY=16T&Q5W$Y0VSHI'O,XW- MK""B8^M1EU2%3H>WPBRYWCP=MVO[:M^(-.M9NDL: \\5T2X)7^GR!(0D/Y\. MY[78DBL>+H5]UM+CKVUPD?/%14\\;R*.)!3$8'=SD.Q+R MF[\>+6HJRN!X%<_:64TW,8F+[V!R7GO\P%DOS$*U'EU8CI*M6$8FX WHC@=&_S+B7)=5 MG.TOPKX)9N+IO)&%!.,1MJU?+7+_H\9]BL#Z^TWZ!$1&'DV.+O5%! VT\S20 M,U!;2G^4_P_@2GH_",4V-E\LO_V^/1;X\1R+<:% MG0OK8Q\X!^06E@+DX?O73O"*#\ OE]UPX;\$_'[68%_P@!X$WMC7O)A'^C:9 MTX[(L2=&)0_\*E-9PMGISK :53?793I7B?#%.2V0E,EQ^?L0S7<4&E",!)-0 MI0FU63\[G,[]2[9\+=4CV+M:=*GZB!N[U-GD?3K@&_)Q_>KT&9S&" M^\>Y"RXSHAZ"Y\^[S>ZK_JUQ&HUW4D?^Q >(#E/&[G@AGJ9XA#N0P*D$-GW[ MS[Y & [<%]DG;9N0AR* ZBMP-+?!>$:.B8V\R(M(H8J"2%F08<>9] UONJ%6 M*5*ZN3J+FURFP86:MB^H;[QC M1BCIFV#+\;]9N]-S'C;D"*QEXBH7Q[BI7B9&>)5'9;?O#>RW7E+M.N?='GXV MLFIQD(U+B:EO:JL->LOG%8>CN%;D;5I>"LWW#.2<7_Y^5L_(A0>#FKN9.'W7 ML\)4 S[HD3,R1F-*_>1Q5/)7^I];I5V(F0;25*16\L\[HT6"K:"([.VJ*'^S M=:A#:]T5Y60EAIFI/#BZ-[E\:=G/.^D/W2/%J([BTWZ[G3$*/T^B$ZK7[E=^XSM"($3T_$I/AMB$Y!#^A='F&Z: M]PG]?X8BSZ7Y2U"*\L1R?89?&\NO/4.>4^3394M[(]*/[A[6@'QWA,YBZOQ/ MYW&KH'*M*9(O->9*WO=[?9M:AS_V3;A<[]B^ QR%TL9*2P44]"] )1BF9^BP M.N//";+)S \^.,YQC/4]\FWYG9QL0;VDA9G8A]W,T>QDH"\>X&7TW6O(.-__ M!8):^6NCI2KVWHNABCI701.WM[\FZ&)O35*VGBD;O8Y-RC&" ]A[GH%)_4]E M+;2T!4,S4-U7/#FK_\1H?S%8A3CNM2YY>?>*A5[R$X_B6XG+N\*<0"/E])L) MLP/@(P^Q%FQ=RDY2QV5*CNR(J]OHFQ17AG@7WY!X:NMM1K$'ABT.WWWRB'&O MQL)D4-M_@7R\8;-N^U"SH.O$ULG$A5!%NFB19/ X\JK)BP&);0]H#8)ZT8MT M7SD$6;H9&7:?8$R.!KVZSB(<"4SV$71K"%SCO\)2@X=2"8MD M\GNVXD!2/Z]MC3VQ0N!XTT4KYY=MB^CFG&)_%_:%F0 Q)IN%'WWTZ)@#R@[A MGD_5Q.\K ]!ZY+(H9XN$^6.YD3A0:1.#C[D6^R(^AODU&6EPO\/6 D=!M6Y7 MFY*?^^:T_ )K/,95%$WO+ MYL*PW9Z&CT5O,BG99[_*0X[ZU^YG(E;;Y2K7EZ<\14 7?;#B!I."Z-:FD1XYN>?!Y?;BX!Y]2[U)\X_B:GF@38$Y3S U05,H M?4]39F!'ZP^ 0J?*@V5PD#!T!5G5J_^646QZ9%Q(."N(ZKBS?HMR*Z7CWX>; M5;_W5*Z9IF]Y)T'S@^.<(N[S%EJ"7?[ :L%]5@<[(+F\CZ:=Y3L/PLQW 1B M4P*4^%\0K3'B^U&)\K]2L%7AFW=?3F-J]TQWC]&R#[F&5_U09&9Y\P:V?\([ M23J%JYRK9Q@"H:.>\2=!U)0V@%^5F$E81JR)7 Y7@CP]5R;!%TYA:M)*XNAW M]!T74C9?\MKUSY38CBQ5'Q -NCZA.,]]MYR0[:N56_+=-_F;LR/2(\?54*&HPT/00N84F[(,V^GF2 M4A ZRWW%6N5!%C/&7T,[@D/MP--_ Z-H;+*P8?V295)WO#AV!?_+'BY>;P# M=$:0;R5N',G%[=NTV7 6)453D*GKXE!AP5\T#ZZ>(X(&%UTY':.LR6%AI"P=)^Y@HF@J:#FF#&_HLN5W&QD9H),LK*:_ N!*5!$8)2\H>^(E/:S?V) M2E2E4\+HU^G3E5-P8U^&%/YBM63$2][;_/7R5V126 [KL)I0(!HJL*PY ^L6 M',%RKH_RJI&@:&C$+?T?$$5^I:U];^16'EH^RQ6:VH+L%8!W\+0#V!(\=DN< M;8HB-<#3B,0B[&;(BY"PY*0N5GF!Y-HY)Y'@RYKR23TR^MSHBHH3H= ZWV"O M>AC0'#O*Y8S/N#FTDKX/5UR I)$3?#'&NY8@U#9#;CELU6\6'^QINEL'&&- MC@S(KK1O8?3_^PSRWX7HK^W:I8;@G>3E=XP085I-+$*:'!LIFB-DE]AH7$]\ MPKD1ED_Z6*2^@=IZ>F+:*GLJ?CK%%3NSJ#";SN8A:3K_QJD?GZ+(>FE58U<) M!5^ZW[CV<;]3Y>\_E-E&)1 +T2H3K1G/'^%LUT\^#;&VM-$0GM 47^>ZZ!.G MMW"8W#/GHOYF$P[@RGF01.KSHX/S-*E^9M??_.,6(^@SE&(=J?$!I\'5;Z7? M^8!J&-Y&21:I@"K,](_D]N9>7";KGSO011&UGX%I3GX]+G$3W6&)>+.?@ *K MPCQ]2_LY(49IVP6K^4N0AU8R0Z)E#\=0MK70?GH:%\J9Z>K%I"2]E?"GF6?,>,?+<# J:37HS*:'AP MR*S8THZ,*"HA6I%"O6L8.S.^5SG_'H2"W'3'_7Y$1/C48$6-U?5>])LM*\>0 MU,@N 32K9"=@)6,>/9A?\'3?*F03/LN-&PG?I/ MG3?$$_?"@%?*-P+INV,5M&(6&CUO>0IJJ%EJ+-OMHZ*F(Z6^+8N-)2:8:@;R MQ$M44:FRHZNDCD=.1$E%J%:SJMBWTB&R!^L%[4>NKG8YI$WFP+@UU3@$@[J# MP5U-F2$ZN4N6M>,AF6-M-\T9RDE)"G9/U=\SLX],KYY_YL6M[2[ M<]S"40TP?[]W%TT&A@&K\V@=OS3'%KH46X1]OK'FY10%_D3G9LP^1) 'V#QA M.=**US:@I;<<+IS7]BVS1)\C0\T+D-UH'F-M=9W)-&U<(H!T'BD0KS.),P?!A'"0ZSEYFV> M::(39V4VO4+>:3\QK)L"9NSR'IE0+BZJH!-KN;L> VNNA3C;I2;F@^X_A^\Q M:D%\ M3'FT^@6MH<]_7"O6AYA\ .WWH-IN>__4XKV>^YT]FSVW_JH?SG72HUKD(O<] M>?=;F/+X[UW4A'':J,['9SU1@ SF4PWL6X'J^PBR'\F*'&V^83 G$#I0[.WB MMC4O/=?U/KJ>?*DB@JK&2IKC@V.ZSI$?/7*\SU0=.A0&"4H]LVA.HX-8@&7> M/PHWT%!0*DWI-.Q;;E=+#SM-7GXL :]ED.[:JSGYZ$-^:/<.<)H9N[=-S2JP MM[=V%XKM'1\"^JGJ(W7'J CHFAG.7C)HAU?#AE$,?@-*F7TS%#UX@>UVX\ M M?TA82X%K?#'E8&Q-Z309;+9<2 ]L#JAD7PI:0"<.1%D_P9/.Y>KP$\_9)3O& M\22LLZL(](K=L;,\[U.I;2><3SY#_C7O/JM@-.5VY2 MDH2S5VMI/*>K;"9-Z+83ZM,NN@6)-B4"NF;R19\HW.,7^889GIH<*YVPV&97 MU *B@]UA@#VB!CHU6G<]\I(-!?XJD;8Q#"7L6BO\E!$4[@DS]>-^_* %XY^'##_LWZ'!+4O7WK9C'N@+ M 9S("?7@Q^=.A():U4M MD]C1=BB"&;#R:V/%LAB%7A_Y\7%MD%^\ Z2;')*EYRMD;L_$N7O^92A>[=E[ M(33DG(91HQ::8/5BU4J1Y$>SC-^WX>R)0V+B45EV>X4<;>6)AXQO_-\SGZ>; MWI5@"# )4-?!A ZY,*&1 ((V![,W^FV[1["AN9R@FUP)PJ_-4'^\"K9V'UHY MH>FQ7?[08J$P*SFQI>;UQ"]K"\!),X)R>H4^393+9),G,?D;O0W%=?G':3__ M*LC4/[*EN@,WB$JY66K?WID,]*:R^Q;EC^ C'ZCP07'Q M3["7<&/?P=U6:8^F+;/JS8BYKYQU4I\[<\ @Y%]!9#Y'M4O! XZW6 W&DO&/C-[K- MD)BJ.$D*XJC/DG$GN8I.8CDT?[HJ 521@RPTQ+ M^A_@6\]"4B=-L9X\Z,Q%-\>7340?<@4=%F[E;>>AY%B^9"H<7VKO2GE95A8- MV:9 .TH6H+=6E@-SLX?$=T=.]>&B:1)$NVC3=-=+,HQ;)2XHL&MZ0JEX4*<* M!K9Y6Y *G <=C3F^9,5O)4Z]=_GLIO(\95=OL2C"+M*U6NDEF%:*5X5?F'"? M!PL>,R?_3KMX51"I /^ICVEI:T$WI+\Z=2^7@P%?.MR6!9+#:>D=&R-(BQ&Y MY4%P2T@G852WN34*%IV&[&6[>$9I[#"(4F)N)\[<^[]5S2N%],!^YY_N%GOW/G-\B=G#W)WIEHXL15KLK!;&)AIM" M,@"3Q_^UT7?\>>ZK/O6XL'528E-$!$CT%)'!0YQ$6TJ>Q3+^?Z]:\.3/W'\ M4$L#!!0 ( #R"<%3V\&MU21L (I= 0 1 ;G=P>"TR,#(Q,3(S,2YX M9D.<-3N.\I %_L>=_9=[ M.Q;UG< M1-2U;N?6S23V7/=C;V]_]Q]&6>R]#ZKP[\B54/=C/*L2<@UQ5->3;A2HN9>K2 M\$(4_/4J*QIQ.YK/:+@@@:B$,L#K77R-M?;LO7T[)T(?G(F:"KY9X,=C_D]U M^Z"CPUU\?4M"FA;W"7-"==/BU4+;_OWL8:%M>,!F]*433$6Y_8/#K&S(''6S M\&*AT9!'6<$1"6\%K_!0%$(U'!:+EA18K)"\4E6+9KR"%WBSP$P*UN%-!4_I&T4EY,*-%IF2-GJ]F[PL%F4U%F4^?G5.9M&')03(;V3_W;MW MN^+MCD6BB+/;.*)G 9^>T!&)/> F]G_%Q&,C1EWXOCTZI7ZT4*#P.B)\3*-O M9$K#&7%H(RR@*[ L\3VSZ2S@D>4O5:WY/),^X$O@D$CT0%@CK*N2_K#QQTL@ MN[/;EH,B_K7HYQ62/]O1KK.LBKRR"OZRTWHV/K+W#P!WVES4 KY6"\J:N]2+ MPO2)G;?5GI]RCZ#'2UHKX0,[B15XJ.HRM$"1E1=_=8!CWF_JT97%\8\5J"YU M1IH03"L@]EZO)FAA2-.2-"LO_FHG:WU?W0'OHK'.8"OZ$%JZR"O@GW;RYVJT M2]Z.7@]J.+$GK-)3H5PZ:BL45&$^ MZ[%,,T[;R@150O">5[(4-G #!2P&,*C?;L9=RE]NKV3*H3/=_'UO;P]F^B>25O'/(]^U3@59 MZSPG^V&W1&N)C3BD[H7_N_B[]%W(RK)$7<5%[.G7*]M775,^30VJ9VH5Q MP*9 >$+]D-U1^#[A-UT'")1T3,'A0!\.QT4^H&- /@9@"(/=$D],[\,)I9&A MGJ#4IBF#']89_%-"T[H6- ?C*@QASPA,H:()C1A(O!9;ETF8,OTK?=-;+RX7 M>/CK@ 5%SQQ&@?-S$G@NY:%-?\7@,*UC %"1,86)U_K]_W6!C;]8IX*/ 19Z M]EI+K]&:JBG0O.D&FJ%ST7+[2#BQ1UYPOQ:T%%HWA8K?6KB20-TZ0^J#Z6N- M\PC]1C4Q4\!XNPHPADXB,YX?1-3>MT&WQ&?_Z19:4K5ERL[O,(;$0L<+PIA3 M^/$-B%D8<+@HD-MR.Q[883R=$CX78S8;^VP$^,98GR,6R)D_MF?P=3B,KOZY MMZ=D" /[>TH,B"A#PHQP"G)FK*.,&>M2,K/E"#FT;^.0^30,,?1SR_R.\<7: M1DW9?5]I=PPV?))T,7Z4T=UR$[^RF7\'OP+>^2M?;,J4.0^4YL0 PGE.;XE(0M@NL_*>$MM_(;>QP$[CWS M/&$/!J3\,;OUJ$W"$(-UWB/5,6?JVT,$[+CP5)ZR@EN>4V?6M[%'36<>3-6C%EOS=* M^^'L^8L@M.56>V>/"./V'?%B:D]!(Z D$3CH9L;J9DW9]3>E77&V? :4K3^1 MLO6U0'G+#;V_9[N4LSL@(!:\PXC'2;@*A\@)=<Z-353L'BK M#I>(&73&$(S'&4-B?/XC80CFS2E#VXZ6?9O3B"6?CCWS2->ILJI!4S:O")'A M[/DJHVE=(LUM-^N!'4X(IZ@Y5^3 4#\T$?NL;M>0D0_4,3 QI[Y&TK:@+?)I M4MK;;NQ#M,2417G'ZP0B*$C][H'0QM9-&5X=!!,S[N.< =&-'Q<9V';KOX(. M]X[Z\>KI<^5V3%E4'0<3<^FKA-2VV^ZUS$BT(_+0^4,M-6;*BNJ0EY@O)VF, MU@W2VW93OL&5H7B*0L'0&$03RDO)IZ# KB;6)&+*].JHEYAJ'^5\6!?(1RG# M]0OPL>V0^,T.Z5C\-K&OH:Y-4P97!\'$'/PZ(3OL:4>[-;9=$ MQ(Y]$KM,[%[K9.2:ADU96ATN$]/JOZ>TK1.@;;WXGA+?XBP2W(SHQAZU&1/! M+D%#.,/)&0+S),PA5N-7[^3;43$%A:4(V[5DPSH_AU]_IHP(U_OO&2-I\L$6 M=_,->2'=4U&T"9C"PE)8K2';Q'J1_K7%G4/KA"'PT&^]Q\Q02@F:@HDZ$MLSD8R8N:EQ4Q97!_"JLYT&XVOF)9D @2X14V!0QP&;4Z &4"QFO!@Q?KDQ M4T961_SR+)K!F UY+T:LV]BZ*7.KXWTUR36#_9L6PHT H+EY4PBHB /6+;(DH6_=)/2WW?*M5F&-XJ(395.H4<<+VRX$#YA:W;*%HO":Q^!& M>(S<,D]L;TH-_XA0TV3(% +5(4DS$5>TQ@=!-13SN((W'U%K8&$Q2YX206GI!H M))1/<%:=G;/\!%A_*@E-?3SJZ&_KCT>$#2XIMSZA&H2S>)*HP?HAU6 =)6H0 M>WF 2Q%_@:&])[C/H9ND1,85(=K:Y))AJ\ M!RU[R:P XOR*&<=^R5\O,3ULK MC*K)&4+/Z[;)LR+YSL)[+$GFI0V@4>6_XE);X%-Y5&_QC1'(M"5F"C!Z>;AB MU[SD"+WXA1S= 2[U>;1&'6AM*J8 TCYM=W"A]2R6/<:#;2*U.=<$%BW2IA#4 M]IC+PHO_%P?P1!4(VW9D-29M9\N!,(AD18T@JQMI4\A:]2#-XMHDC&99X0%8 MNM;-HYK++Q\)8#HLF *:>EU #VAY[%.QFV$ 7&MKTS!B4Y$#1Z8!C]*E;/J M.<7T\=&GR8\I**JC[&VA>)HR;1T5F+9.$Z8'7%8>$6S6F]=HWQ1NU)%PU9'$ M@P=?M3_*J.TK6S5E<768NKC]:K"SVB+R/TZ=@+NX:.K;T8367!1I9M0Q0-\4 M=M11Z )VLC^N)),64 F:ZZR'$85I9W!K.%: +38L"%DO%%'F)>1 4 (!Y,O M66841Z V&WROF">KE.!")N8RGFFU*E%34%''EA>@4# IW6%?(I,H0%P MC8!+]IL5-QAQFNQ$BX(TJ4SFFX$DPC-9=&\-H:X['Z:@IPYK+T OV157W!=U ME3!K14&:@B:ST\X29LNN^;;CK_KP@C0/HY3S(\NX-HF*505.G)AS! ?F5QK" MY2/P9PJOZF!YW?$,6=Y2.5U)EG(M$A4K"WQ+(43VYH#C5:\V,;SKIRMU4QBL M.!*X]44K0^BB^:84PQ#2(& *)17'B*BN9AF H'_8BUD\Z-,Q!8N*DT?J3Y<9 MX*%KMJKG1A?6#- W!:>*LTYJX53S:E@ZT[8T#V/A>,Q"DCH=AA)O5R5J"E,5 MIZ4T8.KJ^KOP3\5G&^2N.%5<,(5WWRV;YA M;-2U; H'%<>L%(]7VQ]L7FV9@[79?+EE4S9OOMK,.AAL7FT9GT9V2#Q<=.#! MM+C]N;#;^79NCVDPYF0V80Y4'1>F*L8PTIT34YBJ.(&EB"EX1B/K&MFUSH#= MXH;IPO[HV[GU.6,7*H^+\ZH!A9GM71:2\1C,F?B;P2A_8QAES91,H:CBSK9% M%)TLL(,+N-E!H -*E*=VFAVB&AHWA86*V.WRV:##0%5K'_E#G/91,TJ8Z32Z MT38%G8J [A)TLI\O\!"0OUJCZE%IZ%K4%BXDIIN:>RS_TA4W%(?!#*U =,4$X; ^+8B0-X QH13B_G6]P*G H2?)*<#[%K> M,+!X)F=S>3-P7#-SIF!:$;_7OB^A?'BHQ@T+ WP? R'VC.! -J$1 ]7U&\UE M7DV!NV*AXC' ;;VX7)!I0+L>(A9GVOWKKSOP9PK5%4LE+5"]& X8>NTUX!B< M-P^F/>+HX'35HW]H[LRE*4Q7+-RTP/15290!V6:N?*K8NH3[NPM13L!-LN-[ M.B/^/"SL;))MF@+V(S%I"M<5BU!5UU#959NO<*=Z(2@+V$[VK@M)_A(6-F?) M9@=4LT,@$US8PJI%6M>#?=E+9Z5+YDN5#A+ MF995!TRVN_*JN4175*Z+'U.X7%KO:GM+E]9-7EN RP^[#Z'[GLQF.%B*9_*) M#QT3R63]@,_@0Q9C$T(7,/3P+WDM3"'Z+6[ F&/.Q"L"$3XN.-&W,:_PO=1 MVM(YO$;Y=JRD. R!+'!ODN)Q,E3N["X+18 <)TZ4TJ\28$N:O*DN1]]35%9[N@J.;!)S1VSU."L&S)-1\[G^CT6=@ %]B4MTQ"2=G M7G"/>QAILH1W0QX*.E@OE55TF3R9PH0V@H&HK$EY[A"HD=ZR:-WZ/<$/F[HR M5G^)KP/_R$_J7 8 O&Q#H-@/"%++)7A9I:6F3=#;=)T75TH 9T=.!.X'N!SX MCH;PY&+4'L+:C:Y1>\E9>RKUX99HXD>M>K=/Q/GI!>/%3JW\L!=]V:<@^'EQ M1[G+R2@*,U;+3_NF^9Q_>75!X>:"2Q[<,?PVB5>8X9VC#T"\_%XI@;^91R-Z MY/X[#L4FFAM.7)I^TE?4H>Q.7KHJ]?)8U'K;3R@T<)5]O.7V4PB?5X%HI='.$9@FE.D](!V\ROON51,X$ M.Q6\!H6E&6@J;5K11=:M;+<4/]F M$L0AV/4D (YY)\UHM]87Y?C"_Y?]L+\%D_X/276II:IYA[J_7[%VW_JI:DL'CAC+0+I3F,)%\T*\ M*--"?9G5906>, K5U<8J?RSWXF!,^3%ASD2Z>3^ 7>'J'45G;!3-9<%45D-M M]<,57%68"Y_^$?LN="F&M*-J\$E55/D]G/ICZ-3 6W.O(TIA%@XS=)A!7K(9 M7>S]= H^90]8+6%Z+>%W'WRP8I=6$K"Y7"]Z^.QF*(R3P,SU\BA-0[F"DFX6 M;]$HUU_G.V/^AH%C'!S+L'TJ 0A3(6QS^=6%3CGO;$)<&;[PL^C6)0\<2MUL M@E[]NG<&J_SJ/L,4YHY@[R![1YCC+'YOM25Z\:6)Z"1\_RFB!5] MZ>_^8-'D. XCF,#Q$&IX,<;6T$>"?VYA'=98:[T#04%AR;Q?3F,Q>E#R(I.X M+CB/F(4D@Y@84,^5U*&%OCFAF5X65EJR/FOI:=^F2XO\ER8 "U(LO^OK7%>P M*^X: 5RE-XV(BT; FRNOB-V@"$MQPVY-]"6"^ 5[E.234@5 JT1O5ZF'PN:I ME772J4OU3)PL,2^YG&E>:[/&PGU-4OP2W%..Q'4'"R06_)#R2 M/\0B>"C2?,6%(QDSM< M+UF.,NH7[^5L&S=1W 39+HCK-.U>YIO?I ?JI<)JEGZJF%NMG*&*]; H6V6) M#9+G2%9IEJM0\LECI-]B_$I@HB!.9!(Y$S"=PJR=.RH2@S-Q- JN+@V#^'^8G1#TSCEQ4B10FFNN?ZHYBOY=\ S@NK/CNM&OT1\!(Z/Q^3 MBKWY%0UGZ)L 8^C *"S65'BM8NGXC$7-P1T"^NM%N]:A+ ^8]N,Z#X(5/ MKV>SM)=8],LJWO5B>I'GE^)>),+Y?!3P>\+=\/1AQI(&_DE)+HM^^=6M-,86 MNHLFMZS("S:2N-\E89@ZDZW87,;#%+?^D,)&(DA$JGVAT;*.W83DA5V%M M6FZ?OPDR^Y9CI^H(@8%V^AH\$*)]"?PQ7H-?:%?O-(*DE[1WDH9AP2^JV09;%DPY=L^ MRZ*50Z59MA>C*GPWHDN$7N](#(Z85D_=K[$7L9G'"D)I%.QG]L=EP"/0N_L' MX;)Q>AW 8 B]/(<> Y-?8CR\N&3(56KV$[X+DES'T. H]MUK8*). M9'7!?DK(J4/""$9X3C"7&^>05"2W92D]B*)(?8249%-K_1Z/1!9@E@I%R8"5-4<$OL&'.TRD*NUD1?EW-A7@TC M"*;XB,C==Y^)-_'!7"V< B&S27*YU"][FS^2G@!T,9+G99_[FJ[ROT3_COP'XH43_WN+$ROM&U2CMG&>Z,\ MD2.JRO1N%PLUT,[3A41S;:#E/F$<[+AP!_(1Y]A/8-%/\[S()9F+@!H:&OT) MW"F1;A8,13=R _W+A=CJ'<)WE, G"8\?185A5 0I4O!D"NT%*QU6,L7F;-/C M>>5HW=NQ6!Z8>#'*CJ6#SB(_E"X]DZZB]UFQY[@0V5YMM[UQNJ^B["E2E>G\SQT:^#NY@X: M-T']>=C!P$6Q'>Q@@OKFVD%WX*^JMD&2/\)M;DU:? P6GI]%NM]+9L@N!AAY M?M99^:I:0T99G?Y@BZI[5Y_6-,OL/#]+Z8Z[;9O;($T]UMU]32I^-#XVWC:Z MH&VHO4%Z,'X/7Y/JS!-\'MK6A9Y.$YNCD8,%H[.Q+UQ/G*UF%Z+8,URRQ.FH M& B %_N6A,P1LU67>3&*?D_Q=!_X@R1'46"'-4U7G.P@/U"^''5(&@GE$QR! MV@=!-D2(9XJ*11\,C]Y8*8*R'IK/5.>:G=5J;6Z.S@[M6WEA"'ZJZ14L819. MD_>M+,752'*CA38VS='9?-TR'SK!,6Y27Q*_JSJUFMY\#V)8V[LD;A.T9XF9^:B/P'V%^]6BH.LWNX&ZBX1QPE"?=^DON[& MZ@!/%0KS0&(,Q3"/,Q2A1@-HZDAE4_4J4BH"[F),UIVV'$TI7 MA>"*)#90H\GB<,6Z9;XPB?!*%HMH6K.U9DV0VD -:XZGR^4W1]9W]H@P;M_A MR=WV%,2(DV,6PJHD2%D&W-6H6%5 I,I$0>XEJ./LD=AX3E81!..&@ULA#:R M&2AC0IBDXT$P_,HV$Z=+)SK*6;&]9ZBKYA(:W^[Z2&Z&QAO6[](_:E6HW\:C MZ>3#+JH$C3LE\/._4$L#!!0 ( #R"<%1V+/%C;Q4 /)J 0 5 ;G=P M>"TR,#(Q,3(S,5]C86PN>&UL[5WK<]NX$?_>F?X/JON9<>PTZ=W-I1U%3E+/ M^&*/[;MK/W5H$I+0HP@5H/RXO[X '[(>)+#@ UBYGKE+(A( ][< =A>+Q>+' MOS\NDM$]X8*R]./1R9NW1R.21BRFZ>SCT<\WP?AFC8'1R^L/[=U<_ MC7Z^G8Q.WYZ>!F_?!2T']<==*,A($I&*_.?'HWF6+7\X/GYX M>'CS>,>3-XS/CD_?OGUW7)4^*HNKMW&VKK!9^/UQ\7)==*_IAW=YV9/OO__^ M.'^[+BIH74'9Z,GQ/W^ZN(GF9!$&-%4Y"3-.9G*T?&P? RJSRJJ_SSL5[.G MI1R3@BZ6"3DZWN!0%";1*LD;OY"_R^**#QB859!-'C,BYTS9LQ7E"8L,+%5/ M_OVII&?R3,XUB=@LI;^3^#R6E-.I)"0AXYS$<4GA.(TOGND;%^1-5IS+"ILO MHHBOR&;1BO0DO"-)094W&@KV)6K&,5YVNT?V72Z5&)0R\X+(:>N09\8/HV;4 M-9W-L\OISZ*LZI9;35^W89D2)*)2/M-0W.62?"6"61@NRU:('%NRIG-6UWSZ97!VVT!A*SEMK\(G MU88[%IMI.'!>GY$ID4CCV_#1F:1H_.;+X66S:>K^PP?.U?,T"],971?.-Y4.:^?V5N]_48E-D?#I[9 M7K=RH&S^Z\&SV:.5#&7RH5G(=0O:X0=TXS+ZI=K$KMAL'V3P4@WF!HXCV+1X MJ>:S0XY#/.\OU8YVR&:H>^Z9U3\>[W+Z0O[N.;#O0S K[,9_3WHJM(X9YI&>,W' &NPOV&1@"+_.O)8?N%IG+J M7=#[_17*>(/BRB4WS0C_%PGY%UFAP0W;0XL>'-=V5'^3?73[0))[\A-+LWG3 M[DD_C:+G1J\#XN#&0DXP6S5M^71K["#0W\KO]]?Y6ZT=!OX'UA_ZY[9P8?]& MFO;=8)5P;I@!:6?#R'1,*_:A.5$OUS&MH)UP8$^V8UK1NN! C7C'M-ITPH)= M&8]I9V5H!F@,?G=+X8BE@B4TSE=FZ\="K=BB4,R#:<(>+!:V5LTY6*:VH*?3 M<;,SLN0DHL5P36,Y(-0!R+KME\T!47>DIUM+/9QH^AK2]#(]3\6*JR]?<181 M$M<>/S(4]6"^;?+D1J05 Y_QOH-I;W@*$R%+\P7JT%OW"VR$F%3Z"6K7C$ M>SD](W?9N1 K93Q/F&@4^H :'G% *1BA;]"]Q)2[B$'H!ERSFFL19G X8]K>=80IY* ;-VRV[S#% M&0PPQ5N[OC$=MFS'E]XVSS$=B.PV1*RV)J&PO\,K'N$Q"5"PW^,%:^D'!-LV M+F).NR&&&+%@N"?X>[C#OC68#:>'R ;@=F>+P]?.>:#SN3"-GPKL8VRQMCD8 M)O1C\OF< FV1]YQ^P$6$=4<.='1=MECU8!\,K;;)#D$FZN(":OA@W%([!!$( MQ&P1IG<(X@^(&NA /@1'C^78[K:3>@"N'B@_8-L@!^#E:0$8LHG5PH^#=>S# M]EI:*++!\'J*E&>=+ IT.Q]HN6B,4\2TC8*6B\8(07=GX/)<)M\%B0(G@NDJ M6W$22,ZN>'$[&9L6[[:N+&N7\Z7C5UPE=NF%3-?96]:6<+6[\52936):95LT@1-RQ8P^@3\W98JRJ(T5HR AC5Q\K1EW6 M%YO:'O!=***"]66^8!+PKKB 7."[8,.!* !G M\P*U0G V+S K"!=,@"H,)]M4)Q^",(I6BU4>"!(P%>45R%I+3N8D%7+$!@D3 M(G_$TBK7(:A*NQTM=P2YVOQRC-R($9)* 2=TBCG7!$XK"Z\ MRS).[U:9"B._95;>RD)\%R9J M?1J(.=DXHV"96KF^$=<)E754.-5J.Z?:RP'1()STA7TD*]X[L&L$H"_O!T-E M_D!F?C.R-JWXP!O'5$TG%6Y/X_-T$BYI%B:2X 5+;S(6_=8$$5S1!RIM>FS? MZ9T* @QSHZZ,IY3=XW0WH'*<34+.G^1J\Y*3+DH MED21-&K.- 6HX0E'.>>TW=%0S O%#2==59"M=EY8U$2":^V*L0?65!5#,OD- MK=U\D12PUO_/O5@#H=F]<7Z'[OH+Z1VGFBZ25#TU<[>NB(^(#&.6=AP)U[?S MXN1B71VC(UPH99L]F8G75O.+2"\K4:T8-L]R&N;#*N%!\WS;M!V@_7K>,>VDJ@+A::CCR]=>*GECG^C*^J)]T^8" =!6 M\))4-B0.YB34D?=$/M[W86 MM[\]PGJAPSIX9# %Y1G164MB3+%V1G3-2VY,<7)&& #1C"GBS3RE[!WGF.)] M=S98=I-[ZNUC?-*A#HB-)Q"?1*@7=% +#9]HJ,/3@XAV)POJ -0[;3$%K6KF M.7PMCTEP:?R*C>#TGB1,T@R&#A)5@DFBP5 97:^8A!H,DOV&(2:Y!QZ,D @A MI#*D=B#V!,6QP*B#8ER (Q43.OEPT;C#@51 U(&QVG5'*A0L%&_7E823\ST& M9$"W.R9!IW%D;?M/]!YY3 (/!LG6?XI)#,(0VL9V8I*-,(3Z6#A,,A'88UT" MCC%)%7!XRDYG@J(R, M=C$UY_K8"XP>IP=@U#4'EU/E^LH'#^'W-"+B1HZ,ANTT[ U);P$95:*01U!*P3G2LK.R_50*,[RK1<21'Q^S'@HI0E-0_YT+H=/;JLJ M5P1+)(&S\S0CG(CF&,_!O^B-CXT7TM7RP'!]G6/Z"Q;NW+2V1W=M*4_!Q"(K M+LA1O*PHDQ+@C*KLW&F3N+"HZ0%7[6VO.P@T-\+Z"?$S4JPIZ2LD3DH0MDV5 M?NC#*GD) KHGZ8I4PG37'[Q.<:\V7N1_0D3RF7_5RDZ>9C(V3N. M%S2E(E/= MM>BSX7"ZL%X9T.#"Y,MPS!>C08')'>*:-Q:6"B:WK?.I9;D.P*0[ZI< S,,J M&Y46 K(%?&^\1U?C=LHUFM/=B]-1U[!?]Z.9,L>.R+T-%$/.%T"-5Y>">6E> MPT:UJYJ2N)RN*D!5C./_K KYW7^ZN[X^AXB#JF-5-/F7A#W\@\0S\C6DJ7J8 M9\K=S4,:ZFR*+RMSX,!#"I6MXI!__8HS3'8P1.,"!]A@ M?'!RPZP='S3JWIWQFV/Q)&8""SM)\&LNW81&$+M<=P5+:BRJ28[-H M6(0%]W"/Z8 4N$KS/#@$UQDP%56?6+H2P/R1]65?\U]VP?!+6*A3$("&PEZR ME'%ZGSN3P9T J>(G/]G^[2]Z)) JWO*G6$X-6"4/:'YE_#?"A5*Y4M^60AS4 M/18U<=K\YNXPW5Z$_L2+%42XY,"T'V$%T68:8MI-L )I/3$QA8=;(87H:TRG M9MJ TUF#F)'AC"A?^4(R3LSE MPC1@JTQ^-U71',&4J>M:JNV>LA%1/E$7NJPW@%RLESQ#0KD 0\$3IRNZ7TM8 MXP+5M]7BCO"S O.-@B8NGZ$]>Z::K*ANK?FP&.LHOIPVT6R#V]P*'KQ[)'Y2 M$\ .K;X-G%9SVXYC/8]Y3&;V4#R!C1#'5L!? EIFV5+R?_NRML591(0=)'--G(J\=I;4Y5*$ L2D MD<'@@%,,D\<+C TPV3 YN<"XH'K)L6'T/EB6.0?S%2RI$@X^/UXF^3)ZZV4[ M,ZF7;[DRFGHD%F9"[;-//=&FA/S\6)X@FK!49'P5*?"YU)M) WQ7"?35G)\- MT>?L+DM.(IKWL_QW0LJ H_%"18W\GC]O!-F\A=IK\YC2P>>'EQIPPRKAL@1Z M&\60M*LU?$ 1P38$$X:9!([5V7=!HC8[1?67A*'Z(PXD&[,YT=PXVU*G]?=! M5XJM;XH[:;?MK>DZA55?PD;"ZCZMOQ7'6 Y+3(I-, H2VF'W$0%J>+]9R=0+ MAM+>Z7=T,Y0G4T%+[K#9LH?T&5AA \\B#('E.JEOBFW"W$]:-" 9X=66DG:! MZ,=(JFW)C_6C(<7IOL?F8(;E@0+4P*7@-]<.]LJ^KK8'?#EI*M-) X*]]]Z5 MNX;8YH(^<@G-90?GR;\-5#<7]$#U+R&GZGB2B>C&./^Q&>%:E E*8&[M'%WK7ZH/0XDOI M#PBFT]99=<'4%Q*K3)XW"L4XC2^D1%1I/@M^V> RU_.&QR\\/J^0/S=;LL 0%J^LE<\.6!+#K,;O*/M'92,9VE3VB MVQI<[3#:-/&2+_KPF%0+)OU8)]&"R>AO#1BF[S"Y#!662B6^R$.QNLAKV1TK3- CB@LH? 9YRH)4XBA_QJ7\RE=>82[!\B+=$_L[ MH05#7$#/8'J)"ZC4477U;*&;]A-0V57JX>#M[K=N>1C+81\1>J^BF($4-M?J ME\3-O+>6G(14];A3N)98&W0:=@9U53PB65M>NF07^L(8J%_G"H(BV*N 45S MBCM=40R4/Q\(R6^[XOQIROA#R&/PD#*W@ *GLM' D#8+8Z!>_F,B?].L50_I M:R/!5STK+=/)1E)\:6Z6AJKX+"T>]D0JP]6&!=T^@(%+8-\T;N=SO;5@AH). M_VX0I#+=:MH+3=6RPK&O"-/K619@3FDAU)QH8'@O&Z>QFUWQ#^HBP"J_=<"4-9 <%E$B_6QF'^1 MBX]_D'A&)@7QDM:O(4W5Z_$T(UR#MUTKG9R%PVF1MKU7?U7!\!,$T[JB#]YU M&4P K5V^4'_"TR,#(Q,3(S,5]D968N>&UL[;U;<^,XEB[ZO'?$^0]UZCRSJS*KZS8Q MO7?(MRS/=J8UMK-J9K]TP"0DH9(B5"#IM/K7'X"D;-DFP042)!8E1%1W6A( MK@_$Y5L7+/S[_WY7EY^ M^TV:D20B,4_H/[Y-^+?_^W_]/__SW__?(/A $RI(1J-O[K??W*WR)*+BC*_I M-_]U;]]^_?!]__$+S[*0C^U[_'+/GR;^K_ M[DE*OY%")&GQ\1_?KK)L\V_????UZ]>_/=Z+^&]<++][__WW/WRW*_UM55S] M&F5/%?8+__A=^>-3T3=-?_VA*/ONUU]__:[X]:EHRNH*RD;???=?'Z]NPQ5= MDX EJD=")4O*_BTMOKSB( M_^:;LNN(" 6/Z0U=?%/]^?GF\FU?L"3[+F+K[ZHRWY$XEB(7+:P$732*NNM M)<&/ZMG_WU[-;+N1PR!EZTU,O_VNOU 17Q.6!&NZOJ>BHWBU;5@7E*UIHF9* M4#ZNJZP-S=@6=R7;$V%^3X.G)W:46-/2@'U,%R2/L_Z=_+*=1H%WTKX653TK M^;IA&_JWD*_ET]Z_>_?^AW??%>+*92"C\DE9H!:!*(]IP%CP0.*\6 L"N6P& M?^4D9HNM7%(#$H8\3[+T)2C9^F.P:[>0OF>SC1AE7["$J2:NY,>JM (R"MI2 M+/J84;E15,O93K*8AV]>=+H;*"D-_[;D#]]%E!42_?5W]6=0_EF^;LK^>9YD M+-N>O9A3,;FG\3^^;?JYE"A6*S<754^YD:A^F XFV15=DKA\_NR1I37"-93H M+->"I/?%=$U%5@CV'8VS5'TJ9 N^?Q?L!K_(_GE;C:_KQ>^[T35+HO]\&ENS M:FB=L32,>9H+>B?'U8F4X,LK+)9:ZX\[3X,E(9L][-4WK_%77_^S1IK9?9H) M$F:O,!K4<(#C=K=JR#6'7LH_7P^W]H(NI;XC]S%MD_A%(9VTSROP3(3?<"$9 M\S^^E:R[W+_^3;T^&OWCVTSD3\U56V-'(K40? WJ8MYA',DGCXFO@3B5$'6+ M%F_; L8%HN%3#:_KY?CB@"4:B.B=]5?S9+)07T>%_TJ M]P>Z5'\8(]Y3B+I,,=W*,?*L:E\U(.L!M[S5/G?"OW]7PUWM$?>$9S1X]XLB MKB*C(MX&$2J8JT-;&IZ>FTGB&?EQ,_*C9:;_N9L>%RPA2 _8LFBG# MUC8R%KD&".%YM>?51\FK;\N9<4,W7&12Z6^WTG>HZ1FU9]2>47M&[1FU9]1# M,6KC[6AD.OV3BK'(UWFL@O "GJVH"&2MC: K-8@?:""E-8@VZ=+J6(2[BU2> M@7L&;L253O<'U&4BQQ?])$=?&VV%5O,ZA>?>GGM[[NVYM^?>GGOKN;?9GCHN M\?XU6! FBLAG*C$3!4K]:DJU6]L9B5P#Y?!TVM/IHR2?%W)VJ'@V^BQ>VJ83 M@.IX(NV)M"?2GDA[(NV)]%!$VF C&I=%_Q0L.8^^LC@N3@[*GB#)DLG^#TB: MTBP-#-DTN+V16+6A/)Y=>W9]E.SZ0S5+9DET^31'9L44@4>.=&O$\V_/OSW_ M]OS;\V_/OX?BWWUVIG$)^=\E1WV0G[A@U-2475MW)**M>;8GU9Y4'R6IOJQF MQ!9.H2%5/&'VA-D39D^8/6'VA'DHP@S?AT:CQQ$/\^(/9M]N^GGH27*A5!](*<# MB?^;$G&>1&?R1=9)UU)T8$G/JE$U2Y*_ M-AN;&DN.*>><2](3_U^V:=C/VPN/*6W!ZZ_%7/ '5B:8U\K;4'P4B4_E1!$J MQTA$'_\/W3:*VE!N'!GY>LV3VTQJ#K2]8#'] ME.]K^6^$?%MD-,G$J5P)EUPT]V!MJ5'D4Z=7A)R4!7DLENQ3E015;+5;$JC6 M2/)G5!EKV .5K))4ZXQ&<%WQ422>Y_A!\K%E>%M)=]>XR1J*C*P9+ZW:[O>5PC6NWO M;V7Z'_;<$.7<:^BIFE]'$.:JND^N6:#7)480ZH*)]674+-++WYT%,AR-HW_? M:-EHH/;N_BYO:F!W?\.;NZIS^H/>LHO7V.SZ-X4',!4"L;U'BDVGSP&A_8 . MFL8_#\3T=W288"YT(+P?T<$#.K6!^'Y"CJ_!%0Y$]S-:=&\]E$!(OZ"%U!P, M H3V*UIH&J<\=,<>/EJO\U#4NO*A^+!2DB:7!A075CIBX%V 0L5'3PP,K%"0 M^/@*,"H$"A ?8P$%DT#AX2,L\( .*$9\M 4:9 -%B(_%-(<%0S'AHR]ZTSI4 M'\?'7/2&>2@N?(Q%8S>'@L)'5]K]%%!L6/D)R%$)!8F5GV@]QU!P6+D))/(. MBA$K08%$]4 Q8B4HFA Q*#1\S*0U'@8*#1]! 8=&0@WL^+@*-#0$BA ?:VD+ M)X,BPT==6N(,H<"P\A9XG/P.Z?_0P<2WN3<&?H#PX-O(M7$C($SX-FY-X,GS M_!KX='C(DY3'+"INIKHG,4E"&J0KJG)\;HBB22N:,:E+&R15,F]S^#/C767R M29@0'#J94A*F61SSKVIT77!QQO/[;)''LS!4#HKTAH:4/6B2ZIA5=H!N;]^< M$W$M"IMO5*1HGE-1;*4-T QJNL55\H%9GJVX8/^BKR,I@P%'88\ 87I;& M('_SH4>3*@Z0S&5C5 @:=9DL9I6=HP-.&5@E)&BT$Z>] A(4[=,'6,LGSSO@ MY'E'$W/ND\M-+]I\].1RPYL9S2!U40J@=G%D4+OP'J@I$C54/1D"0AS>?]H? M8AU+ L(;WLC:'UZK&=EY3+H91F.M'8AS>&-L9YQ6IN+PKM2>^'K,P^%]J3VQ M 2;AF%;UIZ_3@"_D)RGGBL>R*]. _I6KY*56#.U='S.R[;V?F!W,\=U5N6LI MA*BYR_F*I^DI25<7DI?]1J,E_2 'LOIRMLBHD)0L)FGZ%+%]1Q[GI";IS,!/ M<:#ZZI#,2S5FED1%*15'*^0;+N]J/J&)'&O9/"9)*H%TZ*@NS7N3QI1,&E[+ M''87'69V350/'71-'HV%%!<,O0MD3Y&$_3?2 M]=Z4.'WBU>7B/)>ZCYP]Q097D@[U&,^YIL2Y'.V^_@XF M[R;K_&I_O@S1?KXG8%L8RMDP*Y4)=?50Z %FR M##828&A^ZVF7ID=B_MU%\WK!L>@%;\>W^N:?LS"4JU!TQ<@]BV7S'U^L*Y4( M@)(61"F,"%<\6694K'>/D2.V6218#1NBY=GUHLSL,XO^S--,S3V-7.W%^U/D M5&1[]%A^>DV-Y5?__$@>V3I?UXK:^/M8LLD54"M;W>\CR7:CCI_73,;:W\:4 MJ;&W:G[%)I>U9;7':8.GZ9A><'$N!!>G7 @:JJVX=F_H4//0<"%X;R?E":1; M=0!I=Z:M9GI"BR-!H'TQ[16FC0+#J,I9K*(>:ABY*Y)$E^N-X ^E\JT=M_K"+J2G M)*4J=@4.H;V& QP?2;AB"15;.2S._\K9IE$9,*CAY/P+WU"1;94G.MN7[&2K M4LYJII5!34RXE&S:S]6\VXU MQVXU/9!Z2PMO,79@0C *">4]+!08.ZM5<^?F&C)&G"84BO=@*)/SE(^GNJ'S MVYI,8&[J:D 58(!P:1PFB,'9]#%6T=#-!I.ECIN9/5#.A>%VA%Y#VU*HN86A MK?&]H1F\3>24M[HT48U)*/G&L&CV>!O-SF\T$'JNACKG!;JS)EU7?*B5& AX MO,P''0&#SL''+[>Q?,S;E#Z#\%]=1E#(,O>LZ181TSCSUM:&2G4'"2%CRH_\JCR M#S2A#V0N1U1US<-E$C:'2[>7MB#2G(@OY\D#$SQ1HUD"WS'GJU@CFT$U)P%L MY5R\LX;Z&2]\* M")T&"7\[O"O-0V7P&&( 3\5"9_RJ MH=K&Y%S_WDCGC718C71=N/^X1KH?@TWEC0M($A6Y53?[HP!HI6MK9B0S'4R, M'G:ZPM JMB6]KSX4'5-T2O7%/S_^URL>__8'//8Y?!(=HL6PQT'SVW)=_D#Y M4I#-2J4[KNU&4-DIR6S?<@63?;>F[$O4D!2AM:RWY]@_^ 6WO75IPENNO.7* M6ZY06ZY@*R\WVA(G9ZLRV'[0J%&P]\&;"3,J7=[.,,1@-X_2"B"4_(2](DD1]?Y3XO5_8*$Q>D-31!70*L=#B($L_Z*)Q%/+J5F M*^XE>[M>+*@4]T;J"E>7)]*G(8#<1&G"B*UQ MP>7P!0XCKE;JSKN2X\GY2,VT&71N#O#;X08V4U1^N"'&[($X5*&6-'2C5KL; M\$XZ$HU0/(FU?.Y$GSL16>Y$ MG]W*1VSYB*VVB"V0'W#%71QY^=473E-(B M=6R[4]Z@AG?,>Q><1F)_^,>Y=7A"SA7/;3VW/4!N:[R=CLMOWWTOQY5@#R1C M#S1@B020JU_3(I7"BD9+EBP#B8D]%!F>#7EPU^9'XLO]Q/.\^EAXM;6HV-U8 M.Y4+KEHIWMY]\"8TMKW*])$@B%U\%N_R:1FX8>D73>P6I H2).JRL=_*Y6SV MM)J9!&CW;]))3Z1LF<@5/YJEE:C/\FLC-PUJ>B6X,XX++JCLYO/'<*6,[_+C M5R(B[8N!5'& I!HCNV&C3W6L+XQ">NU*WE9\N@@0[$.?N*24N\5'.Q4T);U! MRQNTO$%K$G&;+9L!-UUV,6($$67>1>F9G(G2A .@,WFUCD#>@T&CLLW:FYT8 M(E\LCENXSHMN]()6%=Y%U4 Y=&TNNA@&L>7UJ94]3RXPUWN_C!%Y[]=HD5VV M#(@CN\?>!8)F3)1?;6)B?).AIH6QG%QM$G@_UK'XL1KBP\[4>*-1L>^S^UP- M/)4TKSE+%ZB"!<'D)OU73F*V8#2Z>1K#MT2='TKU(AI6M2 L[%+D?1E-KE'N M)9JZ\2=/B?%[-JGGP'K7=CWWZSOY0!>M.T>@O_BQ_9+N2:- 8($_%._:O*3? MDF45Z\R<2XF>%L(3FLA)G1GX@/LVYZX'U%J55FM8):C6L0*MYB0+T:['E71* M0=>L=_K"**37KA)MQ:>+ ,$JY_UU>)1I[Z^;CK^N95'EILL71HRM1)F;$]+) M>NH@NR@Z\USKV./FFCPJ\[&]Z3@1WP;XC9KK[.-Z.BQA[4;6@5 MY;*P^5H[ MV;,FZV:&F6K0+;N S9!WL/VA7'GMD(0#28KD?:_&B+SO=:Q[D*P8[D;VN[X/ MTA41])[(G@QD\8T$42P;IN[7UH;&\L("!?'.V"-WQMY0.3]9F-'H-I.S\+,< M@BI28D[%@HMUL8VJ[VRF%XO+I.(/; H;[R075O.E:Q_L&QU0^-BCT]7 M;'/'-1M>CQ8.%1\")UFQ.;5X66O+. U;N%Z<[M'+HH.5(3#-TEO%0$\4 YV3 M;1&#V7KRVTZK/HRC1Q##,V-3'5U/J("EG;C,WQ+1F]O/+1JX<#\_C?3] MN3 30NV4Q<@_V;Z9#<4"\;Q*2 X>D^036>M#!X9\E.\YTT"YP/ MV, ?L'$XUS'5,TP^YEZ!J5O:%3YN09^:;+R*1A]!Y\D8=.!R0U:,RD7G=.YC M"(GQ]X#X>T .[QZ0\>+%QEI:#51U='%F0_>1'4?]'7G4VQ7_2L4?+([EMIIE](/@^:8Y*(Z)Z-B0T2V5:RK(09(5VRL<"JZD6]U)7>:V5+0 M8C%\+55C<(QQW4/"A,"]>OJ\64F&?[J_5<%S9'1KQ ?'=,9QGCPPP1/5XR2^ MD2,L8@7]4XN5)F8+6@T9(FW8 [SB8:%"L'9<,%&_GS87<"#E%4_3%TO2R;:@ M(X7FM/NZCOEU;\ YRDI [1 #U)@Z#@1SY!-/Y-.(W#'X9L7"\P=E6&L>:VW% MD2#0OI#V"M-&@6!4^: X/)8['Q2'(9*H/79*JRCS7MHH)JC@G82;K]@8<79@ M9[P#"<((':S.\>[JTN3B 6$V,33^GVZK#CD72?T=K,YE9R4KVE]BK#6I:A$:S],N)W#Y6:R*^:%U_ MT&J'@PCEN]H^":EQF$.KX4#4DE,+4 ,##B63V7![6V/J.##,F&JY?2.E-B8+ M6,L'9_;(_%40ZPNI^^RN%%>'"'<=WQ9,:UK=12 'B6E:R?F)ZF^5TY;UH3,^ M=,:'SJ .-FA1HKB1YH()F GIXAVXS42PUK-E'6"M-C2Y>)%NB@0ZVRKX+7&C MK1F5^7_(47Q@,21@31+_0*Y97WE'=68JH[GC_G,@P2(0LRV:80LC/QQL-4VQ_.2ZIWMG M^;$XR_U]5OX^*W^?E1VO%=FPC,1%!# 18KO@0J4,U/NL('6\QZH[#KG!I1D+ MB^,U8JM]%]JR+I)0<$'9,H&(KBOJ0/++@EC"#A"/XJ*G\5%;*KJ/#$.1CJ(V@F MC.DFRSL9Y-(:YP*W5 MHX6VI'+ZLP4+B?R;A*%:"%BR##8\9BI#Q=,?._':PUU,6QP^!*:;1#XLYEC" M8AIR2,S"4"X;T14C]RR6XY"F/!4@<.=& M+ #X@XLO5*3[-[]=)G)55->J D3O4-V!#V'VM.+,JW6F);BBO8(#%"=Y*G=M ME>YN?<^2\AK1LH\;4+17HZR0NPW@BZ M4FSS@99, [((=*V.(?-!J9>JOQI!M=9P@R.5G1H54D'?3GL5%Q%75,B)D,D1 M YQ$[14B7=XC M;\*C:C O$+_N^1?5J M*>U"?L&XD!2#\>B&AC%)T\*255@\HS_SM$@L>T;34+!-MF3LO%E:::%@@'6 MS1DH_O/LCX[L\IO5Z^T.0CA$'[*J9PS0E%!WN?N?>93\EGWK86<'-/"#J, ,%Y%^,NNK J M,Z#]M!!TD59FX'5;^[A15M:A07U]0)B6[A6R/T_-/8! Q#\B10Q5/($P?T(& MTT8 !!#ZS\B@FYF7@2!_00JRFTT("/I7I*#!-G 2:#=@Y6&& M7A$H7*R,K+=[!-H!6-D9+# %:O+ 2LVZ!95"46-E9D:1@5"PV'C8GO$2%F(+ M!8J->MD)\QGM0%>1[_=]D.;K-1';@"]:CS]EA7UG)RXPGW&/)XR4\[BWA/X MV+$< +,5CQ"N:)3']'KQ5E,K/'-MH3'F#3A%^7J?DWR.A9*]G;$XSVAD"+E3 M:SY6YB!C94!#QWQ$3")61@?+A\CX$!D?(G/P(3(-2P#OSQ30!9"80.W!$,95 MOWX([JN(B"#<"XGHIFG!&AM)J3(1QNM/7G\R8GV[,*)9^%?.TM((+O@%%VMR MF2S4/^JK-EK8L17'^J*45=#H0DU5>L4>Z!N?[LFVO)I.1#^9->L_2:I=M'E< M]?KO :NBECN[+W5-C*1*MXO@%>AC4: ;\B,^+TM/8?IEG)P*8O_$JZ"Y3,MI M^S?D-2&O"7E-R&M"7A/RFM Q:$*V=LQQ2?&/P:8ZY1:0) KH[HA;-WX,;&TD MJFPDC6?-Q\*:ATXXUCG5F*?0GD)["NTIM*?0GD(?)87NND..2YE_"I;5&?J" M5K(G.W] "D-_-^ILV.I(%+J35)Y*>RK=,79'XS\S/!=BW))3W+NL''!\C34< MXN"Z7K_(LUS0V9J+C/VK\ J>/ZHCW-3HQ=I\A%>OO'KEU2NO7GGURJM7QZ1> M@4G$I$.R.A+ "<9@#<>-QE6L?PGB(NU@-P6ZH?9(BK+VZ5XA/A:%N"$BJTBG M>4?%.BW.':9%)I$;E=#Y@HOB1VC.!UO-60'UE"FT+@DN!$:'!NP)7CUI^Y'( ME5'^"Q885M&"H$5BO[TPVAL:$W5BE5]+2DI4*AK98W+-5_DKRXRM[1ALM>E ML2O$.>6I/G(16-HK_U[Y]\J_5_Z]\N^5_V-0_OLRK@G: D ,8$+Z?E<."H0X M7@;-5HB6U!L@\/$RF;< M\O-QS7>_!HL"!/! XES*ON I'F9B;RC-0?:W$CF M'3-QO+WG6.P]]@,@Y##[78VRNOWY8SGPHFNY,H2Y$')!4,FLC$,C[#W#:]%> MB_9:M->BO1;MM>ACT*)'V$S'I>WOW@>I2HIYKRY54V-1-P- MY?',_5B8>VONC,_) TVE]GTC_U^P4/YUF\G)^EF.337+YU04>KI4Q8NLLK.O M1$3I+,S8 \B7..B#W.;WEU.:;RF]I>*!54*_N;-I%A?2J=N;%M7M5?^B47G) MLS+9&22K'.AY7K7QJHU7;;QJXU4;K]HA"ED;6B'P-67#@OE8K'KD<1]8V,I1\!A/!*DE>2.GIYE V()RH$ M4N6Z5>/LCCQ61XI/:"*',NR8EH46G?;#&5U0(=0UDH_&IR MM>;6V[=84&7; MHD^O3$5J*TM@$DJIR^L_S#JA>Y-.>Z*4]H0NN'B67*XH-,V*^T8OY/=L:=H9 MO5IUVA^?$_%D#Y8R5U,XO>%Q+(565E'#KNC:H#$.#-S1X0X,W-'A#PS$9 M&JR2B D:&ZRI%A,Z(VJ?34_H]*A5?6I"AT=M4^6136X_!20,\W5>''8-N#H$ M6T1J"[I2^]<##63/=C7%=6I\+!-=#^&\Z>Y83'>MD>JG*Y(L:7J9S)X'4W&4 M_'1_*)7+_Y4<3R;!Z7;:=A+R$*J;=MF"5=%I>::NZ6T% 8Q^L-FX4RN-C3%C MN55OK_'V&F^O\?8:;Z_Q]IKCM-=8V#XG9*\9D').T'(S!+<<6:'_.:@6A( ] M)[/JJ+]#VAI+78?+XK7S8]'.K2MDM^40NZ$;E:H_6>[E@SO95C_"%;%.K7D% MS"M@7@'S"IA7P+P"=IP*6(]MEX?^D\ M-S\6;MX4M):OUT1LKQ>_[\;/+(G^\VGTS*K! XA0Z].0)]J>:'NB[8FV)]J> M:!\#T;:U8XYLV@YD1Y"DNJU>CK:,L%CR2BF;E-K4K UJ;"R3MH$PGC(?.67^ ME*LI?[WX2))\04)UW6.RO"!A=82MCAP#JSB@:#O)GBXTK'QI36RXM;RG\FZI MO&>2GDFZ99*-[^C0F.1XH=HP2,"U&5T(MAZ=^08Z+BM^'Z0ED0_X(DC9,BD" MQ>6OE>%5V6 W/&:AE+,G9[;QJ)$8M3U1/=\^TRM>1JYVHOWUSU2D>WI'?+3:YU#?O7/C^21K?-UK:B-OX\EF]QY MM++5_3Z2;#?J\%O-HE?[VY@R-?96S:_8Y+*V?777OY^G8WK!Q;D07)QR(51J M)I[4[L$=:AX:+@SO37*,B,6YRJ!UJR[Q+=9YN3?%N62)*HF[.HN99U5"\W,B M$DDV4[D&E[<_K17];.H!FVT[Z)MJJ[Y=49I=5;> U2Q=T.)($&@';7N%::- M,.-.B77ON@RR>1FS22M+[+T?4[I(H^OV*+)3FU2U06R,IWF:2Y? M51)N[P1)4E*\LP]RBJF4Q"HW7Q,^XP8FT)5MB% M])2D=,5C PCM-1S@^$C"%4NHV,II??Y7SC:-"J)!#0J4)YF0VXJR MO^V,<9>)4CY4/)#<3>5_*GML \X>+7FO_4$&X/[!Q1>A'U!UC:##'$OG&;H?'1);R#U=F/>8KK%A& 4]9?WL+=B[*Q6 M6QLWMVEAQ&E"_GD/;CVY@+'QC$;H N%-)C W=9RBBK-#N#0.B"W#NNN)#_1M P./="-81,-@1,BY@B^P%%G&!9M4W4$BY M00PNJBW!KH*.?./H\$)-(FN!."U=T>=/>@7$.B/R(#V\Q8"0?\T/="=? MHMP:(BHY36$":#E$/.Z3+735!YK0!S*7DU&M_R392CF:S_&VE[8@TIR(+^?) M Q,\49T@Q\A.9[B*-;(95'-R>J@<&+-02I66>Z3Z4U!]5#*XWB%A0A!G72>C MY@BAOC0.^2L>0Y;T>O$[+]>5I M8X(W\P9PH#R5Y(A%1>(CGA0ZS8)*!2=Z!\?9V@0.I');O5";Z=Z>6MD,U;6T MY6IRRR27WWMO9_*MS<)]PMC>'7:>X^*D"-D6KM([7HFY T?33U1J,ZYE@ MLN_6F'V)&C+KMI;%E(%(TM@F.S*@BK<;>[OQQ.W&L!G+C9;2R5F*#98M-'9B MV/O@S40+E27-SC#$8._U1E!O!#T\(RB<#8VKV_\9Y=)*M<+-5A.^0--Y)RMTGPH0R:/6:3LV+OS$B=T MP07=>3#NR"--S^A&T)#MKC:>K;G(JBMV7V$9\Y$6.F?WR/-'=5B(*L'EPRY8 MHDY0%%D;2L]&>78D/24;EM6F%[?4F@5(5X P17-I$SI]:*< M$]=Y)O6II,BZH;L^#%K-!2*IE^_D:I*^IHAC20'[1%MQ) BNE#HMM.LOM-KA M($*PN]2)6''R$RX$_RHGKUR3Y"_9U@!E6Q-(D-Y0]1JD?'VPMC>"!.WG)$]I MM!/NE*_7K @WNJ#T.1;3 +A1>R[Z@">1BKB2>]*]U("O%PNYST:*'%Q=GES? MZ._6,JGK -L-?>#Q@QIK+^>=#A.HCO?&'^1-./M<7\,FFHHYEEB[RS87G);4 M)FS QVQ8B=DXC'MH-.2?FQAF,&)K7) X? ' B*M5;>-=%:/)Q0V9:;)H0H>, MWPXW\,N@BDT98LP>2) 1U%J/;M1J=P/>26= .6:[[XT'QSJ]B&H+QX(&=M=#MV"^: \ \MU#9TB_* @I\"F.@16C'M@[)<@+G:\ MGL?$VIH9Z7 83 Q_).Q8CH19"@78YX8W:A6[7GQ.RYO!9F&8K_,B#YKF5%C_ MAGPPCT^M@3Y,PUO)O)7L\*QD?1?M<0G=N^_E*!/L@:A;X@+VI&*D1?J[%8V6 M4I4*U"UY#\7U<3V)GZW'C400[8KKB:0GDD;DY.QI[.TN1+Z30FBC2R%5IH\$ MP?F99_&>[3(W+/VBB;&&5$&")/W$LS.:LF52;%;I;^52MU=@=V5J%C&HZ4*Y?GF)K\JA?A'SKTI0NAL[=_Q$$J,P M)FG*%HQ&9[F0(#[)_??=^X]R,5DUS5"[C;OKG?/'<*7").3'KT1$VM<-J>( M237R=H/QU3TFKS#H"Z.07KO7M16?+@($._4G+DGW;DG33@5-26]0.\C3<9\3 M45WYKI;VZ^35!O"\KU=A#W?DL0%2CY:\(7&4DS@;P'7T=E$[!<5!.70M;GH8AC$ MEM>G5E8];G2P]SIZK^/A>1UA%LB)Q>$/9$F>6)B^-0US8M'W0QIE1W:ROPL$ MS:HC(\$F)DEO/SJ\Q;%6_XL7C#&Q*:[T7#%/==JKNX!5TI*J,6>CGB MJ)K::MD+^3)1"]\G%4,CAY)@)%:_54=OWEKEAGN !>#5I>,?21:NY"JU=QUR M0=3>Y6/$])$IWQ.";" M&DZSEJU<&2$74G6Q\7/SZJ*7Y@3]H H6!*L#_MQ=#U0CXYW/4A%]MJ#IS01/Z1J2?73G;SVA9$OEXL6*CVB^=7 MWGVR]&[,!B"U_5WQ9)E1L;YBY%Z=-F(T;1XGL!H61)L3\46NU<9KJ$D]"V(^ MSQ75?'46N$XN;4$+@MS2F(99W:K4?8C::M.! _>$Q"K:^G9%:7:E'JP/%&DK MC@2!-M2BO<*T42 (&9&K"A5"+2MK-7])J227B^#V],G*H#:EPBK1'!?8L1TW MF%]MJ7OZ4_7M]7W,EKH3:]T:P8$V3?/UIM -/A>'<.-0B:V.E+^6^XREQ;6P MVDM*++>/O(^DFBPW \8C%E;E5<((M?V%F3)8)LL[223DYIB+Y#HI3L,TATF/ M\U@4/7I!F/B=Q#F]7E1(33I&6QL%OOH7! :HK^X X;STM,V2TJ0TE](\FSUK MM)(]ZEP:L%7RF-9]8Z"GN.NO0LJ7@FLC,:'5G%S L$_PE>=>PS?UA5%(KV5I M;<6GBP !R_0!OBAB)P\NT+5ET>&FTQLCQE9%GILKS),-<87L,NB"!%O''C?W MEJ"*N[(W'2<2% A^H^:V6W2!2Q"LW<@LNN@D\&OMY%N:;'PVS)2,;MD%;(:\ M@P\(Y/+YH.4!\RI;#U="QQ$ G6 _D@8=?1BP%UIB;"86 M[]PKW@6(%5MV\4$-W< ^P9*4?.B856!W8$MIWL>E#(2,+<%Y)T$]DU0;CW*OH>:31N>*R3C1T%\P<< MC_R H[J_A2>W&0^_5!=GW:IQE-[0E(H'&LFU^R*7=(5>2M*CC,_/F_OO-%6< MYWJQ=X/3_':6%O3H^?*M5\?B!GZ:Q<- ,Y4RFQ;"2J562B$_M9X!:JUDXS@* M%0LNUJI_9BH)3:IZBT8?Y8AEFY@UG$6!5K)R$"65F[^BO$5'?);K7#I+HCT1 MBM=>R'%'Q))FZN["^.WU02\/K5AJ=!R ZONRHYO/!_5HQL8I'=5=)VK#V"AN19+K4BN2[.9!0I,TIY@5 MLVSO?5PO]N#5=0HBL6QT,F0<6'G+]:%SJMKJ[M?=E:[Y[>W#9WMREO2=7PY7FX\C4V%MUUV8C MD\M^2"Y(OCN6Q?1Z<2EISP.+)(UO>*_:SNTXP+PSN]U*R5C%A-]PJ"?^4U*-.RXA M[?^N;-6?>/;?-+MY9P< MVGJI]]73:V!I)T>$WNI^-[>?M2A =5PS''W / MO[K1NOCQC&3TR;?O^!6 Y3NH=_1[L6[O^J!8N=V]$(@P4^K]"M;Y(Q4A2VGZ M MFE\F(F*0L'Z>L.CYY@SPZ[AA_,2ET!V7-OE&;*@3JL\3D8^RQM O.L'-[B1,&$0&\SYF/NUYBZI=V% MPRUX2":;0T+C84!WAGG0@1G,0#1H(8R^M!NX6?.>Z!^XC._&+DTM0 8RQ0;4&=^6*O#WV M#]U"/01Y[K6PCW@\;8P9;V<^6^H4GW#&)YPYL(0SAL=(\-$.T%OK&5F';^D% M'9$>Y>03L&^PG!P>P_T+[!)L)XG[6M^!L+&<),;@"@-V&;;L,^/'GP ["EO. MFH%C)H"]@B6[S1"G*J&<"TO.FRY'8Z$841%+=* MC,1SP:,\W"V<91)8N2CD0A%$M5Q*MK-]);#U=BW /$\SME;)7=7CKA?G\UF9 M_DY=*K&F42T$:!V;XMVQ-;WC:JV.:49WSY./!H@)K&M!W"O^E0J5%I"L:99) MKLOS37.VE/;2%I- S>6:*.<)B>.M5)4W]$+CD9/96RA2S67,#>N17K$&[SC52%\R2Z95E] MIA&S2B,ENU"=(U?6*%8J&&OR3@"K88,D?:8%;SB8:%", HOF*A?F9L+ M.)#R2I$>D5XO3H7LQ6S/)U'NU0VR0ZNY0,33]'1?QSS9%ELUE<(^?5VGRG1O MP#G*[2P,A52?3XD06_E5898\U5ZX;=Z >Y3E:] N#8 :4\>!8&U3"<=)1M), M\,V*A>X5IHT PJOQQ7A3'!@_J8*M6E>2]]#5,4,$K M+3=?T3#B[,#1> >2@!$Z6$WEW=7 <7%;.DG3;C5"=9#&?-7AAB9K5*<-K"_& M&$Y(6CR-;F9]0C.2.ZPPO)MQ&M5H'G8Q/I#[M_L:5- -<@AOJ!_=YLXBE,-] M,-J%X52DQ1$/,WB@&]\ C8"WVZ]1CEP[BE&O86HIX-.?4_7G5 _TG*I!E,NX M9,@.3+.0K7$W/\L(C:*]QET_K44O=_6@ >%B"7 ?*& 2V M80M8M1[,!T6,[ M&VKF]A\YT/[O@:"2JN7RS[Y!]8"FQ@J@!XOB@^6//%B^6(_EPG-&RW\ODYMR MY%S(F5[Y;9/'5R(/T++%>.J/Y$\N MGAY:)[J^I(V(Z83>;C:[EIM#<77E1HK_?-D'#;&WS85&DE)9^%^]K\:HU-:R M4Y(9002&G,OJ(+XH[-$W+/UR(IGM:DW$%VU4";3:X2!"^:ZV3T)J8K&@U7 @ M>IW0MQU,?4)GMSB>\ULT778(J8(!B>I=LXGSML;4<>"8^V\XUQ4C]RR6M++B M9L\GR)LA=FC$!=I*N#?O1!M>#ZSE ,]3WZK15*;BVF4UN;Z/V;*0M &545T7 MT9 D5FGH"B$_T4S[AK1E??RICS\]@/A3C3K%C7083,!,Z!?OP TF@K6>-^L M:_6BR05==E,IT$4]@-\2-]JZ4/G0AQS%!Q:("=8I\0_DFO65=R3(4QG-'?>? M XFXA!APT0Q;&/GA8/LYJB':D_L=2#RD#S0SGEX^T&SHVP*@EM8IAIA!W)U3 M#"P;P@,]T;"S/F;;B86>]3!Z.HL]>F\O]JBQJ?%CCUI$\;%'QQ)[-*8+Y/QQ M4X0-W[%U<6/-K?PV79 BSK1,[-OD3K7=_!1[2"ZMHLCQKO&?#_,0K+WU]IJ) M+MW1=%F%=U5Y5Q5B5Y5%"^F0J\;DS,;>Q.%-'%-4EWK>N83%ZC$LXQM9B_PQ M8(DL18.,//:_&0+6VEBZI(DT7IT\%G6RZ5"%W):).EA9G+%4)RKE9"ZNS)%3 MF)6VV_^FI/Z@A6%="^+>DXV_CR6;7(VT MLM7]/E9F=75A4<.!FC>_C2E38V_5_(I-+@QQUN7ERJ]7$GW<,:2. RQR$U%7 M/X=%-C6QU6+0EG61*7ZQH,4=YI<%AY +YXUD%\K+H=(GE>FS9MD%E=24Q(HP MYE*T[8O"#4@MMNPBQSP7E"T3R"O5%74@^5,/SO)LQ44]R8 51B&]]C!)6_'I M(D"P1C?SO08L[15"!\%NH23,BTOI_X/?I[,PNUZ\__[=SY+P MQ21-V8*%!>53844S'K([?J,,50F-SHE0=L54-E!R1DT7V'V @U[ZG(BG""(I MSPE-Z(*I^W0K%C"G"8E54K8BZ57C"=.NS7AGW^#GTMY:)7B+80 3 J!BP$TI M.$:,[;L=[[BA3-8!#=$'T1QS (] ;F1_0>56MC MCFKL070:@H0@GXA=]FLC.QRZ M"!L3I.UN!'](T4?PF2'V$7RPG5&;8AG)6@(XRV<<]C*Q XNF?J:)G4/L$60U MT>.'_^'LN>/'%K\4T#",%_GL;J=(^#J(H- UMH( MNE)LXX$&LK?3(,W7:R*V 5_ RN_">#=$W7.QHIGLCOBI'Z&1RDZ$&ROPV2$X M'T=]Y''4L^>1M+N[Y'D1WIRME@KI,/M'L@^PJ]6.188&DJXN8 M?_V-1DM:KF8-5P6,\\3QNN9,+08TJO;\>:F9R-+$:K*CTZR=JS??R//Z"*WF?M+3G>DG,XEAR'Z_P4;4)CTH;1-"\YJU(> MLZ@@\D]?IXKBAU+.8"$%[:XZ]6E]>-VGOW1>>3D6Y<42>9L+'E(:%>O LQV* M+O*D\2@ I(HGSYX\>_+LR;,GSZ/;WN'+\[C6]!^"^^H^9&69O6=)X0)( Y*F M5'(<$OZ52[X>!22)@KA*S; M@S+BD$3%!#1?B]Q>VH)(!K^AR=4UWE!NZ\=!E M!YMNS[>X_($]_8OOZ4XQE^C(X/AZ8*N?[Z"501WZ83D=-(#JH!7$ENY'<'(+ MW0HQY>X''@([: 72P8K3MZ.GJ2<".[H7PYVF/M=]" (/ !VT9N9@ D/"6 ]: M)W/0Y]! K7&36?P4+*OUJLC!P)[T]EV*AC1>KL(?0/<'T/T!](,/>]V)L&,!9[F0FNF<"L:;KDB&5/$!O#Z UP?P M^@!>C!9S'\ [[0!>']7JHUH/+ZJUEP46FVL63A&Q&8Z>K[12M]FOBUSP9,U% MQOY56-("6@:>#69-ZBH &A-3/P#>[G0L=B=+"M2%&MSTBCV\C=^:[8VZ7;SH M(J-"W?)Y(2LT:%L66D3?#Y_D/+O[2N,'^E'NZ*LF5=E.H^A[P^J F-Q8* 3F M>=.Y_WZ-30+]G7R^O9?_HK5IX/_*[:%_;@L7]D^T*?D"K)(W:7J3)GJ3IK>- M>-O(X=E&;-+0B5I4+&S$Z )*!T/^EH"AB_$<"OM;[HTNB',PZ&^4+G01F$- MUQ@@T$5#]L;_AH^/9C\&W0X*MP8;-8?D[E-OJ3U.2VU#A. 9W0@:LF(MFB61 MG+4D"6G=D>7]5>N5B!9:LG$!D'QSU\EEDN9"/7EWB5^=K"U%+0BC8J[EG+L6 M0_YW$N?T>O'B$$)U?JM.WOZM.3 AS*(_\S0KEJ [KH+7DY#%DMAG MS_=JWW&55$9V_X.4.SK9RA$B=XNGLU6S,&,/M:'RKPP10S[*1<_M39#KQ>OM MLZD/0)4E@<2HI-VE\$:;6TV7H@@0KU*9T1LM_G\"?/X8K.6?HC21.YXL%;5QMW CAJ+$ZV:]I\:Q.HC@,L3[U+4[4?-+N*F@NZD?K52K#+ MH;!+B]5^[U"G-E!AU5_Z ZZ'!=.K/ R[M_"<-*#U'@E;S:+H$:F8% OW'RQ; MG4JB+F=?F>P-#+ZU!10X=UD$35YK31T46)X&5<6_6_9T\P90H*P2$>XV:)-[ M]?HUY@1]1J7RE+5MCK6E',@KGUZGLM=0Q 8HY@V@1MDR [LWA ?ULRK0\=UJ M&D"-LMN[!32$!W6-JS8BD.\UXLS>I]=IFFN3 VG/&VD88 : M#G'B)Y8Z0N&Y'#K,ZQ9JLYASUPQZOS M8[MCJ53Y_Z\7ISL7EGCC\NK3! :D0(<-N!X&3*9WX9DWX +EWF+XY R^I5E6 M1G\:++"=&W*-NEHOKQ=7/%G>4;%6JR@$I;:B8U17:I60ZX-<%QIM\JWE'6"X MH9NGW0R"H;6\:PSM8ZJMN L$+Z-5KN\S(OM64O*=;TYNM_L^D)W5M>E"Y=[M M(>V#^A2X?7JAI447QV!,6!HZ#N:/'HT@;;[9E+L\B7>.[K7D'J:T)$E^6K!R .,D1.] #9\'&NZ(;"H)"YQ=AU=&O' MT#WW]!R#P&-T\VZL3C(* 41WR'.420@ZE('N#.A8 PBB7*([)3I6YP!==^CF M%6S7[QI;A6XO[P!$VPW@*%=T>[/MG@#&1Z+;?FWW0V,T);JI;QNY>? ANJUT MJ.6ASV6$X^V5 Z#O'"^.+N="O\[I&E"&;H;T,@>!HP71\88>@/:ZI7LX"3KZ M,%"'V+TA?CP6,5!W6#%EC,PTR==8_#1=4>O M;15\P&(JVRH$4,."<=4V6<0] 7O?&(4D4&:?B_S(3X-=6\!%7M0JPJHP>"BU:,4V M::W8!C5P7;0F-_E\G1?V'$WB]_X-X4)]LOU(_N3B-);K5,WP[]$"+IQ2R6], MWP.MA@O1?+\3)**2XW]1@:7%![6(Z,<'J(X_Y3XHD#XL!G;!5_LV.FY_6#CU MWYOZH;.R=GU_O(-6,[(=59\2P/NZT]DEM?%*;PTMJ8V:'0K>3]+\E&&(X1;>C3/ARX,*O M]4L0*U]D&BQR%200K(G\IW!Z*D]6\5L0/Q^;[.CQZ_F4D7Q\5J3T7KUC\>I9 M,BN=D+@X4Q6[ MUIA^'5(%"Q(5+G< [+43D>9-_RK0Z4H1W\HE]7N*+ M^E@Q?N5]$#[7QH+OJ0PKM"$LNGVO M-*V.&"%D[^S5%F+LP+VT;W.(>\#2BY_0.V_9:[LV@QRQ;N_MW YVS(U[<<=6 ML.$UW)M[M>4B1-'H*A]\U_0T2*2WD< JX4'3:B1U"U+*TH8JUL3M4,41!^G I M'RYUD.%2/;P0$PV?LF,NFFX0E;F9&UU8KMT7W0:K,RP+TJ?&N;BBGRKBZH9T$UX(Y:J"0)T6X[$*?!.OJ!@T;Q[*9?O#=)+A4 MK;\.:L_ QI],?))0C)-@2TU.2BA(;/S(T!<[[B&W=^^#5&7DOU<9^8-P+R5_ M(-*\2.BX24E RH2?VXZ'W'H^9:1#;E:D](?=JCN?5EG$1"U%[ \E,")6( M6*T&)]OG(I5Z4\BN[DK(MI>)?#%YH?,4'MR[%4FN-T7.FP^R"76/0GDY14,W MC/WX ^[A/ZC**TVCV8/<89>T^/%,+ND7A(DB7;GC5P"6[Z#>D20V*F4XC3[E MFL"NT9]_F'V,;PJ8BW90;^;W KNS/:#^\0?BV3C[D233;L6J.AHXNU'O0U/MQ[D#M,W5A2)AHGCL_P,=&80RD:L*A2*%U7> ML=R03W<+J-9KH"T[1=D1N"RN0W9"%UQ(-A*J&V+8@I4)#=2DN%[J\LI)+DTZ 8[K3KHC]?O[4)R\QD/ M616@79+B#@/#6KLNW6.OIK#N!F50'>^@/,A[0POOR8K'4G%.R]??*'%30>]6 M'<6M"INEW(B 3-9/:K!DH?.;ZM\+MZ/JH'*"V1W"&/R8 [UF_A:3G Q3PL*_41=P995UHGZ>*V:,D9SCZ7ABD9Y M3 /&@@<2Y^5Y5W76]:^:5LFJP0@U==%A.UT1L92O@I_R-)/?GS^J6*!N M6%O:0H?]3.[/84'%.\%]6QT?0IT_U:3JX2%#X#C6B]F2-L.LLG>'C.(.,7PI MO,]DG*R;I,O(1> 3\2)TO7==^;"WKW@W0MFB+U[P6S] MJ573)NIQL*"D3=3AT$U?&\VF+B=WRF,6%<<:[LL1%Z3J"BP#NSB@D>%MVV A MO'W:VZ=- _8+=\><;-76H[^?55_8C?1R 8SV;N]K!: OC_/(Q+[KLAE9EU9< MX(VB8DDD\9RPZ#(Y)1N6D5@*O.9)$930!!%1:+HJ1 MKR)$M7/:H"827,";XDVJ.D"VLS*5&Z_<;_<8A^SZ!E# 6@[P7"@UAEY)*B&% MRTBR9)+^E8MO,QQ8)0=H/G >?67/%IM7(]&LE*FWGK3 M%*^]@@L4/%G>4;$^H_E'ZPUH$KROJXM@SZ!JFUZ>:#>YNPH#F[5U$,$!-=Q@YQ'2CLA!= M+SZGY8X/PM-0Q]4A^XJJM+X375E7LN\S1Q ;04'*.:B(L.MBIJFI!NY-X3M MO#R2,^P-#_UB95#3"2XNYVJV5:=."S>6I#\;I=HW,U1(%3<)(RA[4/;KM%5_ MUI9U(GM&U!'@0]Z$BV&6 3ES4ZDFVX M"-D9NN/1[6YK[%5C 4ZKFT&L-49@XYF6YF*/0G<>"3<#*U1\"D^*F[X:H$A M#_A(>> 4'*'8;[)R*XD;DEM"YMN(($)R0E(5 \5^412#[&8MSN60!I7]5VL7A M3B%9R5SP16,L=$T))T<\=Q1*7=-0:K"Y[,KKI\V@O,;BR1Y#T_-'.; EMV ) M$=M"=51V"V4AY[$4<'F99%30M/G$Z.!/=-:/4MHJ.*6Z'4O;!XVEGVAYFV:5_:&>@SS4\P=5T7DTFCW(0;"D MGW)EV;A>5.2Q()+I=9Y)+3E1P[X!3L=6\.!](V*+IM.U&<2(=9I1IS;\,2E_ M3,H?D_+'I%Y!ZLVP$/KJ(+BA!CZ$OCD(O$93#D+G&VCF=6#'"'UMH&LZVS13 MA$XV\/6C0'4570 @#**Q(0==(" 4I\;HAB[<#XII)",POA!!DPYJL1#CBPN$ M@=,8,/%%!,(@P=Q_Z.+D6L760*Q1>-'1\C[X:IV(4(38*&H_HPVZ<=L93H,LP>.M-@&W+ MG2^ &MZ1WNZ0KNE&%="=T*CB_BIK1CJ+_LQ+I7?7QW,NBFTGRP2[SS-E*[WC M<]*6:77 QR'J0?5B5=ZFBYA__8U&2_I!SG[UY6PAM<4;&L8D3=F"A>7]<8FR MN';JN_X/0M9K]H>78:O3ZX\6OZGEUGU0@MN@!._&]6Y<[\8]2C=N?_LE-O/E M('L3.JN1;92 #K3+J='-%P<]:HMIHYNICOIRJ$$XG@5\P(X#VS9&LW\F/*/! M^R#-UVLBMLH(F+)E4HQW^2LI,XZQ9!EL>,Q4(HK]HJ3,UA7$ST=O)0/)"(L- M3K0.+<'P%M5Q$'C3Z[&87M_.%O7-Z]QXVX\OUK!*!$!)!SIS)= )3_(4>)MY M?5EWLD_]-G8ET^^D9#$@ V%'4A_0B3/#>GMBM+LBE=$[.WL@Q9'@J!V>8-7 MF#8*:\MVG]N,!7LH E#!4QM2Q0&2"Y:H;C:Y0Q)2Q97%W'3!A57R]NW#/'3' MQ1- 4,:GJ[_:! P!LW-]\@)^>?,&,QZ&RB@/?"#;045,X8 MN^.TEZ_&$F#O3_/^M,/SIP$L".BL]4;(M*HY.GLZ#!IA;1[40FVLY#&Z-!YJ60WIH$D-\&].FX1D"22%*1!\K0XF M!*0\F:#"WM>2,*3J2$+ GX\D! LN5+A\=9BP:B2MOI$-/*]S#783)N&.6O&L/K] M$-SGJ90Y394%YYXEE2E&]@%)EDSN P$I;FH/2/A7S@2-.MKB^C]H) N9+4&] MW>I8[%8- >4G)/P2\V5S''EM 0L/5IE '\AJ)DF>UQ.G4VQ8,8:V0RJ.0G[+N?_A5I]Z!5[4!H>$"4%P=IV,FHA_?6D7 M:8^J%-PW-"YWYQ7;I+7+B$$--Z'E3=/\9/N1_,G%J3H?JWDW'5K A?-9QD]D MK9]9'5LY%KP(UI52XKA.XMW.]DX+%E;5 ;*YU!&23+_&U);QCJV#=&S="1)1 M-??T0Z*IF"N)UY)0JTL=3,1OJ^-=+^,5 K M+3JH%B: 0M%Y]2W!;\OXO&<^A80:Q1I='[\'G#;G$#C#F8? .8#P XO ,R> M0PW=U@(^%VEH5\41@+(17!T=6I.G TMVXTY:VW<<;@*4ST>9''F4B;*%Y"F1 MS+A4$?3!%,TED7BA?=2 CQH847YU#_2%6F4A!]>,ZR/#6-UGW@'=JYK>I^DO M,_%>-51>->]%ZN1%:N-#J P6WG'D+4_>\C05RY,QGYJH@:DC*Q[7RO3W@"6R MRR654GEMU$6\/*'5M;S[OW2S,75L?20+4R_IO'WI6.Q+EE2>RVI$;97A.5W1 MZ /G47FQSPU-J7B@39J;04V7N*1 ;0#VBKB4](9\_2A7 L%(;/8"6BNZ1'6; M;S:Q7*^,$&DKN42CLCI>)G*_#&EJ!JF]IC?3>#,->C.-5_Z\\G=XRI_I5CI1 MW<]X,T(7K6:($TI-T86I&>($\"4@1&S999I)^K@6B1]5A(?<^K)MD1*7[DXP M/'^]B8N\O"]^[&:?L/*LD:P5%F7UMHMCL5TTQ,8\'0OZ+(>!V+\AH#E*!EK' M1NA.-:+5/>/9+(F>'BV7IO/',,Y52J]3GJ1RQ0S5_"IVV*6@;R(4;#7G)(E* MF*_S6*X!T1G="!JR\A(?*I>98BM)HME:70?]K^+[1I -6IOMYIV$=+!8O3KM M2=WZ0BY2<]0.,'UN#D 5!TBNY!9SN9;;SD.Q/>DQZ N[D%XM62L>&T!HK^$ MQT<2KB2?$]O]V:C% :CA(H%$T\IRLKV3TF@"Z0QJ8L+U031'TL$J84+3;/6' M5,&$1(T9;2BJ05!&7Y(8XB*'.Z%ZW1%=(Z(KH,:JLR@\TAT! S6>M"Y)@P!=[#2H7-5='S' M<$.)#^#V/GPSQ-Z'#^8)-48*=-LF^"+: :SCZ+94?6?8=9Z@VUY[#G;';O)? M@ECMZNGN'SE&50]&@5R:LY6Z=C9)>Q(K'A"D*TJ[^LKM/7 DA[EM M@;W7_,B]Y@6-?KI:OL[37%_"UJ-O5#J>Z\7GM$Q3TRA 0SF+COE6EQ.PM NG M<3G1;]4\OU(/;DG6T%(<"0)]"HW6"M-&@< YL:]H-ZT0H+*.9=C.W-V(=GQ@:SV(G:L VXX10-T]908;,X _1#='[; M+B.R'S8L5YBWVOUV[J76U79W9.97SO@'!F]^=F^\TPC87=&'R6LD7?$?% MNDWJYH+>O'B0%[G^3@13(K0-C,9RWB3JS2[>[.+-+G"S2S/;F*@)!LP6)V: M@5*9B5I@VKC.1,TO+3OUQ PO+=S?J=E%SO1U6F3BB5@:\EP6D_-$_KS@HBH2 M5]:B[LF5K3[3C2G'ALS>Z..-/IV-):^N.#RK1N&-'(1SR;V;T^=T:P07VANJ M1LIN]U;[W3MSM)I&G!MA.K_=KLU@0PQ_PUV;\<8?'UOF#2G>D.(-*4Z-"Z8+ M]D3M*?UVJ8D:6?I0S8D:8/KQ+T>J/\]65 0L*2ZG5@\+!"U.$ <9#_@.4:'M M+LI7NJO94_^W]N"QC0"6!?>6 &\)Z!W^,2=;-5*O$Y-C7.V5':.;"Y:$;$/B M2L(FE0E4Q[F6VP)"7]B!]*_<7-?WCU;@]I M'YB=X+/0HK=>>.N%MUYXZX6W7J (C6BC3P=AM:CG(P=@FVCABQ,U15CB6A,- M&;'&L<:UR?P:+ @3P0.)Y*RKK::\00:R88S-B!OV_&V'2.-I5BOT@LYTGY7 TT9C>6**D=@@_+2 M6MX!AC.ZH$+.F5.^5C&C9:K)F"2EK U 8)6R:LBZL?[N1?+)]^O,W)G=J$:ZV5_2!QIJL9V:57:*[3#9YEA8BO=->?@2H M@03'>V,<[U'B^,$8QP]X<'S;D#I]N+J>J&-D: RSH\\XC&D/W,U&&II'3H;^"#0:YG@ MN&_=N]V\V^WPW&XFUB%T2PT4HLZ -%%'&] \.5$G&\!X-JX#Z=W[(%T10>^) M[)T@W)LLC=_3\EQ_1P>1O0>.Y "R+;!W\'@'CYF#)RX>1Z-;-=Q.U'#;W]3T M:=S,*CM IQ(:7"]N24Q3K1FUL9P#F2\3.=WI\XK??KL*H 8>'%I#**C.(6#! M8,2EL6QT^8$F4K>,U55\T5KN;&DF"@I135[]O.G4AC=8>X/U@1BL(2LO[[2\ M3=8J#=Z,T)FB86^'@UD#*K/4$"-V(E9EX_?:8U?SQE5O7/7&U9Y&N@Y:YSEZQ[[<_]+8IP23Y M?-L@R?,/>.QN^"0Z'DM@*K(]35-^>JUERJ\DTRDVK0]/TXS$M=T(*CLEF>W; M7V"R[U;$?8EJ1@:HK(OCY^7Z?2$7[5.Y9@L29G^P;'6:IYFDV$(R[3B/Y#*N M_&SRO^B./#:8+7JTY.U'WGXTB*5DN11R@!;1-WSQ_$M? PZX MZ?$--(:B^;"CXS8V>$72*Y)HKMR[8VOYOJ\7=X(DZ8**Z\4'SJ-K<4O% PNI M)I#*H"8^7-I@)*.ZAX@-0<#53CY!HUDVYY)K7292=JJ-L()5$)5^GWYZ;G4 M4\H5"7=037<061PIP@-B\7KRL>C);V>0^N8I_=H%C=0)W6(]FR61.MFKCNM6 MJ_#3PE2=&#RAB1SQKS4Z>PVZR&^32ZF3K!*[#:IA+8=XROXVQ=-2RQT>V$@T MJ^0.S8O980@*5M?A)2'5I#![8V:57:(S61F[57:([L7@ZH;1I EG!CHH*'SR M>].:-ZUYTYHWK1V[:'_B@2^D=+CUN5 %PL:JDR"^[9P M(:NH2WQY$K*8E<.@G[C>-W LO@%+ROWY;K@]+1PW9HA[ZJS3 M?'@J]?D&N]9[]B*=QEX MEX%W&7B7@7<9N+-KV.H61>+G.W@'.!Y@318$ MQP,L8_$N@&-Q ;0<#]BQH%V&C9(2?:+:(P"ME080\$Z02*Y<(64/2E\!2MA< MRZZ(>Y>)F_8DI*H#Z\P)B145OEU1"KE?MZTX$@3:)(GM%::- D%^Q]VX?^(W M3;,$7@$#BKTY#,514P49$H.74E_+(9ZG@?)!\+3MG=07QB#]9?(@:1X76RB" M-Q4PH&@?2,CF]9,XE;Z5+-41[U,BQ';!Q55S6/_KL]9$E4FD/1<*JA\2W/W95E\T MM8NF3^:";@C;K3EFN!OJ(L*F4G1DV[G4QC+YA M&%':;/:-Y7R$C(^001\A [LIH-7LQ>+M(1:-=Y]PX+$^H>% -%BICD MF-O[H*"Q4)^!3-C0;D#,COIX-:#P$9,EJ$$?"A4+5S(/^X$B1$R5>F/#RI7: M@L^@^+ 2)E <%YXS!L5!+G6-7) G*M_-,F'_JF+@[RL[R "G"3H\%<&Y@7D8LE27:Q_#H*N++7%Y=J";I2$_>ANF]ZCQN#RG?4(\:19BS]8DPT7N_P>H<1IYP] M#[7"2W>Z/]">+V@\4U."[@(GYN5F/DO*.G()RP3-F"A&O3*^*_O']4*N;@UT M$;=P2>J%?;:U286GFF%N8RL]/X<5.M!P)(%%^ORTH?] MOP4ME;",!Q+,_K714DM3WRB]C"3;=/=3LMRUV5GY'5>JL91@%ZB\,GPLRG!# MBJGS9"G7*EI<0T5I/!$C2[#)9"/F/R,-,/DD% MKCW+L$W54MLL;L:VT!_>=G[X_Y6+#U?50GWAR6VXXVI/;K>6=G+*7+"QDNP-0 MLS47&?M7\;$!!:"& QQ%N/U<\.:;A6I*N#CEOZ,HU0!H.>NO+^U _CG9%H+< M\5GX5RXU--.$#.8-.$!Y0Q]HDE/EE-O%R?_!LM5IGF923Q%278GS2+X6M03) M_Z)F V:/EER8 \MAIDV$6%MF"K(BV,^>5.63/)4D+$UW\UJ3 A14QQN\O<$; MO<%;#P1 ]KD)Q<:$S6PN<]!B.SEG!52;&_G%-1LX06.-&[(U5!Z9_G/N0+*7 M=-ALT0Q3_5K!NUFO4 U3.\LGAJ':^S7VLNJAP6JZL@(M)^.Z [W_WOOO#\]_ MW]M@,5&??*-Y<*+^=K"9%H@/VV'_KG9$(%QLA_OU>1I&B8KX)?@K)R*C(MX& MB'I*8QJJ[YX+2Z%((H=B7%;K&/XPT./'BG,85'P?T. # M&GQ PU !#<9&YG,B$DF1TCD5MRLBZ E)6=A@:]:612#[&8MSN2 !I7]5VCN" M&^7\1+/GJ,<&26O+>', M=UMXMX5W6WBW!4ZWA4;EG:BC F#@F:A/ F3\&RUY, _I7+M=ZN/>A6[O#NQ7ZR-7!7V!X_.CI,//Y8D'#K,QJ=;V817Q3 MC.KH3[DR-YZ8Z=/$6 >LVL1K.,YF4 T)DN:#8T85#P,- JO9+ QYGA1QIAE) M(G4!SN>-6@;>?__N[]__JCU09%079Y:D-GQF]5U@C*)B_2?QG+#H,CDE&Y:1 M6(\+4L<)EMTBG%YP\8E^?1Y@DI0F\L^0MEET.[7A%NL=;W@A!0^Z)Y*<[=\L M=Z/VX)1E]):*!Q;2XW);]ITQ;T*OF1RF_T/,MW&7#F*F!/$L(L$^P^ MSY2EYH[/Y3QO/%H[].,0]>";[$DO[\A3FN M#E5M00=2W\E'/IL_M'N(KNCT)#=AN<@#*+J9'-'$4'2P,D)!:ZW'S@*!&@]I MF[Q#8!?@";^P&"G4PYB$9M2#5E7>RZB+:H#W>W>\RV(^N9/"'90&=.-9;P[C M8'L?RL$+>S&\DX$-74P.^$T:^"W0!>" 04(L*.C"<>"OL)M+S5D(H":6>I - M!C]L.TL37IS#$F2[>X^/ QTV)JW%*(QNDX&^*+U="-WN%GP@[I^G@1MLP@?"_@49[''C>48+OS:ZTE2\FM-([HVU)=98 M.66